Methodology

Version 1.4 · effective 2026-09-23

Every figure on this site comes from one of the four definitions below. Each carries its formula, its source series, how often it moves, how it is classified, and where it stops being reliable.

Capitalor scenario rate

scenario rate = latest GoC 5-year observation on file + illustrative product spread (bps ÷ 100)
Inputs
Government of Canada 5-year benchmark from the Bank of Canada Valet API, shown with its observation date. If no observation exists, a labelled hypothetical 5.00% base is used. Spreads are illustrative settings, not observed lender pricing.
Refresh cadence
A scheduled database job checks Valet series BD.CDN.5YR.DQ.YLD (V39053) each weekday at 22:30 UTC, verifies the official series label, and appends only new dates. Every run is logged. Observations older than 10 days are labelled stale on every page.
Provenance
Benchmark: observed (dated). Spread and scenario rate: hypothetical.
Known limits
An index level is not a quote. It excludes lender fees, rate holds, prepayment structure, recourse, and covenant pricing, and it does not adjust for asset class or sponsor strength. Real quotes routinely land 50–150 bps either side of the index.

Capitalor Lender Density Score (withdrawn 2026-09-23)

score = min(100, round((lenders ÷ commercial buildings) × 10,000 × 12))
Inputs
Lender and broker count from an internal firm list; commercial building count from an internal building inventory. Neither had a dated, verifiable source, which is why the score was withdrawn.
Refresh cadence
Withdrawn from public pages. The lender register is a national list of firms rather than a verified local census, and building counts lack a dated source.
Provenance
Not published until a dated, verifiable local census exists.
Known limits
The score measures how many firms are present, not how much capital they will deploy or how aggressively they price. A single very active lender can make a low-score market behave like a high-score one for a specific asset class.

Capitalor DSCR Stress Band

DSCR = NOI ÷ annual debt service · max loan = (NOI ÷ target DSCR) ÷ annual constant · break-even rate solved by bisection on DSCR = floor
Inputs
Product DSCR floor and amortization from the Capitalor product set; NOI implied by the market cap-rate seed applied to the average transaction size, or your own inputs in the calculators.
Refresh cadence
Product floors are illustrative settings. Cap-rate seeds are no longer published; scenarios use a labelled hypothetical 6.0% cap rate.
Provenance
Product floors: observed from lender term sheets. NOI implied from seeds: baseline seed. Coverage math: modelled.
Known limits
Coverage uses a constant-payment amortization and ignores interest-only periods, escrows, reserves, and cash traps. Lenders apply their own stressed rate — often the greater of the contract rate plus 100–200 bps or a floor — so a deal clearing here can still fail at credit.

Publishability gate (anti-doorway rule)

publishable = tierAllows(city, product) AND metricsRows(city, product) > 0
Inputs
City tier (1–3) and product tier (1–3). Tier 1 cities carry all products; tier 2 cities carry tier 1–2 products; tier 3 cities carry anchor products only.
Refresh cadence
Evaluated on every request, at render time.
Provenance
Deterministic rule, not a measurement.
Known limits
The gate governs indexation, not accuracy. A page can pass the gate and still be backed by baseline seeds — which is why provenance labels exist alongside it.

Provenance classes

How these figures were produced

  • Observed — Recorded directly from the cited source series, unadjusted.
  • Modelled — Derived arithmetically from observed inputs using the published method; not a market quote.
  • Baseline seed — A documented starting estimate awaiting first observation. Treat as an order-of-magnitude figure only.
How Capitalor computes these numbers

Revision log

  1. v1.4 ·

    Benchmark correction. Values previously labelled as the GoC 5-year benchmark (4.45%, weekly, Jun 10 to Aug 12 2026) came from Bank of Canada series V80691311, the chartered-bank prime rate, not the 5-year bond yield. They are retained for audit but no longer shown or used. The GoC 5-year anchor is now Bank of Canada series V39053 (daily, Valet BD.CDN.5YR.DQ.YLD). Until those observations are on file, scenarios use a clearly hypothetical base rate.

  2. v1.3 ·

    Source-of-truth correction. Withdrew city lender counts, Lender Density Score, rankings, cap-rate seeds and average deal sizes from public pages and structured data (no dated verifiable local support). Removed the static 3.15% benchmark fallback; scenario rates now use the dated Bank of Canada observation shown on the page, labelled stale when old. Synthetic product-by-market metrics rows no longer gate indexing. Break-even copy now states when coverage is already below floor.

  3. v1.2 ·

    Added provenance classes (observed / modelled / baseline seed) and required every published figure to carry one. Documented the coverage-versus-leverage binding test used on product-by-market pages.

  4. v1.1 ·

    Anti-doorway gate formalised: a product-by-market page is indexable only when the tier rule allows it and at least one metrics row backs it.

  5. v1.0 ·

    First publication of the Commercial Debt Rate Index, Lender Density Score, and DSCR Stress Band definitions.

Method changes are versioned here. Data corrections are logged separately.

Questions about the method

Why anchor to the GoC 5-year rather than to bank prime or CORRA?

Most Canadian fixed-rate commercial term debt is priced as a spread over the Government of Canada bond matching the term. Prime and CORRA drive floating-rate and construction pricing, which is why those products carry wider, separately maintained spreads.

Why is the density score capped at 100?

Above the cap, additional lenders per building stop changing borrower outcomes — a market with 40 bidders does not behave twice as competitively as one with 20. The cap keeps the top of the scale interpretable.

How is the break-even rate solved?

By bisection on the coverage equation with loan and NOI held constant: the rate is bracketed between 0.5% and 25% and halved 60 times until coverage equals the product's DSCR floor.

Can I reproduce these numbers myself?

Yes — that is the point. Every formula above is stated in full and every input is either cited to a public source or shown on the page. The calculators run the identical arithmetic on your own inputs.

Not advice — Capitalor is a data publisher. We do not originate, broker, arrange, or place debt, and nothing here is an offer of credit, a quote, or financial advice. Figures are indicative benchmarks for comparison and must be confirmed with a licensed lender or mortgage professional before you rely on them. About Capitalor