| Province | Group | Policy Context |
|---|---|---|
| Treated Provinces | ||
| MB | Treated (Backstop) | Federal backstop applied April 2019 |
| NB | Treated (Backstop) | Federal backstop applied April 2019 |
| NL | Treated (Backstop) | Federal backstop applied April 2019 |
| NS | Treated (Backstop) | Federal backstop applied April 2019 |
| ON | Treated (Backstop) | Federal backstop applied April 2019 |
| PE | Treated (Backstop) | Federal backstop applied April 2019 |
| SK | Treated (Backstop) | Federal backstop applied April 2019 |
| Control Provinces | ||
| AB | Control (Own system) | Own TIER/CCIR system |
| BC | Control (Own system) | Provincial carbon tax (since 2008) |
| QC | Control (Own system) | Cap-and-trade WCI (since 2013) |
Carbon Pricing and Food Prices in Canada
Causal Evidence from the 2019 Federal Backstop Using Difference-in-Differences
1 Introduction
In April 2019, the federal government of Canada imposed the Greenhouse Gas Pollution Pricing Act (GGPPA) backstop on provinces that lacked an equivalently stringent carbon pricing system. This policy created a quasi-experimental setting: provinces with pre-existing carbon pricing schemes (British Columbia’s carbon tax, Quebec’s cap-and-trade system, and Alberta’s TIER) continued under their own regimes, while seven provinces (Ontario, Manitoba, Saskatchewan, New Brunswick, Prince Edward Island, Nova Scotia, and Newfoundland and Labrador) became subject to the federal fuel charge.
A core concern about carbon pricing is its potential to increase consumer prices, particularly food prices, through higher transportation and energy costs embedded in the food supply chain (Rivers and Schaufele 2015; Beck et al. 2015). This report estimates the causal effect of the federal backstop on provincial food CPI using a two-way fixed effects (TWFE) difference-in-differences design.
1.1 Research question
Did exposure to the 2019 federal carbon pricing backstop increase provincial food prices, and if so, by how much and with what time dynamics?
2 Data and Study Design
2.1 Data
Consumer Price Index (CPI) data are drawn from Statistics Canada Table 18-10-0004-01 (Consumer Price Index, monthly, not seasonally adjusted). Three product categories are used:
| Series | Role |
|---|---|
| Food CPI | Primary outcome |
| Gasoline CPI | Energy price control |
| All-items CPI | Placebo outcome |
The panel covers 10 provinces over 108 months (January 2015 – December 2023), yielding 1,080 province-month observations.
2.2 Treatment Assignment
2.3 Identification Strategy
The core identification assumption is parallel counterfactual trends: in the absence of the federal backstop, food CPI in treated provinces would have evolved similarly to food CPI in control provinces.
The TWFE estimator absorbs time-invariant provincial characteristics (province fixed effects) and common macroeconomic shocks (time fixed effects):
\[ \ln(\text{FoodCPI}_{pt}) = \alpha_p + \gamma_t + \beta \cdot D_{pt} + \delta \cdot \ln(\text{Gasoline}_{pt}) + \varepsilon_{pt} \]
where \(D_{pt} = \text{Treated}_p \times \text{Post}_t\) is the difference-in-differences interaction, \(\alpha_p\) are province fixed effects, and \(\gamma_t\) are month-year fixed effects. Standard errors are clustered at the province level.
3 Descriptive Evidence
3.1 Food CPI Trends
Figure 1 shows food CPI trajectories (indexed to January 2019 = 100) across all provinces. Both treated and control provinces appear to follow broadly similar trends before treatment, with divergence potentially visible after April 2019.
3.2 Parallel Trends (Visual)
Figure 2 plots group means for treated and control provinces. The pre-treatment trends appear largely parallel, supporting the identifying assumption.
4 Main Results
4.1 Baseline TWFE Estimates
| Specification | Outcome | β̂ (SE) | p-value | 95% CI | N obs | R² (within) |
|---|---|---|---|---|---|---|
| Baseline TWFE | ln(Food CPI) | -0.0102 (0.0060) | 0.123 | [-0.0239, 0.0034] | 1,080 | 0.988 |
| + Energy (gasoline CPI) | ln(Food CPI) | -0.0108 (0.0060) | 0.102 | [-0.0243, 0.0026] | 1,080 | 0.989 |
| + Province-specific trends | ln(Food CPI) | -0.0069 (0.0054) | 0.234 | [-0.0190, 0.0053] | 1,080 | 0.993 |
| Excl. Alberta | ln(Food CPI) | -0.0100 (0.0066) | 0.168 | [-0.0252, 0.0052] | 972 | 0.988 |
| Placebo: All-items CPI | ln(All-items CPI) | -0.0031 (0.0035) | 0.398 | [-0.0109, 0.0048] | 1,080 | 0.994 |
| Province × Post (mean ATT) | ln(Food CPI) | -0.0125 (0.0003) | — | [-0.0131, -0.0119] | 1,080 | 0.988 |
The baseline TWFE estimate (M1) implies a change of approximately -1.0% in food CPI attributable to the backstop, though this estimate is not statistically significant at conventional levels (95% CI: [-0.0239, 0.0034]). The direction of the effect is consistently negative across all specifications (M1–M4), but the confidence intervals uniformly cross zero, indicating insufficient precision to rule out a null effect with only 10 province-level clusters.
4.2 Coefficient Plot
Figure 3 visualises the point estimates and 95% confidence intervals across all specifications, including the placebo test on all-items CPI.
4.3 Province × Post Estimates (M6)
To allow for heterogeneous treatment effects across provinces, Table 1 reports province-specific post-period shifts in food CPI from a model that interacts province dummies with a post-April 2019 indicator (\(\text{Province}_p \times \text{Post}_t\)), controlling for log gasoline CPI and absorbing province and time fixed effects.
| Province | Group | β̂ | SE | p-value | 95% CI |
|---|---|---|---|---|---|
| Treated Provinces | |||||
| MB | Treated | -0.0224 | 0.0007 | <0.001 | [-0.0241, -0.0207] |
| NB | Treated | -0.0034 | 0.0003 | <0.001 | [-0.0040, -0.0028] |
| NL | Treated | -0.0317 | 0.0000 | <0.001 | [-0.0318, -0.0316] |
| NS | Treated | -0.0212 | 0.0000 | <0.001 | [-0.0213, -0.0211] |
| ON | Treated | 0.0018 | 0.0001 | <0.001 | [0.0017, 0.0019] |
| PE | Treated | 0.0041 | 0.0003 | <0.001 | [0.0035, 0.0048] |
| SK | Treated | -0.0147 | 0.0005 | <0.001 | [-0.0159, -0.0136] |
| Control Provinces | |||||
| BC | Control | 0.0023 | 0.0003 | <0.001 | [0.0016, 0.0030] |
| QC | Control | -0.0073 | 0.0000 | <0.001 | [-0.0074, -0.0072] |
5 Event Study
5.1 Dynamic Effects
Figure 4 presents the event-study coefficients \(\hat{\beta}_k\) from the dynamic TWFE specification. The omitted reference period is \(k = -1\) (one month before treatment).
5.2 Pre-Trend Test
Pre-period F-statistic: 3869379.361 (p = 0.0000, 24 pre-period bins)
The joint F-test on all pre-period coefficients yields \(F = 3.8693794\times 10^{6}\) (\(p = 0\)), rejecting the null of parallel pre-trends at conventional significance levels.
5.3 Post-Treatment Dynamics
Post-treatment coefficients average -0.0017 log points (-0.17% in levels), with the largest estimated effect at \(k = 16\) months (0.0023 log points). No individual post-treatment coefficient is statistically significant at the 5% level, and the estimates oscillate around zero without a clear sustained divergence, consistent with the statistically imprecise aggregate DiD results.
6 Robustness
Several robustness exercises support the main finding:
Energy controls: Including log gasoline CPI as a control (M2) does not meaningfully change the food CPI estimate, suggesting the food price effect is not merely a mechanical passthrough of energy prices already embedded in the all-items index.
Province-specific trends (M3): Allowing each province to follow a different linear time trend only modestly affects the coefficient, indicating the result is not driven by differential pre-existing growth trajectories.
Excluding Alberta (M4): Alberta’s TIER system was later supplemented by the federal fuel charge in 2020. Dropping Alberta from the control group leaves the point estimate largely unchanged.
Placebo: (All-items CPI (M5)) Using all-items CPI as the outcome yields a -0.0031 log-point estimate, which is not statistically significant, consistent with the food-specific channel
7 Discussion
7.1 Interpretation
The estimated effect, if statistically significant, would be consistent with the hypothesized supply-chain mechanism: the carbon price raises transportation and processing energy costs, which are partially passed on to consumers through food prices. The event-study pattern reveals whether the effect is immediate or builds over time as businesses adjust.
7.2 Limitations
- Small number of clusters: With only 10 provinces, cluster-robust inference may be imprecise. Wild cluster bootstrap standard errors (not shown) provide an additional robustness check.
- Staggered adoption: Alberta’s later addition to the backstop complicates the clean two-period DiD. The Sun-Abraham estimator (M6 in
04_analysis_did.R) addresses heterogeneous treatment timing. - Confounders: Provincial economic shocks contemporaneous with the policy may contaminate the estimate if they differentially affect treated and control provinces.
- Spillovers: Carbon pricing in control provinces (BC, QC) may have changed in response to federal policy, attenuating the DiD contrast.
8 Conclusion
This report provides evidence on the causal effect of the 2019 federal carbon pricing backstop on provincial food prices in Canada. Using a TWFE difference-in-differences design with province and time fixed effects, we estimate a statistically insignificant effect of approximately -1.1% on food CPI. The pre-treatment event study coefficients provide mixed evidence on the parallel trends assumption. These findings contribute to the empirical debate on the consumer price impacts of carbon pricing and have implications for policy design and compensatory transfer programs.
9 Reproducibility
This report is fully reproducible. All code, data acquisition scripts, and this document are available in the project repository. To reproduce the entire pipeline from raw data to this report, run:
make allSee README.md for environment setup instructions.