Skip to main content

Different Metrics that Garmin Devices Collect

Garmin has a wide range of wearables, each collecting different metrics. All these metrics can be categorizes into the following:

  • Garmin Health Daily
  • Garmin Health
  • Garmin Health Heart
  • Garmin Health Sleep Daily
  • Garmin Health Sleep
  • Garmin Health Body Composition
  • Garmin Health Stress
  • Garmin Health User Metrics
  • Garmin Health PulseOx
  • Garmin Health Respiration

If you want to use Garmin wearable data in your study, you should decide which of these categories you want to collect. The Avicenna app then asks the participant for the relevant permission, and collects the relevant data from the Garmin servers.

The following sections explain each of these categories, and the type of data you can expect to receive from them.

Garmin Health Daily

Provides a high-level snapshot of a user's health information throughout a day. This corresponds to the information in Garmin Connect's "My Day" section. The following information is included in each Garmin Health Daily record:

Date User's local calendar date the health information belongs to. Internally stored as date.

Start Time Start time of the period. Internally stored as start_time.

Duration Length of the day the data is collected. 86400 if a full day is collected or less if the user syncs mid-day. Internally stored as duration_sec.

Steps Count of steps recorded during the monitoring period. Internally stored as steps.

Distance Distance traveled in meters. Internally stored as distance_meter.

Active Time The time (in seconds) during which the device wearer was considered active during the monitoring period. This is based on internal heuristics in each device. Internally stored as active_time_sec.

Active Kilocalories Active Kilocalories (dietary calories) burned through actual movement and activity during the monitoring period. Internally stored as active_kilocalories.

