A dashboard can refresh every few seconds while the underlying statistic changes only once a year. Those are two different clocks, and mixing them can make a published estimate look like a live measurement.
For a simple World Bank Open Data API example, request one indicator for one year:
https://api.worldbank.org/v2/country/all/indicator/SP.DYN.LE00.IN?date=2023&format=json&per_page=400
The response contains metadata and then the observation rows. Keep the observation year with the value, preserve missing values as missing, and join separate indicators on country code and year. When comparing countries, remove regional and income-group aggregates unless the analysis explicitly needs them. The World Bank publishes the WDI API documentation and sources and methods.
I find it useful to keep three timestamps separate:
- Observation period: the year the value describes.
- Publication or revision date: when the source released or revised that value, when available.
- Retrieval time: when an app fetched the record.
A page can update its retrieval timestamp and animate a clearly labelled estimate without claiming that the annual source value itself is moving in real time. For example, a population counter can project from an annual baseline and an explicitly stated rate; it remains a model, not a stream of registered births and deaths.
The same care applies to cross-country charts. A positive association between income and life expectancy is descriptive; it does not show that income alone caused the difference. Coverage, reporting years, definitions, missingness, and aggregation all matter.
I’m applying these labels and caveats in Global Data Tracker, a free country-statistics explorer. What source detail do you check first when a chart says “latest”?
Top comments (0)