# OECD SDMX mappings for the `oecd` connector (verified with curl on 2026-09-11 — see docs/sources-research.md §3). # dataset = "{AGENCY},{DSD@DF}[,{version}]"; code = full SDMX key, "*" = all REF_AREA. Dimension order is the # dataflow's own order (listed in the notes). Aggregates (OECD, EU27_2020, EA20, G20 …) are dropped at normalize time. sources: # ---------------------------------------------------------------- housing (Analytical house prices, quarterly, 2015=100) - indicator: real-house-price-index dataset: OECD.ECO.MPD,DSD_AN_HOUSE_PRICES@DF_HOUSE_PRICES,1.0 code: "*.Q.RHP.IX" priority: 1 frequency: Q notes: "REF_AREA.FREQ.MEASURE.UNIT_MEASURE — real house price index, seasonally adjusted, 2015=100." - indicator: nominal-house-price-index dataset: OECD.ECO.MPD,DSD_AN_HOUSE_PRICES@DF_HOUSE_PRICES,1.0 code: "*.Q.HPI.IX" priority: 1 frequency: Q notes: Nominal house price index, seasonally adjusted, 2015=100. - indicator: rent-price-index dataset: OECD.ECO.MPD,DSD_AN_HOUSE_PRICES@DF_HOUSE_PRICES,1.0 code: "*.Q.RPI.IX" priority: 1 frequency: Q notes: Rent price index, 2015=100. - indicator: price-to-income-ratio dataset: OECD.ECO.MPD,DSD_AN_HOUSE_PRICES@DF_HOUSE_PRICES,1.0 code: "*.Q.HPI_YDH.IX" priority: 1 frequency: Q notes: Nominal house prices / nominal disposable income per head, 2015=100. - indicator: price-to-rent-ratio dataset: OECD.ECO.MPD,DSD_AN_HOUSE_PRICES@DF_HOUSE_PRICES,1.0 code: "*.Q.HPI_RPI.IX" priority: 1 frequency: Q notes: Nominal house prices / rent prices, 2015=100. - indicator: house-price-growth dataset: OECD.ECO.MPD,DSD_AN_HOUSE_PRICES@DF_HOUSE_PRICES,1.0 code: "*.Q.RHP.IX" priority: 1 frequency: Q transform: yoy notes: "Derived in the connector: year-on-year % change of the real house price index (RHP), quarter vs same quarter a year earlier. No direct growth series in the dataflow." # ---------------------------------------------------------------- labour - indicator: average-annual-wages dataset: OECD.ELS.SAE,DSD_EARNINGS@AV_AN_WAGE code: "*.WG.USD_PPP.A.Q.MEAN._Z" priority: 1 notes: "REF_AREA.MEASURE.UNIT_MEASURE.PAY_PERIOD.PRICE_BASE.AGGREGATION_OPERATION.SEX — average annual wages, USD PPP, constant prices (base 2025)." - indicator: hours-worked dataset: OECD.ELS.SAE,DSD_HW@DF_AVG_ANN_HRS_WKD code: "*.HW.H_Y_PS._Z._Z.EMP.A.ACTUAL._T._Z.MEAN._Z._T" priority: 1 notes: "REF_AREA.MEASURE.UNIT_MEASURE.SEX.AGE.LABOUR_FORCE_STATUS.WORK_PERIOD.HOURS_TYPE.WORKER_STATUS.WORK_TIME_ARNGMNT.AGGREGATION_OPERATION.HOUR_BANDS.JOB_COVERAGE — average actual annual hours worked per person employed, total employment." # ---------------------------------------------------------------- government - indicator: tax-revenue-pct-gdp dataset: OECD.CTP.TPS,DSD_REV_COMP_OECD@DF_RSOECD,2.0 code: "*.TAX_REV.S13._T._T.PT_B1GQ.A" priority: 1 notes: "REF_AREA.MEASURE.SECTOR.STANDARD_REVENUE.CTRY_SPECIFIC_REVENUE.UNIT_MEASURE.FREQ — Revenue Statistics, total tax revenue (_T, accrual) of general government, % of GDP. OECD members + partners; WB GC.TAX.TOTL.GD.ZS (central government, cash) is priority 2." - indicator: social-expenditure-pct-gdp dataset: OECD.ELS.SPD,DSD_SOCX_AGG@DF_SOCX_AGG code: "*.A.SOCX.PT_B1GQ.ES10._T._T._Z" priority: 1 notes: "REF_AREA.FREQ.MEASURE.UNIT_MEASURE.EXPEND_SOURCE.SPENDING_TYPE.PROGRAMME_TYPE.PRICE_BASE — SOCX public social expenditure (ES10), all programmes, % of GDP." # ---------------------------------------------------------------- health - indicator: hospital-beds-per-1000 dataset: OECD.ELS.HD,DSD_HEALTH_REAC_HOSP@DF_HOSP_REAC code: "*.HB.10P3HB._Z._Z._T._T._Z._Z" priority: 2 notes: "REF_AREA.MEASURE.UNIT_MEASURE.STATISTICAL_OPERATION.OWNERSHIP_TYPE.HEALTH_FUNCTION.CARE_TYPE.MEDICAL_TECH.HEALTH_CARE_PROVIDER — total hospital beds per 1 000 population (all functions, all care types)." - indicator: physicians-per-1000 dataset: OECD.ELS.HD,DSD_HEALTH_EMP_REAC@DF_PHYS code: "*.HSE.10P3HB._Z._Z.PHYS._Z.LP._Z" priority: 2 notes: "REF_AREA.MEASURE.UNIT_MEASURE.AGE.SEX.HEALTH_PROF.WORKER_STATUS.HEALTH_PROF_ACTIVITY_STATUS.PRICE_BASE — practising physicians (LP) per 1 000 population, head counts. DF_NURSE does not exist (404) so nurses stay with WB." # ---------------------------------------------------------------- education (Education at a Glance, adult attainment) - indicator: tertiary-attainment-25-64 dataset: OECD.EDU.IMEP,DSD_EAG_LSO_EA@DF_LSO_NEAC_DISTR_EA code: "*._T.Y25T64.ISCED11A_5T8._T.POP._Z._T._Z.ED_NED.POP._Z.PT_POP_SEX_AGE.OBS._Z.NEAC.A" priority: 1 notes: "REF_AREA.SEX.AGE.ATTAINMENT_LEV.EDUCATION_FIELD.MEASURE.INCOME.BIRTH_PLACE.MIGRATION_AGE.EDU_STATUS.LABOUR_FORCE_STATUS.DURATION_UNEMP.UNIT_MEASURE.STATISTICAL_OPERATION.WORK_TIME_ARNGMNT.QUESTIONNAIRE.FREQ — share of 25–64 year-olds with tertiary education (ISCED 5–8); STATISTICAL_OPERATION=OBS (SE rows are standard errors)." - indicator: tertiary-attainment-25-34 dataset: OECD.EDU.IMEP,DSD_EAG_LSO_EA@DF_LSO_NEAC_DISTR_EA code: "*._T.Y25T34.ISCED11A_5T8._T.POP._Z._T._Z.ED_NED.POP._Z.PT_POP_SEX_AGE.OBS._Z.NEAC.A" priority: 1 notes: Share of 25–34 year-olds with tertiary education (ISCED 5–8). - indicator: upper-secondary-attainment dataset: OECD.EDU.IMEP,DSD_EAG_LSO_EA@DF_LSO_NEAC_DISTR_EA code: "*._T.Y25T64.ISCED11A_0T2._T.POP._Z._T._Z.ED_NED.POP._Z.PT_POP_SEX_AGE.OBS._Z.NEAC.A" priority: 1 transform: "100 - x" notes: "At least upper secondary = 100 − share of 25–64 year-olds with below upper secondary attainment (ISCED 0–2); the dataflow has no ISCED 3–8 aggregate." # ---------------------------------------------------------------- innovation - indicator: rd-expenditure-pct-gdp dataset: OECD.STI.STP,DSD_MSTI@DF_MSTI code: "*.A.G.PT_B1GQ._Z._Z" priority: 2 notes: "REF_AREA.FREQ.MEASURE.UNIT_MEASURE.PRICE_BASE.TRANSFORMATION — MSTI gross domestic expenditure on R&D (GERD), % of GDP." # ---------------------------------------------------------------- economy (Key short-term economic indicators) - indicator: industrial-production-index dataset: OECD.SDD.STES,DSD_KEI@DF_KEI,4.0 code: "*.M.PRVM.IX.BTE.Y._Z" priority: 1 frequency: M notes: "REF_AREA.FREQ.MEASURE.UNIT_MEASURE.ACTIVITY.ADJUSTMENT.TRANSFORMATION — production volume index, industry except construction (BTE), calendar and seasonally adjusted, 2015=100."