# earth-now.co # Author: Simon-Pierre Boucher # Contact: contact@spboucher.ai # File: packages/registry/metrics/economy.yaml # Purpose: Economy & consumption metrics (catalog §9 🥈/🥉) — GDP, military spend, cars, smartphones, cement, steel, e-waste, clothing metrics: - id: gdp_ytd name: { fr: "PIB mondial produit cette année", en: "World GDP produced this year" } domain: economy priority: v1 kind: cumulative level: 2 model: seasonal-ytd-v1 unit: usd sources: - id: imf_weo name: "FMI — World Economic Outlook" url: https://www.imf.org/en/Publications/WEO license: "IMF terms — citation required" licenseNote: "verify reuse terms before launch" cadence: "2×/year" refresh: on_source_update display: decimals: 0 sigFigs: 5 unit: { fr: "$ US", en: "US$" } constraints: { maxAbsRatePerSec: 10000000, maxJumpOnRefit: 500000000000 } windows: [today, ytd, session] editorialNote: fr: "PIB nominal (prévision FMI ~118 000 Md$ en 2026) réparti avec une légère saisonnalité T4." en: "Nominal GDP (IMF forecast ~$118 T in 2026) spread with a mild Q4 seasonality." - id: military_spend_ytd name: { fr: "Dépenses militaires cette année", en: "Military spending this year" } domain: economy priority: v1 kind: cumulative level: 0 model: linear-ytd-v1 unit: usd sources: - id: sipri name: "SIPRI — Military Expenditure Database" url: https://www.sipri.org/databases/milex license: "SIPRI terms — citation required" licenseNote: "verify reuse terms before launch" cadence: yearly refresh: on_source_update display: decimals: 0 sigFigs: 4 unit: { fr: "$ US", en: "US$" } constraints: { maxAbsRatePerSec: 200000, maxJumpOnRefit: 20000000000 } windows: [today, ytd, session] - id: cars_produced_ytd name: { fr: "Véhicules produits cette année", en: "Vehicles produced this year" } domain: economy priority: v1 kind: cumulative level: 1 model: seasonal-ytd-v1 unit: vehicles sources: - id: oica name: "OICA — Production Statistics" url: https://www.oica.net/production-statistics/ license: "OICA — citation required" licenseNote: "verify reuse terms before launch" cadence: yearly refresh: on_source_update display: decimals: 0 sigFigs: 4 unit: { fr: "véhicules", en: "vehicles" } constraints: { maxAbsRatePerSec: 10, maxJumpOnRefit: 1000000 } windows: [ytd, today, session] - id: smartphones_sold_ytd name: { fr: "Smartphones vendus cette année", en: "Smartphones sold this year" } domain: economy priority: v1 kind: cumulative level: 1 model: seasonal-ytd-v1 unit: units sources: - id: idc_counterpoint name: "IDC / Counterpoint Research" url: https://www.idc.com/ license: "Market estimate — citation required" licenseNote: "verify reuse terms before launch" cadence: quarterly refresh: on_source_update display: decimals: 0 sigFigs: 4 unit: { fr: "unités", en: "units" } constraints: { maxAbsRatePerSec: 150, maxJumpOnRefit: 20000000 } windows: [ytd, today, session] - id: cement_ytd name: { fr: "Ciment produit cette année", en: "Cement produced this year" } domain: economy priority: v1 kind: cumulative level: 1 model: seasonal-ytd-v1 unit: t sources: - id: usgs_cement name: "USGS — Mineral Commodity Summaries (Cement)" url: https://www.usgs.gov/centers/national-minerals-information-center/cement-statistics-and-information license: "US Government public domain" cadence: yearly refresh: on_source_update display: decimals: 0 sigFigs: 4 unit: { fr: "tonnes", en: "tonnes" } constraints: { maxAbsRatePerSec: 400, maxJumpOnRefit: 20000000 } windows: [ytd, today, session] - id: steel_ytd name: { fr: "Acier produit cette année", en: "Steel produced this year" } domain: economy priority: v1 kind: cumulative level: 1 model: seasonal-ytd-v1 unit: t sources: - id: worldsteel name: "worldsteel — Monthly crude steel production" url: https://worldsteel.org/data/ license: "worldsteel — citation required" licenseNote: "verify reuse terms before launch" cadence: monthly refresh: on_source_update display: decimals: 0 sigFigs: 4 unit: { fr: "tonnes", en: "tonnes" } constraints: { maxAbsRatePerSec: 200, maxJumpOnRefit: 10000000 } windows: [ytd, today, session] - id: ewaste_ytd name: { fr: "E-déchets générés cette année", en: "E-waste generated this year" } domain: economy priority: v1 kind: cumulative level: 0 model: linear-ytd-v1 unit: t sources: - id: gem_ewaste name: "Global E-waste Monitor (UNITAR/ITU)" url: https://ewastemonitor.info/ license: "Report — citation required" licenseNote: "verify reuse terms before launch" cadence: "~2 years" refresh: on_source_update display: decimals: 0 sigFigs: 4 unit: { fr: "tonnes", en: "tonnes" } constraints: { maxAbsRatePerSec: 10, maxJumpOnRefit: 2000000 } windows: [ytd, today, session] uncertaintyFraction: 0.15 editorialNote: fr: "Estimation Global E-waste Monitor (~65 Mt/an) — intervalle affiché." en: "Global E-waste Monitor estimate (~65 Mt/yr) — interval displayed." - id: clothes_produced_ytd name: { fr: "Vêtements produits cette année", en: "Garments produced this year" } domain: economy priority: v1 kind: cumulative level: 0 model: linear-ytd-v1 unit: units sources: - id: ellen_macarthur name: "Ellen MacArthur Foundation / McKinsey (textile)" url: https://www.ellenmacarthurfoundation.org/topics/fashion/overview license: "Report estimate — citation required" licenseNote: "verify reuse terms before launch" cadence: occasional refresh: on_source_update display: decimals: 0 sigFigs: 3 unit: { fr: "vêtements", en: "garments" } constraints: { maxAbsRatePerSec: 10000, maxJumpOnRefit: 5000000000 } windows: [ytd, today, session] uncertaintyFraction: 0.3 editorialNote: fr: "Estimation à très large intervalle (~120 Md de pièces/an) — mention « estimation » obligatoire." en: "Very wide-interval estimate (~120 B garments/yr) — 'estimate' label mandatory." - id: military_school_meals name: fr: "Repas scolaires équivalents aux dépenses militaires" en: "School meals equivalent of military spending" domain: economy priority: v1 kind: derived level: derived model: derived unit: meals sources: - id: sipri_wfp name: "Juxtaposition SIPRI ÷ PAM (~0,25 $ par repas scolaire)" url: https://www.wfp.org/school-meals license: "Derived juxtaposition — cite SIPRI and WFP" licenseNote: "verify WFP cost-per-meal figure before launch" cadence: yearly refresh: on_source_update display: decimals: 0 sigFigs: 4 unit: { fr: "repas", en: "meals" } windows: [today, session, ytd] derived: op: linear-combination inputs: [{ id: military_spend_ytd, weight: 4.0 }] uncertaintyFraction: 0.3 editorialNote: fr: "Juxtaposition assumée (signature éditoriale) : chaque dollar militaire = ~4 repas scolaires du PAM. Ordre de grandeur, intervalle affiché." en: "Deliberate juxtaposition (editorial signature): every military dollar = ~4 WFP school meals. Order of magnitude, interval displayed."