Skip to main content

Why your API numbers may differ from the dashboard

A guide to why API numbers can look different from the dashboard, and how to reconcile them.

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. Match smoothing to 3mo to 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

  1. Pull the total, not the sum of slices.

  2. Set smoothing=3mo to match the dashboard default.

  3. Allow for rounding. Compare to one or two decimal places, not whole numbers.

  4. Confirm you're on the same wave date (the 1st of the month).

Did this answer your question?