Getting started: Analytics
Thryve provides a broad variety of analytic indicators. This encompasses health status metrics, health metric dependencies, time pattern analytic indicators, all of which are presented in detail in the following chapters of this documentation.
Important Note: >
Source "Multiple" is the product of Thryve interpretation layer which automatically takes values into account of all datasources available for this user. A good example is the evaluation of ActivityLowDuration, ActivityMidDuration, or ActivityHighDuration, which takes all MetabolicEquivalent entries across data sources as input. If conflicting values are available for a given time, the engine will pick the higher value.
Activity Metrics
Thryve calculates activity metrics using a wide range of activity biomarkers gathered from sensor data provided from data sources. The Thryve indications are based on well-established algorithms from sport academia that have been carefully tailored to the data structure offered by fitness smartwatches and wearables.
FloorsClimbed
Daily data available for: Garmin, Fitbit, Withings, Apple Health, Runtastic, Strava,
Intraday data available for: Garmin, Fitbit, Apple Health, Runtastic, Strava, MyFitnessPal,FloorsClimbed
Input: ElevationGain
Calculation schedule: daily
Calculation method: A floor climbed is equivalent to 10 feet (3 meters) in elevation gain. The calculation method is based on best practice, also used by Apple Health or Garmin Health.
Daily | FloorsClimbed | number of staircase floors climbed | DataTypeID: 1002 | LONG |
Intraday | FloorsClimbed | number of staircase floors climbed (in this timeframe) | DataTypeID: 1002 | LONG |
Health Status Metrics
Thryve derives important health events and risk stratification measures from incoming sensor data. The following Thryve indicators are based on well-established algorithms for clinical use, carefully adapted to the data structure provided by wearables and home diagnostics. The availability of interpretation indicators depends on sufficient user information.
MetabolicEquivalent
Daily data available for: Garmin, Fitbit, Polar, Withings, Suunto, Misfit, Apple Health, Google Fit REST, Google Fit Native, Oura, iHealth, HuaweiHealth
Intraday data available for: Garmin, Fitbit, Polar, Withings, Misfit, Apple Health, Google Fit REST, Google Fit Native, Strava, Suunto, Oura, HuaweiHealth, Runtastic, MyFitnessPalEpoch MetabolicEquivalent
Input: User Weight, ActiveBurnedCalories, BurnedCalories (if ActiveBurnedCalories is not present)
Calculation schedule: every 2 hours after the retrieval of input data
Calculation consideration: default weight is set to 75kg in case no user weight providedDaily MetabolicEquivalent
Input: User Weight, BurnedCalories
Calculation schedule: daily
Calculation consideration: default weight is set to 75kg in case no user weight provided
Daily | MetabolicEquivalent | ratio of the rate at which a person expends energy to the person's mass | DataTypeID: 1012 | DOUBLE |
Intraday | MetabolicEquivalent | ratio of the rate at which a person expends energy to the person's mass (in this timeframe) | DataTypeID: 1012 | DOUBLE |
PhysicalActivityIndex
Daily data available for: Multiple (Taking into account all connected sources)
PhysicalActivityIndex
Input: ActivityLowDuration, ActivityMidDuration, ActivityHighDuration, ActivityVeryHighDuration for the last 7 days
Calculation schedule: daily
Calculation method: Activity Intensity (low,mid,high,veryhigh) x Activity Frequency (days of activities) x Activity Average Duration Index (based on averaged activity duration)
Calculation consideration: PhysicalActivityIndex is only saved when the value exceeds 0
Daily | PhysicalActivityIndex | PA index | DataTypeID: 1013 | DOUBLE |
SleepQuality
Daily data available for: Garmin, Fitbit, Withings, Misfit, Apple Health, Oura, HuaweiHealth
Daily data soon to be released for: SleepAsAndroid,SleepQuality
Input: Sleep Duration, Sleep Latency, Sleep Interruptions, and Sleep Efficiency
Calculation schedule: daily
Calculation method: Pittsburgh Sleep Quality Index - PSQI
Calculation consideration: SleepQuality is only saved when the value exceeds 0
Daily | SleepQuality | sleep quality index scaling from 0 to 100, where the values above 77 signify good sleep quality, while those below 77 signify poor sleep quality. | DataTypeID: 2201 | LONG |
SleepRegularity
Daily data available for: Garmin, Fitbit, Polar, Withings, Misfit, Apple Health, HuaweiHealth
Daily data soon to be released for: Google Fit REST, Google Fit Native, iHealth, Oura, HuaweiHealth SleepAsAndroid,SleepRegularity
Input: SleepStateBinary and any kind of daily sleep data that are labelled with Trustworthiness=Plausible
Calculation schedule: weekly
Calculation method: Validation of the Sleep Regularity Index in Older Adults and Associations with Cardiometabolic Risk
Daily | SleepRegularity | Established Indicator describing the likelihood that any two time-points 24 hours apart were the same sleep/wake state, across all days. | DataTypeID: 2220 | LONG |
VO2max
Daily data available for: Garmin, Polar, Multiple (Taking into account all connected sources)
Daily data soon to be released for: Apple Health,
Intraday data available for: Polar, Apple Health,VO2max
Input: WaistCircumference, PhysicalActivityIndex, (HeartRateResting or HeartRateSleep, using the latest value for calculation)
Calculation schedule: daily
Calculation method:
(1) female vo2max = 74.74 - (0.247 _ age) - (0.259 _ WaistCircumference) - (0.114 _ (HeartRateResting or HeartRateSleep)) + (0.198 _ PhysicalActivityIndex)
(2) male vo2max = 100.27 - (0.296 _ age) - (0.369 _ WaistCircumference) - (0.155 _ (HeartRateResting or HeartRateSleep)) + (0.226 _ PhysicalActivityIndex)
Calculation consideration: SleepQuality is only calculated when there birth date is present. Moreover, gender isn't present, male is taken as assumed value.
Daily | VO2max | maximum cardiovascular oxygen intake in mol per minute and kilogram of body weight | DataTypeID: 3030 | DOUBLE |
Intraday | VO2max | maximum cardiovadcular oxygen intake in mol per minute and kilogram of body weight | DataTypeID: 3030 | DOUBLE |
FitnessAge
Daily data available for: Multiple (Taking into account all connected sources)
FitnessAge
Input: VO2max, Age, Gender
Calculation schedule: daily
Calculation concept: derived from Firstbeat Technologies whitepaper
Calculation consideration: If the gender isn't present, male is taken as assumed value. If the age isn't present, 40 is taken as assumed value.
Daily | FitnessAge | age-equivalent of cardiorespiratory fitness level | DataTypeID: 3031 | LONG |
VO2maxPercentile
Daily data available for: Multiple (Taking into account all connected sources)
VO2maxPercentile
Input: VO2max, Age, Gender
Calculation schedule: daily
Calculation method: based on Cooper InstituteĀ®
Calculation consideration: If the gender isn't present, male is taken as assumed value. If the age isn't present, 40 is taken as assumed value.
Daily | VO2maxPercentile | percentile of VO2max in relation to age and gender specific overall population | DataTypeID: 3032 | LONG |
FraminghamRiskScore
Daily data available for: Multiple (Taking into account all connected sources)
FraminghamRiskScore
Input: SmokingStatus, Gender, BloodPressureSystolic, FamilyCVDHistory, HighBloodPressureTreatment, DiabetesStatus, BloodCholesterolHDLC, BloodCholesterolTotal
Calculation schedule: daily
Calculation consideration: If any value is not present, the followings values are assumed: BloodCholesterolHDLC=1.25, BloodCholesterolTotal=6.0, Gender=Male, FamilyCVDHistory=False, HighBloodPressureTreatment=False, DiabetesStatus=False, SmokingStatus=0
Daily | FraminghamRiskScore | Estimated individual risk for cardiovascular disease within 10 years | DataTypeID: 3040 | DOUBLE |
FatalCVDRiskSCORE
Daily data available for: Multiple (Taking into account all connected sources)
FatalCVDRiskSCORE
Input: SmokingStatus, Gender, Age, BloodPressureSystolic, BloodCholesterolTotal
Calculation schedule: daily
Calculation consideration: if Age or BloodPressureSystolic is missing, FatalCVDRiskSCORE will not be calculated. If any value is not present, the followings values are assumed: BloodCholesterolTotal=6.0, Gender=Male, SmokingStatus=0.
Daily | FatalCVDRiskSCORE | estimated individual risk for fatal cardiovascular disease within 10 years | DataTypeID: 3041 | DOUBLE |
ThryveFatalCVDRisk
Daily data available for: Multiple (Taking into account all connected sources)
ThryveFatalCVDRisk
Input: fatalCVDRiskSCORE, Age, Gender, VO2max
Calculation schedule: daily
Calculation concept: The job compares user's calculated "expected VO2max" based on his/her age & gender to user's current VO2max, and verify if user is fitter then expected or not. If user is fitter than the original ThryveFatalCVDRisk is lowered, and vise versa.
Calculation consideration: if fatalCVDRiskSCORE, age or VO2max is missing, ThryveFatalCVDRisk will not be calculated. If Gender is not present, male is as a assumed value.
Daily | ThryveFatalCVDRisk | estimated individual risk for fatal cardiovascular disease within 10 years adjusted for cardiovascular fitness | DataTypeID: 3042 | DOUBLE |
AtrialFibrillationDetection
On request: Thryve WearOS SDK
Daily | AtrialFibrillationDetection | atrial fibrillation detected on this day | DataTypeID: 3120 | BOOLEAN |
Intraday | AtrialFibrillationDetection | atrial fibrillation detected in this timeframe | DataTypeID: 3120 | BOOLEAN |
AlcoholConsumption
Daily data available for: Fitbit, Garmin, Withings, Oura
AlcoholConsumption
Input: HeartRateSleep
Calculation schedule: daily
Calculation method: HeartRateSleep values are divided into 4 segments. If one single segment is higher than the average of the remainings, then it indicates the assumption of HeartRateSleep anomaly or AlcoholConsumption status
Daily | AlcoholConsumption | Metabolic stress during sleep detected | DataTypeID: 5010 | LONG |
Health Metric Dependencies
The Linear Analysis information provides specific data objects that show the results of a multiple regression relationship between a dependent variable and (an) independent variable(s).
SleepQualityLinearAnalysis
Linear analysis data available for: Multiple (Taking into account all connected sources)
SleepQualityLinearAnalysis
Input: MetabolicEquivalent, Steps, SleepQuality, SleepStartTime
Calculation schedule: daily
Calculation method: Multiple Ordinary Least Squares regression of Temperature, AtmosphericPressure, Humidity, Precipitation on Sleep Quality over the last 3 month
Calculation consideration: SleepQualityLinearAnalysis is calculated if there are at least 7 days of input data available.
Daily | SleepQuality LinearAnalysis | Multiple regression of steps, MET and SleepStartTime on Sleep Quality over the last 3 month | DataTypeID: 2201 LINEAR ANALYSIS | LINEAR-ANALYSIS |
Exemplary response of SleepLinearAnalysis
[
{
"authenticationToken": "de3d1e068537dd927b48988cb6969abe",
"linearAnalysisValueType": 2201,
"linearAnalysisDataPoints": [
{
"day": "2020-02-04",
"rSquared": 0.970878538711407,
"observations": 85,
"intercept": {
"coefficient": 125.2378239778454,
"pValue": 0.0480973404337266,
"tValue": -0.6552159883329547
},
"independentValues": {
"1000": {
"coefficient": 0.85518445980535552,
"pValue": 0.0851578968972283,
"tValue": -1.185613161444076
},
"2100": {
"coefficient": -0.04654554479861737,
"pValue": 0.0491748019982656,
"tValue": -4.862520257848463
},
"1012": {
"coefficient": -0.2777602724037002,
"pValue": 0.990284266498321,
"tValue": -0.012227181158034258
}
}
}
]
}
]
SleepQualityInterdependencyWeather
Linear analysis data available for: Multiple (Taking into account all connected sources)
SleepQualityInterdependencyWeather
Input: Temperature, AtmosphericPressure, Humidity, Precipitation, SleepQuality, Latitude, Longitude
Calculation schedule: daily
Calculation method: Multiple Ordinary Least Squares regression of Temperature, AtmosphericPressure, Humidity, Precipitation on Sleep Quality over the last 3 month
Calculation consideration: SleepQualityInterdependencyWeather is calculated if there are at least 6 days of input data available.
Daily | SleepQuality InterdependencyWeather | Multiple regression of Temperature, AtmosphericPressure, Humidity, Precipitation on Sleep Quality over the last 3 month | DataTypeID: 2204 LINEAR ANALYSIS | LINEAR-ANALYSIS |
SleepQualityInterdependencyConsumedCaffeine
Linear analysis data available for: Multiple (Taking into account all connected sources)
SleepQualityInterdependencyConsumedCaffeine
Input: ConsumedCaffeine, SleepQuality
Calculation schedule: daily
Calculation method: Multiple Ordinary Least Squares regression of Temperature, AtmosphericPressure, Humidity, Precipitation on Sleep Quality over the last 3 month
Calculation consideration: SleepQualityInterdependencyConsumedCaffeine is calculated if there are at least 6 days of input data available.
Daily | SleepQuality Interdependency ConsumedCaffeine | Multiple regression of ConsumedCaffeine on Sleep Quality over the last 3 month | DataTypeID: 2205 LINEAR ANALYSIS | LINEAR-ANALYSIS |
Time pattern Analytics
UnsteadyHighActivity
Daily data available for: Multiple (Taking into account all connected sources)
UnsteadyHighActivity
Input: MetabolicEquivalentHeatmapAverage, MetabolicEquivalentHeatmapStandardDeviation
Calculation schedule: weekly
Calculation method: Sorting and assigning ranks to the activity hours of week from (1) highest to lowest MetabolicEquivalent average, and (2) from highest to lowest MetabolicEquivalent standard deviation. The top 3 ranked timeframes are then classified as the time windows that the user is most likely to act on activity.
Daily | UnsteadyHighActivity | list of times at which the user is most likely to act on activity promotion messages | DataTypeID: 1501 | STRING |
Sample response: 'UnsteadyHighActivity:Sat 18:00, Mon 08:00, Fri 13:00'
PeriodicalHighActivity
Daily data available for: Multiple (Taking into account all connected sources)
PeriodicalHighActivity
Input: MetabolicEquivalentHeatmapAverage, MetabolicEquivalentHeatmapStandardDeviation
Calculation schedule: weekly
Calculation method: Sorting and assigning ranks to the activity hours of week from (1) highest to lowest MetabolicEquivalentHeatmapAverage and (2) lowest to highest MetabolicEquivalentHeatmapStandardDeviation. The top 3 ranked timeframes are then classified as the time windows that the the user regularly engages in physical activity.
Daily | PeriodicalHighActivity | list of times at which the user regularly engages in physical activity | DataTypeID: 1502 | STRING |
Sample response: 'PeriodicalHighActivity: Wed 12:00, Thu 13:00, Tue 18:00'
The Weekly Rhythm Heatmap information provides the likeyhood of an associated activity e.g. Steps, Sleep, or Metabolic Equivalent over the circadian rhythm within a week of every single hour.
StepsHeatmapAverage
Heatmap data available for: Garmin, Fitbit, Polar, Withings, Misfit, Apple Health, Google Fit REST, Google Fit Native, Runtastic, Strava, Samsung, Runkeeper, Suunto
StepsHeatmapAverage
Input: StepsHourAverage for the past 12 weeks
Calculation schedule: weekly
Calculation method: average of all input values
Intraday | StepsHeatmap Average | average steps per for weekley heatmap | DataTypeID: 10011 | HEATMAP |
StepsHeatmapStandardDeviation
Heatmap data available for: Garmin, Fitbit, Polar, Withings, Misfit, Apple Health, Google Fit REST, Google Fit Native, Runtastic, Strava, Samsung, Runkeeper, Suunto
StepsHeatmapStandardDeviation
Input: StepsHourAverage for the past 12 weeks
Calculation schedule: weekly
Calculation method: standard deviation of all input values
Intraday | StepsHeatmap StandardDeviation | standard deviation of average steps per min for weekly heatmap | DataTypeID: 10012 | HEATMAP |
MetabolicEquivalentHeatmapAverage
Heatmap data available for: Garmin, Fitbit, Polar, Withings, Misfit, Apple Health, Google Fit REST, Google Fit Native, Strava, Suunto, Oura
MetabolicEquivalentHeatmapAverage
Input: MetabolicEquivalentHourAverage for the past 12 weeks
Calculation schedule: weekly
Calculation method: average of all input values
Intraday | MetabolicEquivalent Heatmap Average | average MET per min for weekly heatmap | DataTypeID: 10111 | HEATMAP |
MetabolicEquivalentHeatmapStandardDeviation
Heatmap data available for: Garmin, Fitbit, Polar, Withings, Misfit, Apple Health, Google Fit REST, Google Fit Native, Strava, Suunto, Oura
MetabolicEquivalentHeatmapStandardDeviation
Input: MetabolicEquivalentHourAverage for the past 12 weeks
Calculation schedule: weekly
Calculation method: standard deviation of all input values
Intraday | MetabolicEquivalent Heatmap StandardDeviation | average MET per min for weekly heatmap | DataTypeID: 10112 | HEATMAP |
SleepLikelihoodHeatmapAverage
Heatmap data available for: Garmin, Fitbit, Polar, Withings, Misfit, Apple Health, Google Fit REST, Runtastic, Strava, MyFitnessPal, Samsung, Suunto, iHealth, Oura,
Intraday data soon to be released for: SleepAsAndroidSleepLikelihoodHeatmapAverage
Input: SleepLikelihoodHourAverage for the past 12 weeks
Calculation schedule: weekly
Calculation method: average of all input values
Intraday | SleepLikelihood HeatmapAverage | Heatmap in hourly resolution showing the likelyhood to be asleep for every weekday | DataTypeID: 22301 | HEATMAP |
SleepLikelihoodHeatmapStandardDeviation
Heatmap data available for: Garmin, Fitbit, Polar, Withings, Misfit, Apple Health, Google Fit REST, Runtastic, Strava, MyFitnessPal, Samsung, Suunto, iHealth, Oura,
Intraday data soon to be released for: SleepAsAndroidSleepLikelihoodHeatmapStandardDeviation
Input: SleepLikelihoodHourAverage for the past 12 weeks
Calculation schedule: weekly
Calculation method: standard deviation of all input values
Intraday | SleepLikelihood Heatmap StandardDeviation | Heatmap in hourly resolution showing the standard deviation of sleep likelyhood for every weekday | DataTypeID: 22302 | HEATMAP |