ONE WRIST, TWO WATCHES.
An Apple Watch Series 8 and a Garmin Forerunner 945 LTE, worn together for a year and compared metric by metric
Both watches recorded 346 shared days between 16 Sep 2022 and 1 Sep 2023, across 11 watchOS versions. Every figure on this page is a daily average over those days. Garmin days with a time zone flight are left out
Study ended 1 Sep 2023
Metric By Metric
Scroll. The chart stays put and swaps metric with each step. Every point is one day, Garmin across and Apple up, coloured by the watchOS version that day. The dashed line is perfect agreement. Switch to Bland Altman to plot the gap against the mean of both watches. The metrics run from most to least agreement
Steps. They agree
The daily means sit +36 steps apart, out of about 11,697. This is the easy case. A step is a step
r 0.71 · 346 days · daily average Apple 11,733 · Garmin 11,697 steps
Steps. They agree
Both watches count steps with a wrist accelerometer and a step detection model that looks for the rhythm of walking. The models are different, but a walk is a strong, regular signal, so they land on nearly the same count
The days that disagree are the ones with a lot of arm movement and little walking, such as cooking or typing, where each model makes its own call about what counts. Over a year those days wash out, which is why the means sit so close
The Apple figure here is the watch's own count from the Health export, not the phone's, so this is a like for like comparison of two wrists
In the Bland Altman view look for a flat band close to zero. The band gets wider to the right. On a busy day a small share of the count is a lot of steps, so the big days set the limits
r 0.71 · 346 days · daily average Apple 11,733 · Garmin 11,697 steps
Floors. Same shape, different scale
The correlation holds at r 0.71, but Garmin credits about 6 more floors a day. Each maker has its own idea of how much pressure change makes a floor
r 0.71 · 335 days · daily average Apple 20 · Garmin 26 floors
Floors. Same shape, different scale
A floor is not measured. It is inferred from the barometric altimeter. Both watches treat roughly three metres of ascent as one floor, but they smooth the pressure signal differently and set their own thresholds for when a climb starts and stops
Garmin also counts floors during activities and is quicker to credit a short rise, which is where the extra six floors a day come from. The correlation is as strong as steps because the big days, hikes and stairs, are big on both
The far outliers are hiking days with hundreds of floors. The chart pins them to the edge so the ordinary days stay readable
In the Bland Altman view the band sits below zero, because Garmin counts more. Look for a fan. If the gap grows with the number of floors, the two watches use a different scale and not a fixed offset
r 0.71 · 335 days · daily average Apple 20 · Garmin 26 floors
Active calories. Apple is generous
Apple reports 772 active kilocalories a day on average, Garmin 466. The ranking of days is similar, the totals are not. Neither watch measures energy. Both estimate it from heart rate and movement with their own model
r 0.61 · 346 days · daily average Apple 772 · Garmin 466 kcal
Active calories. Apple is generous
Neither watch measures energy. Both estimate it. Apple splits total energy into a resting part, from a basal metabolic rate formula, and an active part, from movement and heart rate. Garmin uses the Firstbeat model, which leans on heart rate, estimated VO2 max and personal data
Apple's active figure is about three hundred kilocalories a day higher. Part of that is a different line between resting and active, and part is Apple crediting more of the day's movement as exercise. The day to day ranking still agrees, r 0.61, so a hard day is hard on both
Treat either number as a trend, not a measurement. The gap between the two watches is a fair estimate of the uncertainty in the number itself
In the Bland Altman view the band sits well above zero, near the three hundred kilocalorie gap. Look for a slope. If the gap grows on active days, Apple credits a bigger share of movement as active energy and not a fixed extra amount
r 0.61 · 346 days · daily average Apple 772 · Garmin 466 kcal
Average heart rate. The gap that started the project
Apple's daily average is 9 bpm higher than Garmin's. Sampling explains most of it. The Apple Watch reads more often during movement, which lifts the average
r 0.46 · 346 days · daily average Apple 75.2 · Garmin 66.1 bpm
Average heart rate. The gap that started the project
This is the metric that started the project. The Apple Watch Series 8 and the Forerunner 945 LTE both use an optical heart rate sensor, third generation on Apple, fourth generation Elevate on Garmin, and both are reported to be close to a chest strap
The nine beat gap is mostly sampling, not sensing. The Garmin reads continuously and its daily average covers every second of the day, including hours of sitting and sleep. The Apple Watch reads every few minutes at rest and continuously only during movement and workouts, so its readings are weighted towards the busy parts of the day, and the average lands higher
The correlation, r 0.46, is modest because the Apple average moves with how much of the day was active, while the Garmin average barely does. On a day with a long run both go up. On a quiet day only Garmin goes down
In the Bland Altman view the band sits above zero by the nine beat gap. Look for a slope up to the right. On active days the Apple Watch reads more often and its average climbs faster than the Garmin's, so the gap grows with the mean
r 0.46 · 346 days · daily average Apple 75.2 · Garmin 66.1 bpm
Resting heart rate. Two definitions of rest
Apple's resting figure is 6 bpm above Garmin's. Garmin takes the lowest sustained reading of the day. Apple takes a quiet period while awake. Same wrist, two questions
r 0.44 · 341 days · daily average Apple 53.2 · Garmin 47.6 bpm
Resting heart rate. Two definitions of rest
Both watches report a resting heart rate, but they mean different things by rest. Garmin takes the lowest sustained heart rate over the whole day, which usually lands in sleep. Apple samples quiet periods while you are awake and still, and leaves sleep out
That explains the gap. Sleeping heart rate is lower than resting awake heart rate for almost everyone, so Garmin's number is lower almost every day. Both track the same slow changes, such as a few beats lower after a block of training, which is what the correlation of 0.45 is picking up
If you compare resting heart rate across people or devices, check the definition first. Five beats is the difference between two sensible definitions on the same wrist
In the Bland Altman view almost every point sits above zero. Look for a flat band. A fixed gap with no slope is what two fixed definitions of rest give, and it means a simple offset converts one watch to the other
r 0.44 · 341 days · daily average Apple 53.2 · Garmin 47.6 bpm
Respiratory rate. No relationship
Maximum breaths per minute show almost no correlation, r 0.01. Both watches infer breathing from tiny changes in the heart beat interval, and the maximum of a noisy signal is mostly noise
r 0.01 · 343 days · daily average Apple 21 · Garmin 20 breaths/min
Respiratory rate. No relationship
Respiratory rate is not measured by either watch. It is estimated from small rhythmic changes in the gap between heart beats, which rise and fall with breathing. Apple estimates it only during sleep. Garmin estimates it all day
The maximum of a noisy estimate is mostly noise, and the two watches are not even looking at the same hours, so there is no relationship to find. The averages would agree better than the maximums, and the trend over weeks is the only part worth reading
This is the one metric where the honest answer is that the number on the watch is a curiosity rather than a measurement
In the Bland Altman view the limits are wide compared with the values. Look for any shape in the cloud. There is none. Wide limits with no shape are the sign of two noisy numbers that do not track each other
r 0.01 · 343 days · daily average Apple 21 · Garmin 20 breaths/min
Stepsr 0.71n 346
Each point is one day, coloured by watchOS version. Hover or tap a point for the date, both readings and the firmware on each watch. Hollow points sit past the chart edge
Where The Gap Moves
Each bar is the mean daily gap, Apple minus Garmin. A gap that changes with the watch software points at the algorithm. A gap that changes with the weekday points at behaviour. Both charts follow the metric in the story above
Gap By watchOS Version
Stepsday count under each bar
Gap By Weekday
Stepsweekend in yellow
Same rhythm, different arithmetic
Days rank the same on both wrists. A hard day is hard on both watches and a quiet day is quiet on both. The totals differ because each maker samples at its own rate and defines rest, a floor and a calorie its own way
Neither watch is wrong. They answer slightly different questions. Read a single watch for trends in your own data and be careful comparing numbers across people who wear different devices
Read the full write up on the blogThe Apple data comes from the Health app export on the phone. The Garmin data comes from Garmin Connect through GarminDB. Both are loaded into Postgres by one monthly command and joined on date for this page