Methodology
How we go from Eurostat tables to a clean, fast, and transparent live ticker for all EU-27 countries.
- Source: Eurostat
gov_10q_ggdebt(quarterly; S.13, GD, unit MIO_EUR). - Keep: the latest two quarters per country (value & reference date).
- Compute: per-second rate from the difference and seconds between those quarters.
- Render: within the last two quarters → linear interpolation; after last reference → linear extrapolation.
- Safeguards: clamp extreme per-second outliers; fall back gracefully if a quarter is missing.
Official data source
EU Debt Map uses Eurostat’s quarterly dataset gov_10q_ggdebt (general government gross debt under the Maastricht definition).
Selection filters
- freq
- Q (quarterly)
- sector
- S13 (general government)
- na_item
- GD (gross debt)
- unit
- MIO_EUR (we convert to euro × 1,000,000)
- geo
- EU-27 member states (Eurostat uses EL for Greece)
Transformation & storage
We fetch once per build and derive a tiny per-country record. That keeps pages fast and the method auditable.
- Step 1
- Read JSON → filter to EU-27 and required keys.
- Step 2
- Values in MIO_EUR → multiply by 1,000,000 (euro).
- Step 3
- For each country keep the latest two quarters (value + ISO reference date).
- Step 4
- Compute per-second rate = Δ(value) / Δ(seconds). Clamp outliers.
Live ticker: interpolation & extrapolation
Inside the range of the last two reference dates we linearly interpolate. After the most recent reference date we linearly extrapolate using the per-second rate.
rate_per_second = (last_value_eur - prev_value_eur) / (last_ts - prev_ts)
estimate(now) =
if now <= last_ts:
prev_value_eur + (last_value_eur - prev_value_eur) * ((now - prev_ts) / (last_ts - prev_ts))
else:
last_value_eur + rate_per_second * (now - last_ts)
// safeguards
if abs(rate_per_second) > MAX_ALLOWED_RATE: clamp to MAX_ALLOWED_RATE
if prev quarter missing: show last_value_eur (no ticking)
- Quarterly data → intra-quarter movement is approximated as linear.
- If a country misses a prior quarter, we display a flat line until the next release.
- Minor rounding differences vs. national sources may occur.
Reproducibility
You can reproduce our inputs directly with Eurostat’s API. Below is a minimal example call (English, JSON). Adjust the geo parameters for specific countries.
https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/gov_10q_ggdebt ?lang=EN &format=JSON &freq=Q §or=S13 &na_item=GD &unit=MIO_EUR &geo=FR&geo=DE&geo=IT // add EU-27 codes as needed
We track all transforms in code and re-fetch on new Eurostat releases so pages regenerate with fresh values.
Related pages
Want the concepts behind the numbers? See What is Government Debt?, visit the interactive EU map, or read our articles & analysis.