Pre-registration
Canadian real household disposable income per capita has stagnated or grown more slowly than in comparable resource-plus-anglophone-plus-small- open-developed economies (USA, AUS, NZL, GBR, NOR, CHE) over 2015-2023, once adjusted for CPI and household size. The claim is narrowly about the household-sector purchasing-power trajectory — not aggregate output and not pre-tax labour earnings in isolation — because the relevant welfare metric for a household under the 2015-present Canadian policy mix is after-tax-and-transfer real income per capita. The hypothesis additionally tests whether, once housing costs are netted out (real disposable income net of shelter expenditure), the Canadian trajectory is worse than the headline series suggests, since Canadian house prices and rents rose substantially faster than the donor-pool average over the sample window.
Falsification criterion — what would disprove this
This hypothesis is considered falsified if:
Not supported if β_canada_post_2015 is non-negative (>= 0) at p < 0.10 in both (a) the OECD household-disposable-income primary spec and (b) the WDI GNI-per-capita proxy spec. Supported-tentative if negative and significant in only one of the two specs. Supported if negative and significant in both, with the housing-netted specification reported as secondary evidence on real purchasing- power. If the transfer-share decomposition channel shows that transfer-share increases in Canada fully offset pre-tax wage weakness (i.e., disposable income after transfers tracks the donor pool even while pre-tax wages do not), the result card must report this explicitly: Canadian redistribution absorbed the market-income shock, and the "household-income stagnation" framing is inaccurate even if the "market-income stagnation" framing is accurate.
formal test & threshold
test: canada_post_2015_household_income_twfe_two_spec threshold: β_canada_post_2015 < 0 at p < 0.10 in OECD primary spec AND β_canada_post_2015 < 0 at p < 0.10 in WDI GNI proxy spec.
Method
- Template
panel_fe- Fixed effects
country, year- Clustering
country- Sample
- 7 countries · 2000 – 2023
- Evidence type
- causal
Primary: TWFE on log real household disposable income per capita with country and year fixed effects. β_canada_post_2015 identifies the Canadian household-income trajectory deviation from the donor pool's time-average. Two-spec rule (per METHODOLOGY.md): the primary spec uses OECD household disposable income; the secondary spec uses WDI GNI per capita (PPP, constant) as proxy, with identical fixed effects and treatment indicator. Both specifications reported. A finding supported under BOTH passes the two-spec rule; supported under only one is reported as tentative. Housing-netted specification: construct "real household disposable income net of shelter" = household disposable income per capita minus a fitted shelter-expenditure estimate (BIS RPP × shelter- weight from OECD household accounts). Re-estimate the TWFE on this netted series. Expected direction: Canadian gap widens once shelter is netted out, because housing cost growth absorbed a larger share of nominal income in Canada than in the donor pool. Data-gate: this hypothesis is flagged as v1.1 fetcher requirement. The OECD Household Dashboard dataflow URNs must be verified before first run; the Statistics Canada cross-walk must be implemented for Canada-specific robustness. Until the primary series is available, runs will use GNI-per-capita proxy only and explicitly label findings as proxy-based.
Data
| Variable | Source | Transform |
|---|---|---|
real_household_net_disposable_income_per_capita outcome | oecd:OECD.SDD.NADtier 2 | log |
gni_per_capita_ppp_constant outcome | world_bank_wdi:NY.GNP.PCAP.PP.KDtier 2 | log |
real_wage_growth_cumulative outcome | oecd:OECD.ELS.SAEtier 2 | cumulative_index_2015_base |
canada_post_2015 treatment | constructed:indicator = 1 if country=CAN and year >= 2015; 0 otherwise.tier 5 | indicator |
real_house_price_index channel | bis:WS_SPP_RPPtier 2 | cumulative_index_2015_base |
household_debt_to_disposable_income channel | oecd:OECD.SDD.NADtier 2 | level |
net_transfers_share_of_household_income channel | oecd:OECD.SDD.NADtier 2 | level |
log_population control | world_bank_wdi:SP.POP.TOTLtier 2 | log |
cpi_inflation_annual control | world_bank_wdi:FP.CPI.TOTL.ZGtier 2 | level |
terms_of_trade_index control | world_bank_wdi:TT.PRI.MRCH.XD.WDtier 2 | level |
● ready · ● pending · ● reconstruct-needed
Detailed result card
Result card — canada_real_disposable_income_post_2015
Verdict: PARTIAL — coef=-0.02236, p=0.451 (above α=0.1); direction inconclusive
Pre-registration
- Claim: Canadian real household disposable income per capita has stagnated or grown more slowly than in comparable resource-plus-anglophone-plus-small- open-developed economies (USA, AUS, NZL, GBR, NOR, CHE) over 2015-2023, once adjusted for CPI and household size. The claim is narrowly about the household-sector purchasing-power trajectory — not aggregate output and not pre-tax labour earnings in isolation — because the relevant welfare metric for a household under the 2015-present Canadian policy mix is after-tax-and-transfer real income per capita. The hypothesis additionally tests whether, once housing costs are netted out (real disposable income net of shelter expenditure), the Canadian trajectory is worse than the headline series suggests, since Canadian house prices and rents rose substantially faster than the donor-pool average over the sample window.
- Falsification rule: Not supported if β_canada_post_2015 is non-negative (>= 0) at p < 0.10 in both (a) the OECD household-disposable-income primary spec and (b) the WDI GNI-per-capita proxy spec. Supported-tentative if negative and significant in only one of the two specs. Supported if negative and significant in both, with the housing-netted specification reported as secondary evidence on real purchasing- power. If the transfer-share decomposition channel shows that transfer-share increases in Canada fully offset pre-tax wage weakness (i.e., disposable income after transfers tracks the donor pool even while pre-tax wages do not), the result card must report this explicitly: Canadian redistribution absorbed the market-income shock, and the "household-income stagnation" framing is inaccurate even if the "market-income stagnation" framing is accurate.
- Falsification test: canada_post_2015_household_income_twfe_two_spec
Estimate
- Method: linearmodels.PanelOLS
- Coefficient (treatment): -0.02236
- Std error: 0.02948
- p-value: 0.451
- Observations: 95, countries: 4
- Within R²: 0.789
- Fixed effects: entity=True, time=True
- Clustering: country
Variables resolved
world_bank_wdi:NY.GNP.PCAP.PP.KD→ gni_per_capita_ppp_constant (outcome, publisher=world_bank_wdi, n=5109)oecd:OECD.ELS.SAE,DSD_EARNINGS@DF_EARN,1.0→ real_wage_growth_cumulative (outcome, publisher=oecd, n=622)constructed: indicator = 1 if country=CAN and year >= 2015; 0 otherwise.→ canada_post_2015 (treatment, publisher=constructed, n=168)bis:WS_SPP_RPP→ real_house_price_index (decomposition_channels, publisher=bis, n=2272)world_bank_wdi:SP.POP.TOTL→ log_population (controls, publisher=world_bank_wdi, n=14447)world_bank_wdi:FP.CPI.TOTL.ZG→ cpi_inflation_annual (controls, publisher=world_bank_wdi, n=7550)world_bank_wdi:TT.PRI.MRCH.XD.WD→ terms_of_trade_index (controls, publisher=world_bank_wdi, n=6478)
Variables missing data
oecd:OECD.SDD.NAD,DSD_NASEC_T14@DF_T14,1.0(outcome, name=real_household_net_disposable_income_per_capita) — vintage not on diskoecd:OECD.SDD.NAD,DSD_NASEC_T7HH@DF_T7HH,1.0(decomposition_channels, name=household_debt_to_disposable_income) — vintage not on diskoecd:OECD.SDD.NAD,DSD_NASEC_T14@DF_T14,1.0 (net current transfers received component)(decomposition_channels, name=net_transfers_share_of_household_income) — vintage not on disk
Generated by scripts/run_panel_fe.py at 2026-06-29T17:53:27+00:00
Strongest opposing argument
Every hypothesis ships with its charitable opposing argument. The framework earns credibility by handling objections at their strongest, not weakest.
Notes
v1.1 dependency: OECD Household Dashboard dataflow URN verification and Statistics Canada CANSIM cross-walk. Primary run before v1.1 must use WDI GNI-per-capita proxy only and be labelled accordingly. The "v1.1 fetcher requirement" marker preserves the pre-registration integrity: the claim, sample, treatment, estimator, and falsification rule are fixed now; only the data source wiring becomes more precise between v1 and v1.1. This is consistent with the pre-registration discipline under METHODOLOGY.md.