The API serves the same underlying data as your Tracksuit dashboard, but you may see small differences when you compare a number you've pulled to the one on screen. This is almost always expected. Here's why it happens and how to avoid the common traps.
The most common cause
Summing demographic slices. Tracksuit data is weighted, and the weighting is applied dynamically per slice. Always pull the total with no demographic filter; pull a single slice on its own when you want that slice.
Avoid the "kitchen sink" approach: adding up individual age groups (or regions, or genders) to get a total will not equal the figure you'd get by pulling the total directly.
How weighting works
The API returns weighted results, not raw responses. Every result is weighted before it reaches you. Weighting adjusts for demographics that are over- or under-represented in the survey sample, so the results better reflect the real population. For example, if one region is over-represented in the survey, each of those responses counts as slightly less than one. Respondents from under-represented regions count as slightly more.
Because we calculate weights based on the exact filters you select, the same respondent can carry a different weight in one slice than in another. A person might be weighted one way within their age group and another way within the total population.
This is why demographic slices don't add up to the total. If you download each age group separately and sum them, the numbers won't match the total funnel because each slice has been weighted independently. To get the overall total, always request the total directly rather than re-aggregating demographic slices yourself.
Common reasons a number differs
You re-aggregated. Summing or averaging slices yourself reintroduces weighting errors. Pull the level you actually want directly.
Different smoothing window. The dashboard uses a 3-month rolling average by default. If you pull with
smoothing=1mo(or any other window), you're looking at a genuinely different calculation, not an error. Matchsmoothingto3moto reconcile with the dashboard.Rounding. The dashboard rounds to whole percentages for display; the API follows suit and returns whole percentages as a fraction between 0 and 1 (e.g.
0.42 -> 42%).Date / wave alignment. Make sure you're comparing the same wave. See Data freshness and wave timing.
How to reconcile with confidence
Pull the total, not the sum of slices.
Set
smoothing=3moto match the dashboard default.Allow for rounding. Compare to one or two decimal places, not whole numbers.
Confirm you're on the same wave date (the 1st of the month).