BMR Kilocalories BMR Kilocalories burned by existing Basal Metabolic Rate (calculated based on the user's height, weight, age, and other demographic data). Internally stored as bmr_kilocalories.

Consumed Calories The number of calories consumed by the user through food for that day (value subtracted from calorie goal). This value is received from MyFitnessPal and is not entered within Connect. Internally stored as consumed_calories.

Moderate Intensity Duration Cumulative duration of moderate-intensity activities that last at least 600 seconds at a time. An activity of moderate intensity is defined as one having a MET value between 3-6. Internally stored as moderate_intensity_duration_sec.

Vigorous Intensity Duration The total duration of vigorous-intensity exercises that last at least 600 seconds at a time. An activity with a MET value greater than 6 is considered vigorous. Internally stored as vigorous_intensity_duration_sec.

Floors Climbed The number of floors climbed during the monitoring period. Internally stored as floors_climbed.

Min Heart Rate Minimum heart rate value captured during the monitoring period, in beats per minute. Internally stored as min_heart_rate.

Average Heart Rate Average heart rate value captured during the last 7 days, in beats per minute. Internally stored as average_heart_rate.

Max Heart Rate Maximum heart rate value captured during the monitoring period, in beats per minute. Internally stored as max_heart_rate.

Resting Heart Rate Average heart rate at rest during the monitoring period, in beats per minute. Internally stored as resting_heart_rate.

Average Stress Level An abstraction of the user's average stress level throughout the monitoring period, on a scale of 1 to 100, or -1 if there is insufficient data to calculate average stress. Rest (i.e. not stressful) is a score of 1 to 25, low stress is a score of 26-50, medium stress is 51-75, and high stress is a score of 76-100. Internally stored as average_stress_level.

Max Stress Level The highest stress level measurement taken during this monitoring period. Internally stored as max_stress_level.

Stress Duration The number of seconds during this monitoring period when stress levels were in the stressful range (26-100). Internally stored as stress_duration.

Rest Stress Duration The number of seconds during this monitoring period during which stress levels were in the restful range (1 to 25). Internally stored as rest_stress_duration.

Activity Stress Duration The number of seconds in this monitoring period where the user was engaged in physical activity and so stress measurement was unreliable. All duration in this monitoring period not covered by stress, rest, and activity stress should be considered Uncategorized, either because the device was not worn or because not enough data could be taken to generate a stress score. Internally stored as activity_stress_duration.

Low-Stress Duration The portion of the user's stress duration where the measured stress score was in the low range (26-50). Internally stored as low_stress_duration.

Medium-Stress Duration The portion of the user's stress duration where the measured stress score was in the medium range (51-75). Internally stored as medium_stress_duration.

High-Stress Duration The portion of the user's stress duration where the measured stress score was in the high range (76-100). Internally stored as high_stress_duration.

Stress Qualifier A qualitative label applied based on all stress measurements in this monitoring period. Possible values: unknown, calm, balanced, stressful, very_stressful, calm_awake, balanced_awake, stressful_awake, very_stressful_awake. This matches what the user will see in Garmin Connect.

Steps Goal The user's steps goal for this monitoring period. Internally stored as steps_goal.

Net Kilocalories Goal The user's goal for net caloric intake (consumed calories minus active calories) for this monitoring period. This field is related to integration with MyFitnessPal and may not be present for many users. Internally stored as net_kilocalories_goal.

Intensity Duration Goal The user's goal for consecutive seconds of moderate to vigorous-intensity activity for this monitoring period. Internally stored as intensity_duration_goal.

Floors Climbed Goal The user's goal for floors climbed in this monitoring period. Internally stored as floors_climbed_goal.

Garmin Health

Garmin Health records are provided with 15-minute time slice granularity. Each activity type monitored within a single time slice has its own record. For example, if the user sat for five minutes, walked for five minutes, and then ran for five minutes during the period of 15 minutes, three activity records would be generated for that single 15-minute time slice. The duration value would be 900 seconds for all three records, but the active time for each would be 300 seconds. A duration of less than 900 seconds indicates that the user synced data during the middle of a time slice. On the user's next sync, that time slice record will be replaced with a 900-second-duration epoch covering the entire span. Each Garmin Health record includes the following:

Activity Type Sedentary when having a heart rate of less than 90 bpm, Generic when greater than 90 bpm but no movement is recorded. Walking when heart rate is greater than 90 bpm and movement is recorded. Internally stored as activity_type_id.

Start Time Start time of the monitoring period. Internally stored as record_time.

Start Time Offset Offset in seconds to add to Start Time to derive the local time of the device that captured the data. Internally stored as start_time_offset_sec.

Duration Length of the monitoring period in seconds. Internally stored as duration_sec.

Active Time The portion of the monitoring period (in seconds) in which the device wearer was active for this activity type. The sum of active times of all epochs of the same start time (and different activity types) should be equal to the duration. Internally stored as active_time_sec.

Steps Count of steps recorded during the monitoring period. Internally stored as steps.

Distance Distance traveled in meters. Internally stored as distance_meter.

Active Kilocalories Active kilocalories (dietary calories) burned during the monitoring period. This includes only the calories burned by the activity and not calories burned as part of the basal metabolic rate (BMR). Internally stored as active_kilocalories.

MET MET (Metabolic Equivalent of Task) value for the active time for this activity type. Metabolic Equivalent of Task (MET) is an official measure of activity intensity. Garmin's calculation of MET is an estimation based on the biometric data provided (height, weight, date of birth, gender) and improves in accuracy if heart rate data is also captured. Please refer to MET and physical activity intensity. for more detailed information. Internally stored as met.

Motion Intensity A Qualitative measure of intensity. Motion Intensity is a numerical abstraction of low-level accelerometer data, provided for use in further analysis. Motion Intensity is calculated at minute-level granularity as a number between 0 and 7, with 0 being absolutely still and 7 being constant, sharp motion. Unlike steps, distance, or activity type, which take net movement into account, motion intensity will increase even if the user does not move in space. For instance, if a user were to jump up and down or fidget with a pencil they would not get credit for any distance, but their motion intensity scores for that monitoring period would increase. It is very common to see mid-range max motion intensities even for sedentary epochs as most people do not sit absolutely still. Internally stored as intensity_type_id.

Mean Motion Intensity The average motion intensity scores for all minutes in this monitoring period. Internally stored as mean_motion_intesity.

Max Motion Intensity The largest motion intensity score of any minute in this monitoring period. Internally stored as max_motion_intesity.

Garmin Health Heart

Each Garmin Health Heart record includes the following:

Record Time Record time of the period. Internally stored as record_time.

Heart Rate Representative heart rate value recorded for the previous 15 seconds from record time, in beats per minute. Lack of entry for a given offset should be interpreted as no data available. Internally stored as heart_rate.

Garmin Health Sleep Daily

Each Garmin Health Sleep Daily record includes the following:

Date User's local calendar date the health information belongs to. Internally stored as date.

Start Time Start time of the period. Internally stored as start_time.

Duration Length of the monitoring period in seconds. Internally stored as duration.

Unmeasurable Sleep Time in seconds that the sleep level of the user could not be measured. This may or may not correspond to off-wrist time. Internally stored as unmeasurable sleep.

Deep Sleep Duration Time in seconds the user spent in deep sleep during the sleep period. Internally stored as deep sleep duration.

Light Sleep Duration Time in seconds the user spent in light sleep during the sleep period. Internally stored as light_sleep_duration.

REM Sleep Time in seconds the user spent in REM sleep during the sleep period. Internally stored as rem_sleep.

Awake Duration Time in seconds the user spent awake during the sleep period. Internally stored as awake_duration.

Validation Validation state of the sleep data and its date range. The data could be auto-confirmed, but the sleep window could have been manually adjusted, or the sleep data itself is entirely manually entered. Values: MANUAL, DEVICE, AUTO_TENTATIVE, AUTO_FINAL, AUTO_MANUAL, ENHANCED_TENTATIVE, ENHANCED_FINAL. Internally stored as validation.

Garmin Health Sleep

Each Garmin Health Sleep record includes the following:

Start Time Start time of the period. Internally stored as start_time.

End Time End time of the period. Internally stored as end_time.

Sleep Level One of Deep, Light, and Awake. Internally stored as sleep_level.

Garmin Health Body Composition

Each Garmin Health Body Composition record includes the following:

Record Time Time of measurement. Internally stored as record_time.

Muscle Mass Muscle mass in grams. Internally stored as muscle_mass.

Bone Mass Bone mass in grams. Internally stored as bone_mass.

Body Water Percentage of body water (range 0.0 - 100.0). Internally stored as body_water.

Body Fat Percentage of body fat. (range 0.0 - 100.0). Internally stored as body_fat.

Body Mass Index Body mass index, or BMI. Internally stored as body_mass_index.

Weight Weight in grams. Internally stored as weight.

Garmin Health Stress

Each Garmin Health Stress record includes the following:

Record Time Time of measurement. Internally stored as record_time.

Stress Level Stress level value recorded. Internally stored as stress_level.

Body Battery Level Body battery level value recorded. Information on and a list of devices that support Body Battery is available here . Internally stored as body_battery_level.

Garmin Health User Metrics

Each Garmin Health User Metrics record includes the following:

Date User's local calendar date the health information belongs to. Internally stored as date. Internally stored as date.

Vo2 Max An estimate of the maximum volume of oxygen (in milliliters) the user can consume per minute per kilogram of body weight at maximum performance. Internally stored as vo2_max.

Fitness Age An estimation of the 'age' of the user's fitness level, calculated by comparing internal fitness metrics with the average readings of biometrically similar users by age. For instance, a fitness age of 48 indicates that the user's physical fitness is similar to that of an average 48- year-old person of the same gender. Internally stored as fitness_age.

Garmin Health PulseOx

Each Garmin Health PulseOx record includes the following:

Record Time Record time of the period. Internally stored as record_time.

SpO2 SpO2 measurement taken at record time (1 sample/minute). Internally stored as spo2.

On Demand A Boolean to show whether this pulse ox summary represents an on-demand reading or an averaged acclimation reading. Internally stored as on_demand.

Garmin Health Respiration

Each Garmin Health Respiration record includes the following:

Record Time Record time of the period. Internally stored as record_time.

Breaths Respiration measurement taken at record time, in breaths per minute. Internally stored as breaths.