Explaining Social Policy Expansion: The Curious Case of the Justin Trudeau Era in Canada
Bibliographic record
Abstract
ABSTRACT Since late 2015, the successive Justin Trudeau Liberal governments have enacted significant social policy expansion, including the adoption of new programs or the expansion of existing social policies in areas such as childcare, dental care, family benefits, old‐age security, and income support for the working poor. This expansion came as a surprise to many political observers and contrasts with the era of “permanent austerity” (Paul Pierson) that has characterized social policies in advanced democracies since the early 1980s. Why did the Liberal Party of Canada (LPC) under Justin Trudeau proceed to such significant social policy expansion? In this paper, we argue that this social policy expansion can be explained by an alignment of electoral interests, institutions, and ideas. Most importantly, we show that the LPC's program drifted towards the left to resemble the NDP's platforms in 2015 and to attract voters that demanded more spending after a decade of conservative governments. We contend that this expansionary dynamic was also facilitated by the presence of vertical fiscal imbalance, which exacerbated public demand for social policy expansion as a response to provincial inaction and helped the federal government to fund its social policy expansion by deficits rather than higher taxes. Finally, from an ideational standpoint, we argue that the policy consensus shifted from neoliberal budget restraint to an emphasis on fighting inequality and stimulating demand.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.004 | 0.007 |
| Meta-epidemiology (narrow) | 0.000 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.000 |
| Bibliometrics | 0.002 | 0.003 |
| Science and technology studies | 0.027 | 0.019 |
| Scholarly communication | 0.008 | 0.002 |
| Open science | 0.001 | 0.005 |
| Research integrity | 0.003 | 0.005 |
| Insufficient payload (model declined to judge) | 0.006 | 0.000 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".