live record51.0447°N · 114.0719°Walt 1045 m
file 04.atopic · transitfree fare zoneprimary-source
last updated · May 8, 2026

Calgary’s downtown Free Fare Zone.

The 7 Avenue corridor where Calgary Transit has been free since 1981 is under active Council review. This page collects what’s actually been said and decided: the motion text, the City staff report, ridership counts, the full decision history since 1981, and the claims now circulating online — every number linked to the original document.

fig 04.a · transitoperating cost
$0
/year
City staff’s May 7 review: “no significant operating or capital cost impacts to remove the Free Fare Zone.”(IP2026-0286 attach. 2)
established
1981
Introduced as a pilot project to encourage early adoption of the new CTrain service.(admin report IP2026-0286)
survey-based · best case
$5M/year
In a Nov 2025 survey, 23% of zone riders said they’d pay if removed; 34% would leave.(IP2026-0286 · projection)
zone ridership
9.8M·2024
Total riders inside the zone in 2024 (Open Calgary’s ridership dataset).(Open Calgary · annual)
verification
primary-verified
derivation
Hand-authored from primary sources read at 2026-05-07; hero block reorganised on 2026-05-08 to lead with the operating-cost finding from IP2026-0286 Attachment 2; on 2026-05-08 the overview page was retired (its content lived in geographic_scope, watch_state, and claims_links — all of which were dropped from this artefact when the overview route became a redirect to /history). The previous FeatureStat (9.8M ridership pulled from numbers.json) is now BentoStat #3 — the cross-artefact invariant that bound feature_stat.value to numbers.derived.hero_stat_value.value_display has been retired (data-model.md note added in the same change). FeatureStat (‘$0 / yr operating cost change’) sourced from IP2026-0286 Attachment 2 p. 24 ‘Costs’ key takeaways (‘Overall, there are no significant operating or capital cost impacts to remove the Free Fare Zone.’) and cross-checked against the p. 25 performance-snapshot table cell (Operating costs row → ‘No change’). The ‘$0’ rendering presents admin’s assessment as a number; admin frames the figure as a removal-impact delta (no change from removing the zone), which by direct implication entails the zone has no significant standalone operating cost today — that inference is admin’s own (their assessment names this as the cost picture). The verbatim ‘no significant’ qualifier lives in the foot. BentoStat #1 (‘established 1981’) quoted from IP2026-0286 main report p. 2 DISCUSSION (‘introduced in 1981 as a pilot project to encourage early adoption of the new CTrain service’). BentoStat #2 (‘survey-based · best case $5M /yr’) quotes the verbatim ‘up to’ qualifier from IP2026-0286 main report p. 4 Cost savings (‘would increase fare revenue by up to $5 million annually’); the kicker calls out the methodology weakness (self-report, ceiling) and the foot surfaces the 23%-pay / 34%-find-alternative split from the customer-intercept survey (Attach. 2 p. 7) so the reader sees the contingency the projection rests on. BentoStat #3 (‘9.8M ridership · 2024’) is the iema-jbc4 SUM(free_fare_zone_ridership) for 2024, demoted from FeatureStat — value matches numbers.json’s derived.hero_stat_value.value_display (re-tied by hand, no longer enforced).
sources
[02]

Annual ridership and system share

The Free Fare Zone’s annual ridership and the Calgary Transit system total it sits inside, from Open Calgary’s Calgary Transit Ridership dataset (iema-jbc4), summed by year from 2007 to the most recent year. The 2024 value — 9.8M on the FFZ column, 9.7%of the system — is also surfaced as a bento stat in the piece header above.

