Fitness tracker calorie calibration
Many of us use fitness trackers to estimate energy expenditure, but trackers can be wildly inconsistent. Some overestimate calories burned, some underestimate, and some seem to be powered by optimism and magic numbers.
There are also studies suggesting that many consumer trackers are not very accurate when estimating energy expenditure. One article I found mentions that common trackers may only be around 56.63% accurate for this purpose:
https://wellnesspulse.com/research/accuracy-of-fitness-trackers/
So my feature request is this:
I would love for Cronometer to “learn” how inaccurate a user’s tracker is by comparing:
- Logged calorie intake
- Reported calorie expenditure from the tracker
- Actual weight change over time
In other words, Cronometer could offer a tracker calibration period.
For example, over 1 or 2 weeks, the user would need to:
- Log their weight daily
- Weigh themselves at roughly the same time each day, for example within plus/minus 30 minutes
- Log food intake as accurately as possible
- Keep tracker data connected and active
Cronometer could then compare the expected weight change based on logged intake and reported expenditure against the actual weight trend.
If the tracker says I should have lost 1 kg, but my actual trend suggests I lost 0.5 kg, Cronometer could estimate that the tracker is overreporting expenditure. If the opposite happens, it could estimate that the tracker is underreporting.
After the calibration period, Cronometer could offer something like:
“Based on your logged intake, weight trend, and tracker data, your tracker appears to overestimate activity calories by approximately 18%. Would you like Cronometer to apply this adjustment going forward?”
The user could then choose to:
- Accept the calibration
- Reject it
After accepting or rejecting, the user can then:
- Continue calibrating for more accuracy
- Abort the calibration
If the user chooses to accept the calibration, the user can then:
- Apply the calibration only going forward
- Optionally backfill the calibration historically for a selected date range
To avoid bad data, Cronometer could abort or pause the calibration if the user skips weight logging or has incomplete calorie logging. That way, it does not try to build a correction factor from messy data.
The longer the user continues the calibration, the better the estimate should become. A minimum period could be 1 or 2 weeks, but Cronometer could continue refining the calibration over time if the user wants. Of course, Cronometer should warn the user that the better and more accurately they log their calories, the better the calibration will be; as the saying goes, "shit in; shit out".
This would make tracker integrations much more useful. Instead of just importing possibly inaccurate calorie burn numbers, Cronometer could interpret them based on the user’s real-world results.