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.

DailyFloorsClimbednumber of staircase floors climbedDataTypeID: 1002LONG
IntradayFloorsClimbednumber of staircase floors climbed (in this timeframe)DataTypeID: 1002LONG

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, MyFitnessPal

Epoch MetabolicEquivalent
Input: User Weight, ActiveBurnedCalories, BurnedCalories (if ActiveBurnedCalories is not present)
Calculation schedule: every 2 hours after the retrieval of input data
Calculation method: based on Mifflin-St. Jeor Equation
Calculation consideration: default weight is set to 75kg in case no user weight provided

Daily MetabolicEquivalent
Input: User Weight, BurnedCalories
Calculation schedule: daily
Calculation method: based on Mifflin-St. Jeor Equation
Calculation consideration: default weight is set to 75kg in case no user weight provided

DailyMetabolicEquivalentratio of the rate at which a person expends energy to the person's massDataTypeID: 1012DOUBLE
IntradayMetabolicEquivalentratio of the rate at which a person expends energy to the person's mass (in this timeframe)DataTypeID: 1012DOUBLE

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

DailyPhysicalActivityIndexPA indexDataTypeID: 1013DOUBLE

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

DailySleepQualitysleep 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: 2201LONG

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

DailySleepRegularityEstablished Indicator describing the likelihood that any two time-points 24 hours apart were the same sleep/wake state, across all days.DataTypeID: 2220LONG

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.

DailyVO2maxmaximum cardiovascular oxygen intake in mol per minute and kilogram of body weightDataTypeID: 3030DOUBLE
IntradayVO2maxmaximum cardiovadcular oxygen intake in mol per minute and kilogram of body weightDataTypeID: 3030DOUBLE

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.

DailyFitnessAgeage-equivalent of cardiorespiratory fitness levelDataTypeID: 3031LONG

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.

DailyVO2maxPercentilepercentile of VO2max in relation to age and gender specific overall populationDataTypeID: 3032LONG

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

DailyFraminghamRiskScoreEstimated individual risk for cardiovascular disease within 10 yearsDataTypeID: 3040DOUBLE

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.

DailyFatalCVDRiskSCOREestimated individual risk for fatal cardiovascular disease within 10 yearsDataTypeID: 3041DOUBLE

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.

DailyThryveFatalCVDRiskestimated individual risk for fatal cardiovascular disease within 10 years adjusted for cardiovascular fitnessDataTypeID: 3042DOUBLE

AtrialFibrillationDetection

On request: Thryve WearOS SDK

DailyAtrialFibrillationDetectionatrial fibrillation detected on this dayDataTypeID: 3120BOOLEAN
IntradayAtrialFibrillationDetectionatrial fibrillation detected in this timeframeDataTypeID: 3120BOOLEAN

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

DailyAlcoholConsumptionMetabolic stress during sleep detectedDataTypeID: 5010LONG

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.

DailySleepQuality
LinearAnalysis
Multiple regression of steps, MET and SleepStartTime on Sleep Quality over the last 3 monthDataTypeID: 2201 LINEAR ANALYSISLINEAR-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.

DailySleepQuality
InterdependencyWeather
Multiple regression of Temperature, AtmosphericPressure, Humidity, Precipitation on Sleep Quality over the last 3 monthDataTypeID: 2204 LINEAR ANALYSISLINEAR-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.

DailySleepQuality
Interdependency
ConsumedCaffeine
Multiple regression of ConsumedCaffeine on Sleep Quality over the last 3 monthDataTypeID: 2205 LINEAR ANALYSISLINEAR-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.

DailyUnsteadyHighActivitylist of times at which the user is most likely to act on activity promotion messagesDataTypeID: 1501STRING

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.

DailyPeriodicalHighActivitylist of times at which the user regularly engages in physical activityDataTypeID: 1502STRING

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

IntradayStepsHeatmap
Average
average steps per for weekley heatmapDataTypeID: 10011HEATMAP

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

IntradayStepsHeatmap
StandardDeviation
standard deviation of average steps per min for weekly heatmapDataTypeID: 10012HEATMAP

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

IntradayMetabolicEquivalent
Heatmap
Average
average MET per min for weekly heatmapDataTypeID: 10111HEATMAP

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

IntradayMetabolicEquivalent
Heatmap
StandardDeviation
average MET per min for weekly heatmapDataTypeID: 10112HEATMAP

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: SleepAsAndroid

SleepLikelihoodHeatmapAverage
Input: SleepLikelihoodHourAverage for the past 12 weeks
Calculation schedule: weekly
Calculation method: average of all input values

IntradaySleepLikelihood
HeatmapAverage
Heatmap in hourly resolution showing the likelyhood to be asleep for every weekdayDataTypeID: 22301HEATMAP

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: SleepAsAndroid

SleepLikelihoodHeatmapStandardDeviation
Input: SleepLikelihoodHourAverage for the past 12 weeks
Calculation schedule: weekly
Calculation method: standard deviation of all input values

IntradaySleepLikelihood
Heatmap
StandardDeviation
Heatmap in hourly resolution showing the standard deviation of sleep likelyhood for every weekdayDataTypeID: 22302HEATMAP