2007: FFZ 6,051,000, system total 90,296,395, share 6.7%. 2008: FFZ 6,802,000, system total 95,314,049, share 7.1%. 2009: FFZ 6,941,999, system total 94,150,917, share 7.4%. 2010: FFZ 7,446,913, system total 94,367,630, share 7.9%. 2011: FFZ 7,446,900, system total 96,203,727, share 7.7%. 2012: FFZ 7,446,900, system total 101,971,614, share 7.3%. 2013: FFZ 7,343,800, system total 107,461,705, share 6.8%. 2014: FFZ 7,446,900, system total 110,246,116, share 6.8%. 2015: FFZ 8,540,060, system total 109,974,561, share 7.8%. 2016: FFZ 8,540,060, system total 102,498,953, share 8.3%. 2017: FFZ 8,540,060, system total 101,929,472, share 8.4%. 2018: FFZ 8,540,060, system total 105,348,048, share 8.1%. 2019: FFZ 8,540,060, system total 106,485,383, share 8%. 2020: FFZ 5,932,732, system total 50,947,984, share 11.6%. 2021: FFZ 2,744,666, system total 31,347,700, share 8.8%. 2022: FFZ 7,073,888, system total 56,909,900, share 12.4%. 2023: FFZ 9,099,702, system total 89,965,700, share 10.1%. 2024: FFZ 9,782,485, system total 101,149,900, share 9.7%. 2025 (Jan-Sep): FFZ 4,537,546, system total 48,514,300, share 9.3%.030M60M90M120M2007: system total 90,296,3952007: FFZ 6,051,000 · 6.7% of system 90,296,3956.7%20072008: system total 95,314,0492008: FFZ 6,802,000 · 7.1% of system 95,314,0497.1%2009: system total 94,150,9172009: FFZ 6,941,999 · 7.4% of system 94,150,9177.4%20092010: system total 94,367,6302010: FFZ 7,446,913 · 7.9% of system 94,367,6307.9%2011: system total 96,203,7272011: FFZ 7,446,900 · 7.7% of system 96,203,7277.7%20112012: system total 101,971,6142012: FFZ 7,446,900 · 7.3% of system 101,971,6147.3%2013: system total 107,461,7052013: FFZ 7,343,800 · 6.8% of system 107,461,7056.8%20132014: system total 110,246,1162014: FFZ 7,446,900 · 6.8% of system 110,246,1166.8%2015: system total 109,974,5612015: FFZ 8,540,060 · 7.8% of system 109,974,561 · estimate-fill plateau7.8%20152016: system total 102,498,9532016: FFZ 8,540,060 · 8.3% of system 102,498,953 · estimate-fill plateau8.3%2017: system total 101,929,4722017: FFZ 8,540,060 · 8.4% of system 101,929,472 · estimate-fill plateau8.4%20172018: system total 105,348,0482018: FFZ 8,540,060 · 8.1% of system 105,348,048 · estimate-fill plateau8.1%2019: system total 106,485,3832019: FFZ 8,540,060 · 8% of system 106,485,383 · estimate-fill plateau8%20192020: system total 50,947,9842020: FFZ 5,932,732 · 11.6% of system 50,947,98411.6%2021: system total 31,347,7002021: FFZ 2,744,666 · 8.8% of system 31,347,7008.8%20212022: system total 56,909,9002022: FFZ 7,073,888 · 12.4% of system 56,909,90012.4%2023: system total 89,965,7002023: FFZ 9,099,702 · 10.1% of system 89,965,70010.1%20232024: system total 101,149,9002024: FFZ 9,782,485 · 9.7% of system 101,149,9009.7%2025: system total 48,514,3002025 (Jan-Sep): FFZ 4,537,546 · 9.3% of system 48,514,3009.3%2025(Jan-Sep)

Free Fare Zone ridership · system total ridership · share % labels above each FFZ bar.

Hatched bars (2015–2019): estimate-fill plateau in the upstream dataset (identical 8,540,060 across all five years — not a measured year-over-year sequence). Striped bar (2025 partial year): January through Sep only; rendered honestly so a reader does not extrapolate it to a full year and excluded from the headline FeatureStat.

The 2024 share — 9.7%— is what the ‘loses money’ framing has to land against: the FFZ corridor is roughly one in ten trips on the system, and admin’s own up-to-$5M projected uplift is conditional on the 23%-would-pay survey response.

data · data.calgary.ca / iema-jbc4

Methodology

The series is the verbatim aggregate of two columns on dataset iema-jbc4 free_fare_zone_ridership and ridership(the system total) — grouped by year and ordered by year, filtered to year>=2007. The verbatim SoQL is recorded in the artefact’s meta.derivation so it is re-runnable from the source URL below. Per-year ffz_share is computed once in scripts/transit/free_fare_zone/numbers.py at generate time as ffz_ridership / total_ridership so the rebuttal in claims.json reads from a single source of truth rather than re-implementing the division in TS prose.

The Socrata response envelope re-renders volatile keys per request even when the data is unchanged, so the source is hashed under hash_strategy: json-canonical — volatile top-level keys are dropped and the payload is serialised with sorted keys before hashing. A verify.py --refetch run that reports drift therefore measures real content change, not render noise.

Two–three upstream caveats are surfaced honestly rather than smoothed over: (1) 2015–2019 in the published dataset carry the identical FFZ value 8,540,060 across all five years — implausible as a measured year-over-year sequence, almost certainly a placeholder fill — so those bars are rendered with a hatched fill on the chart and flagged estimate_fill: true on their series rows. (2) The most recent year (2025) covers only 9 of 12 months at the time of retrieval; that row is rendered with a striped fill, flagged partial: true, and excluded from the headline FeatureStat so it does not jump downward each January. (3)The column’s unit is undocumented in the dataset’s column metadata — the most recent full-year total (9.8M) does not match the May 7 2026 IPC admin report’s “about 5.4 million trips per year” restatement, which likely reflects this column counting boardings rather than linked trips. The hero stat is labelled “ridership column · 2024” for that reason; readers should not promote it to a trips claim.