Methodology v3.2 · Independently funded · No affiliate revenue Methodology · Editorial
Methodology v3.2 · Glossary

MAPE

MAPE. Mean absolute percentage error: the average per-meal miss as a share of the meal's true calories; the headline accuracy metric in Methodology v3.2.

The calculation in one line

For each test meal, divide the size of the app’s miss by the meal’s true calories and express it as a percentage. Average those percentages over all the meals. That average is the mean absolute percentage error. “Absolute” means the direction of the miss is ignored, so a meal over-counted by 6% and one under-counted by 6% contribute the same.

MAPE is unitless, which is its main attraction: a figure measured on one mix of meals still means something for another, and apps tested on different meal sets can be compared more fairly than with an error in kilocalories.

How to read a reported MAPE

A good accuracy report gives you more than one number. When you see a MAPE, look for:

  1. The interval. A figure such as “4.0% (95% CI 3.1–5.0%)” tells you how precisely it was measured. Every accuracy figure in this publication is reported as MAPE with a 95% bootstrap confidence interval, from 10,000 resamples.
  2. The tiers. An overall MAPE can hide a large gap between easy single foods and hard mixed dishes. Split results show where an app breaks down.
  3. The exclusion rule. Because MAPE divides by the true value, tiny items distort it. Under v3.2, items below 50 kcal are left out of the headline figure and judged on absolute error instead.
  4. The meal count. Dozens of meals give a rough figure; hundreds give a dependable one.

Worked example: why tiny items are excluded

A splash of milk in coffee contains about 12 kcal. If an app logs it as 20 kcal, the miss is only 8 kcal, but as a percentage it is 67%. Include a handful of items like that in a test of otherwise ordinary meals and they can double the headline MAPE without telling you anything useful about how the app handles a dinner. Excluding them, and reporting their absolute error separately, keeps the headline figure about meals.

Worked example: the asymmetry

For a fixed true value, MAPE treats over and under alike: a 500 kcal meal logged as 600 or as 400 is a 20% miss either way. The asymmetry appears when you think about it from the app’s side. If an app logs 500 kcal, it is a 25% miss when the truth was 400 and only a 16.7% miss when the truth was 600. Under-estimates are capped at 100% (logging zero) while over-estimates are not. A symmetric variant, sMAPE, divides by the average of the true and logged values instead; for the two cases above it gives about 22.2% and 18.2%. We report standard MAPE because it is what most validation work uses and because, for deficit tracking, over- and under-counting carry similar practical costs.

What different values feel like

On a 700 kcal dinner, a 1% MAPE means a typical miss of about 7 kcal and an 18% MAPE one of about 126 kcal. As a rule of thumb, under 5% is precise enough to steer a moderate calorie deficit by, while figures in the teens are fine for building a habit but can swallow a deficit whole.

MAPE describes the typical size of the miss. For the miss in calories, see MAE; for how consistent the misses are, MAD; for whether the error grows with meal size, the Bland-Altman plot. The reference values MAPE is computed against come from a weighed portion reference, and the full comparison of metrics is in MAPE vs MAE vs MAD.

Related terms