MAE
MAE. Mean absolute error: the average size of an app's per-meal miss, in kilocalories, ignoring whether it was over or under.
Error in the unit you budget in
Most people think about a diet in calories, not percentages. Mean absolute error speaks that language. For each meal, take the gap between what the app logged and what the meal really contained, drop the sign, and average the gaps. The result is in kilocalories: “this app is typically off by 32 kcal a meal.”
In symbols, with true value yᵢ and logged value ŷᵢ for each of n meals, MAE is the average of |ŷᵢ − yᵢ|.
Worked example: three numbers from the same five meals
Five meals, with the app’s misses in kilocalories (logged minus true): +40, −25, +10, −5 and +80.
| Summary | Calculation | Result |
|---|---|---|
| MAE | (40 + 25 + 10 + 5 + 80) ÷ 5 | 32 kcal |
| Mean signed error | (40 − 25 + 10 − 5 + 80) ÷ 5 | +20 kcal |
| Root mean square error | √((1,600 + 625 + 100 + 25 + 6,400) ÷ 5) | 41.8 kcal |
Each answers its own question:
- MAE says how far off a typical meal is: 32 kcal.
- Mean signed error says which way the app leans: here it over-counts by 20 kcal on average. Over a day of three meals that lean adds up; it does not cancel.
- RMSE squares the misses before averaging, so the single 80 kcal miss pulls it well above the MAE. It is the right summary when large misses are what you most want to avoid, but it is harder to read as a typical error, a point Willmott and Matsuura make in arguing for MAE as the clearer average.
MAE and meal size
MAE has one limitation worth knowing. It depends on the size of the meals it was measured on. An app that misses by 5% will show an MAE of about 10 kcal on 200 kcal snacks and about 45 kcal on 900 kcal dinners. So an MAE from a test full of large meals does not transfer to someone who eats small ones, and comparing MAEs across studies is only fair if their meal mixes were similar. That is the main reason accuracy work usually leads with MAPE, which divides out meal size, and gives MAE as a companion. On our own 50-meal battery the ranking of apps by MAE is roughly the same as the ranking by MAPE, because the meal-size distribution in the battery is roughly even.
How to turn either into your own number
If you know an app’s MAPE, you can estimate its MAE for your own eating: multiply the MAPE by the size of a meal you eat often. A 5% app on a 700 kcal dinner is about 35 kcal off; a 1% app is about 7 kcal off. Do the same for each meal and add the results for a rough worst-case day, remembering that misses in different directions partly cancel.
Setting it against your budget
The most practical use of MAE is a comparison with your own margin. If you are eating 400 kcal below maintenance across three meals and an app’s typical miss on meals like yours is 35 kcal, the error is small next to the deficit even on a day when every miss leans the same way. If the typical miss is 120 kcal, three same-direction misses can cancel most of the deficit, and the weekly trend becomes hard to read. Precision matters more as the margin gets thinner.
For whether those misses grow with meal size, a Bland-Altman plot is the tool, and for how tightly they cluster, the MAD entry.