Methodology
Every indicator on the dashboard is fetched from a primary public source by a versioned ingestion script that bounds-checks the result before writing. This page documents the source table, the transformations applied, the cadence, and the known caveats per indicator.
Bank of Canada policy rate
- Source: Bank of Canada Valet API, series
V39079(Target for the overnight rate). - Transformation: None. The value at each observation date is the rate in force from that date forward until the next change.
- Last-change detection: Walks the series backward from the latest observation; the first value that differs from current marks the day before the most recent move.
- Next decision: Scraped from the BoC key-interest-rate page's "Schedule for {year}" tables on each refresh. The Bank publishes its decision calendar a year in advance but does not expose it via a structured endpoint; the scraped schedule is cached on disk so a scrape failure falls back to the previous list rather than wiping the field.
- Plausibility bound: [0, 10] percent. The script refuses to write if the latest value falls outside.
- Cadence: Eight scheduled decisions per year, plus possible inter-meeting moves. The dashboard re-fetches daily.
CPI inflation
- Sources: StatCan Table 18-10-0004 (basket-level CPI) for headline; Table 18-10-0256 (Bank of Canada core measures) for CPI-trim and CPI-median.
- Headline transformation: Year-over-year percent change computed from the monthly index:
(index_t / index_(t-12) - 1) × 100. - Core measures: Read directly from 18-10-0256 as the published YoY series. The table also carries an index-based form of CPI-trim and CPI-median (base 1989M01=100); the script filters to the "year-over-year percent change" variant only, with a bounds check to catch mis-routing.
- Plausibility bound: [-5, 15] percent year-over-year. The script refuses to write if any recent value falls outside.
- Cadence: Monthly, released around the third week of the following month.
- Caveats: CPI revisions are rare and minor; the basket weight update happens every 1-2 years.
Unemployment rate
- Source: StatCan Labour Force Survey, Table 14-10-0287 via the WDS REST API. Three vectors: Canada (
v2062815), Ontario (v2063949), Quebec (v2063760). - Filter: Unemployment rate, both sexes, 15 years and over, seasonally adjusted. Vector identities are validated at runtime via
getSeriesInfoFromVectorand the script bails if the description does not match the expected geography and measure. - Transformation: None. The value is the unemployment rate as published.
- Plausibility bound: [2, 20] percent.
- Cadence: Monthly, released on the first Friday of the following month.
- Caveats: LFS sampling variance is non-trivial at the provincial level. The dashboard surfaces three large geographies; the smaller provinces would carry a wider confidence interval that this view does not display.
Real GDP
- Source: StatCan Table 36-10-0434 (GDP at basic prices, by industry, monthly).
- Filter: Geography = Canada; NAICS = All industries; Prices = Chained (2017) dollars; Seasonal adjustment = Seasonally adjusted.
- Transformation: Year-over-year percent change computed from the monthly level:
(level_t / level_(t-12) - 1) × 100. - Plausibility bound: [-15, 15] percent year-over-year. The script refuses to write if any recent value falls outside.
- Cadence: Monthly, published roughly 60 days after the reference month. The dashboard tile flags this lag.
- Caveats: Monthly GDP is revised; the prior six months can move materially between releases. Treat the latest one or two prints as preliminary.
Net business formation
- Source: StatCan Table 33-10-0270-01 (Monthly Business Openings and Closures).
- Documentation: The full methodology and provincial / sectoral breakdowns live at the tracker methodology page. The dashboard tile is a summary view that links through.
CFIB Business Barometer
- Source: Canadian Federation of Independent Business Monthly Business Barometer.
- Format: 0-100 sentiment index; long-term (12-month forward outlook) and short-term (3-month outlook) variants. 50 is the breakeven.
- Cadence: Monthly. CFIB publishes the print as a PDF; readings are hand-curated into the underlying JSON because the PDF format is fragile to automate against.
Update cadence
The policy rate is checked daily. The StatCan series are refreshed weekly via a scheduled agent that runs the four ingestion scripts, runs a bounds-check verifier, and opens a pull request if any indicator dataset has changed. Pull requests are reviewed before merge so a wrong number cannot ship silently.