Skip to content

Methodology: how this was built, and where it stops

This is a work of argument, and the argument is fierce. That is exactly why the facts under it have to be clean. A polemic that cheats on its numbers hands the people it indicts an easy escape. Dismiss one wrong figure and the whole case goes with it. So this page does the unglamorous thing. It shows how every claim was assembled, names the confidence we have in each, and lays out in plain language every place where the record is more complicated than the thesis would like. If you came here hostile, start here. The honest complications are stated up front, because winning on the material point after conceding the messy ones is the only kind of winning that survives contact with a skeptical reader.

Where the facts come from

The backbone for anything involving a council vote is Edmonton's Open Data portal (a Socrata instance at data.edmonton.ca), which publishes the roll-call voting records with motion details: dataset ekzq-b4qg for the 2021–2025 council and huhs-auh6 for 2017–2021 (Open Data voting datasets). Every vote attributed to Janz or Knack was pulled from those tables by the councillor columns, not from a reporter's summary, so the "who moved it, who voted yes" claims trace to the primary record. The repeatable recipe for that pull (the API pattern, the column-name checks, the filters) lives in the project's pipeline/edmonton-open-data-pipeline.md so this kind of reconstruction can be done quickly again. Everything that is not a recorded vote comes from named sources archived locally under sources/: encampment counts, utility dividends, food-bank numbers, rate filings, the two men's own words. Each one is a saved clipping carrying the key passages, the original URL, and the retrieval date, so the citation survives even if the page it came from disappears or starts returning a 403 behind a paywall. Mainstream news is cited freely, because there is no commercial benefit here and linking the outlet is the honest thing to do; where a primary document exists (an EPCOR rate application, the food bank's own annual report, a court decision), it is preferred over the paraphrase. Every figure on this site is in Canadian dollars with the source year noted; there is no currency conversion anywhere, so nothing hides behind an exchange rate.

Two confidence tiers

Claims carry one of two tags. Confirmed means the figure is nailed to a primary or well-corroborated source and can be headlined as written. Contested does not mean doubtful. It means the honest reading is more careful than a single clean number, because a measure was rebased, a source was secondary, or the data point is an estimate between confirmed anchors. Where a page carries a contested claim, it says so in a "Honest complication" box at the point of the claim, not buried in a footnote. The tag is a promise: if it says confirmed, we will defend the exact number; if it says contested, we are telling you where the edge is before you find it yourself.

The honesty ledger, stated plainly

These are the places the record complicates the thesis. Every one is load-bearing, and the argument is built to survive all of them.

The full ledger of honest complications

We never say Janz supports police. He does not. He moves the cuts, he casts the dissenting vote, and he loses: 5–8, 9–4, 12–1. The exhibit is not a false charge; it is the two-step that follows. He then votes yes on the final 2023 operating budget that funds the police he just failed to cut, and owns the tax increase inside it. Dissent that always converts back into a signature is the thing being named. See the police formula.

The homicide rate did not rise on a trend. This is the single most important correction, because the original framing overreached. Edmonton's homicide rate is volatile. It peaked mid-tenure around 2017 and 2021 and fell to 2.20 in 2024, among the decade's lowest. So we do not claim a rising homicide wave. What we argue instead is stronger for being true: violence spiked to its worst during the pandemic while the police budget grew on a locked formula regardless of the numbers, and the offences that actually climbed in 2024 are the signatures of criminalized poverty: opioid possession up 152%, meth possession up 116%, shoplifting under $5,000 up 12%. The carceral apparatus was processing destitution, not chasing killers. See community and frontline.

Poverty is entrenched, not measured-to-have-risen. The 2015 and 2024 poverty figures rest on different measures (the Market Basket Measure was rebased in between), so they are not clean apples-to-apples. We say poverty stayed entrenched, roughly one in ten, essentially unchanged across a decade of "progressive" government, and we do not put a false decimal-point rise on it.

The electricity commodity is a provincial story. The price of the electricity itself spiked because the UCP removed the 6.8¢ cap in 2019; the regulated rate ran from about $47/MWh in 2020 to $107/MWh in 2021. That is not city hall's doing, and Janz is right to point provincewide. The municipal argument is confined to the instruments council actually controls: the EPCOR dividend, the franchise fee, the water and drainage rate filings, property tax. See energy and water.

The EPCOR dividend's mid-decade years are estimates. The trend and the endpoints are solid, $166M in 2018, $206M in 2026, from EPCOR's own releases, but a few interior years (2015, 2016, 2019, 2020) are interpolated between confirmed anchors and are marked EST. Treat any single interpolated year as an estimate until checked against the City's annual financial reports.

Housing is the least damning part. They met their unit target: the 2023–2026 affordable-housing strategy aimed at 2,700 units and the city committed 2,922. Janz genuinely championed zoning and density reform. The critique here is not "they built nothing." It is the ceiling of ambition (a target sized to close under 6% of the need) and the reactive, downloaded posture of a city that brands itself a leverager of other governments' money. See community and frontline.

The community-fridge point is an absence, not a shutdown. We did not document a specific city order to remove a fridge or close a mutual-aid kitchen, and we do not assert one. The charge is that the city funds this work at $0: non-support, not suppression. See food.

The transit figures lean on secondary sources. The $13M shortfall, the ~22% fare hike, and some 2025 rate figures rest on secondary reporting (CBC returned a 403, corroborated via Taproot and Daily Hive) and are marked medium-confidence. See community and frontline.

Knack's counter-claims are real and get answered, not ignored. He says crime is the lowest in a decade, partly true on homicides, and we concede it while making the poverty-criminalization point. He says Edmonton is among the most affordable major cities, a claim that dies on the food-bank lines and the rent numbers on this site. We do not pretend his best arguments do not exist; we take them and lose them for him.

Quoted speech from video is auto-caption sourced. Several direct quotes come from YouTube auto-generated captions with timestamps. Wording and timestamp want a human spot-check against the audio before any quote is treated as verbatim in publication.

Police violence is correlation and priority, not a trigger the budget pulled. The body count makes no causal claim that the funding formula caused a killing. There is no clean per-year officer-involved-shooting series; the honest anchors are 2022 (a record, ~30% of Canada's fatal police shootings that year), 2024 (nine shootings, four fatal), and thirty-nine deaths in EPS encounters since 2000, never a smooth curve drawn between them. Three figures must not be conflated: the 221 "shootings" EPS reported in 2023 are citywide gun violence, not officer-involved shootings; the ASIRT charged-officer totals are Alberta-wide, not EPS-only; and the racial over-representation among the dead is qualitative in the sources, not a hard EPS percentage. The ninety-one-percent mental-health-and-addictions figure is the solid one. For fairness, EPS lost two officers to gun violence in March 2023, a real loss and a separate category from police killings of civilians. The CBC figures behind this beat were pulled through a reader proxy and want a spot-check against the live pages before publication.

The cold-injury harm we count cleanly is amputations, not deaths. On the bodily toll of the cold the link between the sweeps and the frostbite amputations is a correlation supported by clinical testimony, not a proven cause. The two amputation counts, the fiscal Edmonton-zone series (91/71/110/113) and a separate calendar "Edmonton area" count, use different definitions and geography and do not stack; the fiscal series is the spine, the calendar figures corroboration. Part of the rise is better detection after FOIs, though the steep shape and the majority-unhoused share survive that caveat; and Calgary's lower numbers are over-determined by its aggressive use of the drug iloprost, so the argument rests on Edmonton's own curve and doctors, not a city-versus-city scoreboard. On deaths: the rise from 37 (2019) to 302 (2023) is now HIGH confidence, Alberta Justice data corroborated by Boyle Street at 301 of 302, but the 302 is all homeless deaths, the majority drug poisoning, with exposure an unquantified subset. We never write "302 froze."

On labour, we never call Janz anti-union. The record refutes it. He is union-endorsed three straight elections, opposed the UCP's 2020 school support-staff layoffs, and votes the pro-labour line; the labour exhibit is the wage outcome under his council, not his loyalty. The "Janz signed a letter against the union" claim is unconfirmed and not asserted; the documented episode is the inverse: the Edmonton Police Association's 24 complaints against him (Jan 2022), all dismissed, carceral labour retaliating for police-budget criticism and distinct from the civilian workers' movement. The wage restraint (CSU 52's 0/1.25/2/3 settlement, the firefighters' six years to arbitration) was a closed-session employer decision with no attributable public roll-call. We invent no vote. Both major unions endorsed both men in 2025, which we report because it measures the lesser-evil ceiling, not because the system delivered for workers. Knack's P3 openness is for new capital only; he says he opposes privatizing existing services, and we hold the claim there.

On Palestine, we never brand Knack a sympathizer of the Israeli state or complicit in genocide. This is the project's most defamation-sensitive ground and the discipline is absolute. The charge circulating about the mayor is unsourced, and the single on-record data point contradicts it: in March 2026 he publicly rebuked his own police chief for joining a police delegation to Israel, speaking in the language of solidarity with grieving Palestinian-Edmontonians. We publish only the sourceable version on the closing page: establishment silence (no ceasefire motion in any of the 8,412 recorded 2021–2025 motions, a primary negative) and structural complicity through the police he funds and commands. Silence is council-wide, not a Knack-specific act, and silence is not sympathy for a genocide; we name it as silence only.

All Israel/Palestine criticism here is of a state, its policies, and the policing of protest, never of ethnicity or religion. No antisemitic trope appears or is implied; "Zionism" is treated strictly as a political ideology about a state. The University of Alberta encampment clearing (May 2024) was the university president's decision, executed by EPS. Knack's link is structural (he authored the C604B escalator and commands the force), not a personal vote or statement, and we attribute it exactly that way. The injuries are a documented dispute (police said none serious; faculty and protesters reported four hurt, one hospitalized) and we hold it open as a dispute. We do not conflate the January 2024 homeless-encampment criticism (including Janz's) with the May 2024 Palestine encampment: different events, different force posture. The Treaty 6 / settler-colonial throughline is sourced to the movement's own Statement of Treaty Principles, labelled as argument, never asserted as a fact about any named person.

"Come down on these institutions" and "sweep aside" are electoral and organizing, explicitly not violence. The entire closing argument is about political power: confrontation, organizing, direct material solidarity, and the electoral defeat of the complicit (they beat Cartmell's million once and can beat the incumbent bloc next). It never means force against persons, and we say so on the page. The broader Coalition partner roster and any "deadly exchange" generalization beyond the documented EPS-chief Israel delegation are unverified, so we anchor on the sourced trip and name only the individually-sourced frontline groups. We invent no "Edmonton Copwatch" body, and locate the copwatch/abolition principle inside HARES and Bear Clan. The CBC pages behind this beat were pulled through a reader proxy and want a spot-check against the live pages before publication.

What this method cannot tell you

Two limits worth stating outright. First, the police funding escalator's precise ~5%/year rate is not derivable from the votes themselves. The roll-calls confirm the adoption of the formula (C604A, C604B), but the percentage belongs to the Financial and Corporate Services formula reports and the sibling EPS project, and we say so rather than pretending the vote records prove the rate. Second, the encampment sweeps left almost no council roll-call to pull, because they were administrative actions, not up-or-down votes; that pillar is built from Administration records, the court file, and reporting, and its evidentiary base is different in kind from the utility and budget votes. Naming that difference is part of the honesty, not a hole in it.

The council scorecard, and its honest edges

The whole-council scorecard is computed in code, not eyeballed, straight from the on-disk ekzq-b4qg JSON (multi-term status cross-checked against huhs-auh6). Its central number, the dissent index, is a defined metric and nothing more: the count, across nine named carceral and order motions, of the times a member voted the restraint way. Those nine: the police levy cut, the $407M floor, the transit-enforcement bylaw 19983, the Healthy Streets EPS top-up, formulas C604A and C604B, and shelter clauses 20657/20842/21193. Each motion was located by meeting date, agenda number, and a keyword in the motion text, then every one of the thirteen member columns read and normalized. Four honest edges travel with that number and are stated wherever it appears. The council was not a monolith. A real four-to-five-member dissent cluster orbited Janz, and the claim is only that it never assembled a majority, not that every progressive is a fraud. The 2025 election was not a wipeout. The progressives held their seats and independents kept a supermajority; what died is the ceiling, never a red-to-blue rout. Knack brands "independent," not "progressive". A strategist called him the only progressive candidate and he let it ride, but the label is not put in his own mouth. And absences are counted as non-dissent, the conservative choice, which changes no ranking. The 2023 operating budget is excluded from the nine by design, because it is the counter-exhibit where the pattern inverts. The whole thing is byline Independent research. No author is named anywhere, by design. If you want to check the work rather than trust it, the sources index maps every claim to its clipping, and every clipping to its original URL.