To be frank, your Garmin is lying to you about the calories you have burned. If you have a power meter, than it is still going to be much better than just about every calorie counting machine you’ll find in a gym, but gym machines aren’t really the topic here. Let’s take a quick look at how Garmin computers and the Strava app do at calculating your total calories burned. Power meter such as an SRM can calculate your total work done during your ride, essentially power X time= total work. Basically, if you ride at 150 watts for an hour, you do the same amount of work as if you ride at 300 watts for half an hour. Your Garmin or other training device will display this as Kilojoules, or KJ. KJ and Calories are both units of energy, and one can be converted to the other. Many people will simply take the number of KJ and say that is the number of calories burned. While that the total number of KJ is close to the number of calories burned, KJ and Calories are not the same thing.

For starters the KJ measured by the powermeter are a measurement of the mechanical work that was put into the bicycle. Your body is really only about 21% efficient at creating mechanical work from the food energy. So in reality, you need to multiply the total KJ of work by 4.8. So if you did 1000 KJ worth of mechanical work, it actually took 4800 KJ in food energy to do that work. Next you have to convert from KJ to Calories. This is sort of like converting feet to meters. One Calorie is equal to 4.184 KJ, so you need to divide 4800 KJ by 4.184, and you get 1147 Calories.

If you simply looked at your Garmin, and assumed that KJ = Calories, you would have underestimated by 147 calories, or nearly 15 %( In reality is probably somewhere between 13 and 15%). I can understand how early powermeter users simply looked at total KJ, and used it as a proxy for calories. They probably considered it close enough. But considering the fact that a modern bike computer is capable of doing some fairly complex calculations in real time, it seems silly to work with this assumption. Unfortunately, it appears that is exactly what Garmin is doing. For more explanation on mechanical energy, food energy, and garmin’s KJ to Calories gooof, see this excellent blog post by Jose Areta.

Now on to my little experiment( N=1):

I started off a ride with a Garmin 500 synced to my SRM, a Garmin 800 that was not synced to any other training devices, and the Strava app on my IPhone. The ride was from my house to the top of Mt Soledad, a local 700 foot climb. I kept it at endurance pace for the most of the ride, and tempo pace up the climb.

The Garmin 500 really should be giving the most accurate calorie count, as it was the only device that could accurately measure KJ. Unfortunately, Garmin makes the mistake of simply converting the KJ into Calories. It seems absurd that they would make that mistake, when all it would take to make a more accurate calorie count would be to multiply KJ by 1.15 to get a much more accurate calorie count.

Total Calories burned according to the Garmin 500 synced to the powermeter: 1075 Calories

More accurate calorie count (1075 KJ X1.15): 1236 Calories

Error: Underestimate by ~15%

Next, was the Garmin 800 that wasn’t synced to anything else. I’m not exactly sure what Garmin uses to estimate calories, but it must be some function of speed and elevation. Unfortunately the Garmin doesn’t “know” if I have a headwind or tailwind, if I’m drafting or riding solo, if I’m in the drops or sitting upright. My expectations for an accurate calorie count were quite low.

Total calories burned according to Garmin with no power : 1906

Error: overestimate by 54%

Whoa! If you were using this to get an idea on how much you should eat to be Calorie neutral, you could be in big trouble! Even if you were trying to have a 500 calorie deficit each day, you would be sorely disappointed. Imagine meticulously measuring your food and calculating your energy expenditure, only to find out that rather than having a 500 Calorie deficit each day, you actual had a surplus. Do you think it will be any better if you measure heart rate? Not According to Jose. This is a situation where bad data is worse than no data. I have zero confidence in the calorie count of a Garmin without a power meter. Zero.

What about the Strava app? I suspect that Strava is using the same information ( distance, elevation) as the Garmin. But I was honestly surprised to find that the Strava data was pretty darn close to the Garmin/ Powermeter data my guess is that Strava has loads of data from all of the riders that upload their files with power, and that they have created an algorithm that is far more accurate than the one used by Garmin. Yea big data! Strava probably has more information about riders and rides than any organization anywhere and they are really doing some interesting things with it.

Total Calories burned according to Strava: NA

The Strava app didn't actually give Calories, but it did an amazing job estimating total KJ. if we know the KJ, we can do a pretty good job estimating our Calories, as long as we don't make the KJ=Calories mistake.

Difference in KJ from the Garmin/Powermeter: ~2%

So what can we learn here? Basically we’ve learned that Garmin data on Calorie count is practically useless, without a powermeter. The Garmin/Powermeter data does a pretty good job, but still underestimates Calorie count by ~15% ( get on this Garmin engineers!), and Strava did a surprisingly good job with KJ, but the app doesn't actually give us Calories. I would like to upload a few more files and see if I get a similar result. I’m not sure what happens when you upload a Garmin file (no power) that has a calorie count. Does Strava use the Calorie count from the Garmin or does it still only estimate KJ? Let me know if you’ve experimented with this.

Why do I use Calorie with an upper case rather than calorie with a lower case? The simple explanation is that 1 “food Calorie” is equal to 1000 “physics calories.

Thanks again to Jose Areta for inspiring this post.