Ask any runner how many calories they burned on their morning 10km and they'll quote their GPS watch with confidence. 650 calories. 720 calories. Whatever the app said. The problem is that wearable calorie estimates can be off by anywhere from 15% to 40% depending on the device, the algorithm, and the individual. For athletes making nutrition decisions based on these numbers, that margin of error matters enormously.

Understanding the real science behind running energy expenditure helps you make better decisions about your nutrition, and helps you evaluate how much trust to place in any given estimate.

Why calorie estimates are often wrong

Consumer fitness devices estimate calorie burn using one of two methods: activity-based formulas (METs, Metabolic Equivalents of Task) or heart rate-based estimation. Neither is highly accurate at the individual level because both approaches require assumptions about your physiology that may not match reality.

MET-based formulas apply a fixed energy cost per kg per minute of activity at a given speed. These formulas are derived from laboratory studies on average populations and don't account for individual differences in running economy, fitness level, or body composition.

Heart rate methods are more individualised but require calibration against your personal VO2max, a number most devices estimate (often poorly) rather than measure directly.

A 2019 Stanford study tested seven popular fitness trackers and found average calorie estimation errors ranging from 27% to 93%. Even the most accurate device tested had a mean absolute error of 27%. Put differently: if your watch says you burned 600 calories, the real number could plausibly be anywhere from 430 to 770 calories.

The science of energy expenditure during running

The most reliable equation for estimating calorie burn during running comes from laboratory measurements of oxygen consumption. Running at a steady pace consumes approximately 1 kcal per kg per km, a surprisingly simple and robust approximation.

This means a 70kg runner completing 10km burns roughly 700 kcal, regardless of pace. A 60kg runner doing the same 10km burns approximately 600 kcal. The pace matters less than you might expect for total energy expenditure over a fixed distance, what changes with speed is the rate of expenditure (kcal/hour), not the total per km.

This is the gross calorie figure. Net calories, the amount above your resting metabolic rate, is somewhat lower, because you would have burned some calories sitting still during that same time period. For most practical nutrition purposes, gross calories are the relevant figure when calculating how much more food to eat on training days.

Body weight: the biggest variable

The single biggest determinant of calorie burn during running is body mass. Heavier runners burn more calories per kilometre, proportionally so. A 90kg runner burns approximately 900 kcal per 10km. A 55kg runner burns approximately 550 kcal for the same distance.

This has a direct implication for nutrition: as your body weight changes (through training or intentional manipulation), your calorie expenditure per session changes too. Nutrition apps that don't update your calorie burn estimates when your weight changes are systematically miscalculating your energy needs.

Jonno re-calculates activity-based calorie expenditure using your current profile weight every time a Strava activity syncs, not a cached number from your initial setup.

The speed paradox: faster is not always more efficient

While total calorie burn per km is relatively constant across moderate speeds, very slow running (below about 6:00/km for most athletes) actually burns more calories per km than moderate running. This counterintuitive finding reflects the metabolic cost of the walking-to-running gait transition and reduced running economy at low speeds.

At very high speeds, above threshold, energy expenditure per km rises again because the aerobic system is augmented by anaerobic glycolysis, which is metabolically expensive.

The practical takeaway: easy recovery runs still burn meaningful calories, and very hard interval sessions burn disproportionately more. The 1 kcal/kg/km rule applies best to moderate aerobic running.

Terrain, temperature, and other modifiers

Several factors can meaningfully increase calorie burn above the flat-road baseline:

  • Uphill running: An additional 3–8 kcal per 10m of vertical gain depending on body weight and gradient
  • Trail and sand running: 20–35% higher energy cost than road running due to proprioceptive demands and unstable surface
  • Cold weather: A modest increase of 7–14% in calorie burn as your body generates heat to maintain core temperature
  • Heat and humidity: Additional cardiovascular load increases HR without proportionally increasing mechanical work, skewing HR-based estimates upward
  • Altitude: At significant elevation, reduced air density lowers aerobic resistance but altitude-induced ventilatory increases raise overall energy cost

Strava captures elevation data and terrain type, which Jonno uses to apply appropriate adjustments to baseline calorie estimates.

Heart rate as a calorie proxy

Heart rate correlates with oxygen consumption, and therefore calorie burn, when you're working aerobically. This makes HR a useful proxy, but with important limitations:

The HR-to-calorie relationship is highly individual and requires calibration against your personal lactate threshold or VO2max. Using population-average HR formulas for an individual athlete can produce errors of 20–30%.

Furthermore, cardiac drift, the gradual rise in heart rate during long runs even at constant pace, inflates HR-based calorie estimates for extended efforts. On a 3-hour marathon training run, cardiac drift may cause HR-based algorithms to overestimate calorie burn by 15% or more in the final hour.

The most accurate approach combines distance-based estimation (using body weight) with HR data to account for intensity variation within a session. This is the methodology Jonno applies when processing Strava activities.

How Jonno uses this data

When a run syncs from Strava, Jonno ingests distance, duration, average heart rate, elevation gain, and activity type. It applies a multi-factor calorie calculation:

  1. Base expenditure from distance and current bodyweight (1 kcal/kg/km)
  2. Intensity modifier from average heart rate relative to your estimated max HR
  3. Elevation adjustment from Strava's elevation data
  4. The result updates your TDEE for the day, adjusting your macro targets accordingly

This approach is more accurate than either pure MET tables or raw HR estimation alone, and automatically incorporates the personal variable (your body weight) that most generic algorithms ignore.

Practical implications for your nutrition

Rather than trusting a single wearable estimate, use a range. After a 10km run, your true calorie burn is likely within 15% of the weight-based estimate (1 kcal/kg/km). Build your nutrition plan around that figure, not the more variable HR-based number your watch produces.

On easy days, use the lower end of your calorie estimate. On hard days with significant elevation or intensity, use the upper end. Track your body weight and energy levels over 2–3 week blocks to calibrate whether your calorie estimates are landing correctly.

The goal isn't perfect accuracy, it's consistent, principled estimation that you can adjust based on real-world feedback. Your body is the most accurate measuring device you have. The data is just a starting point.