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 Pulse Ox
- 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
Download Sample DatacsvProvides 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
Download Sample DatacsvGarmin 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:
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
Download Sample DatacsvEach 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:
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
Download Sample DatacsvEach Garmin Health Stress record includes the following:
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 Pulse Ox
Download Sample DatacsvEach Garmin Health Pulse Ox record includes the following:
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:
Breaths Respiration measurement taken at record time, in breaths per minute. Internally stored as breaths
.