Methodology
How the Kestrel forecast is built, how we know it is calibrated, and what we refuse to forecast. The complete release record, priors, fitted parameters, and the exact data preparation, is frozen at release and kept internally for accountability.
What we forecast
We forecast the timing and outcome of a permitting decision for Ontario mineral-exploration permits filed on the Environmental Registry of Ontario under the Mining Act (O. Reg. 308/12). Nothing else.
At the forecast date, every pending permit sits in one of three states:
- Clean. The permit is moving normally, with no hold on file.
- Consultation-hold. The Ministry has posted public notice that it needs more time to weigh concerns raised about the application, in nearly all cases concerns raised by an Indigenous community.
- Temporary-hold. A Ministry hold for other reasons, or a hold the proponent asked for.
The three states split into two published treatments. A clean or consultation-hold permit is in progress, and we forecast it normally, for both timing and outcome. A temporary-hold permit is stalled: a permit on a temporary hold tends to run for years, or never clear, so we report where it stands and give no decision date. Inventing one would be false precision.
For each in-progress permit, the model produces four things:
- Outcome probabilities over the two ways a permit can end within the modelled window: issued with terms, or not approved (refused or withdrawn).
- A timing forecast, an 80% credible interval for the decision date, with a 50% inner band. The decision falls inside the outer band about 80% of the time, inside the inner band about 50%.
- The chance of no decision within the horizon. Some permits simply stay stuck, and we say so rather than invent a date for one the evidence says will not resolve soon.
- For a clean permit, the chance it is held before it is decided, that it picks up a consultation-hold or a temporary-hold first. The slip into a hold is now forecast ahead of time, not just noted after it happens.
Refusal is rare across Ontario exploration permits, so the approve-or-deny odds barely move and tell you little on their own. The timing is the product, together with how long permits like this one have actually taken. The outcome odds are not.
How the model works
It is a survival model with competing risks. Each permit sits in its current state with several clocks running at once. From the clean state, several outcomes race each other: the permit can be decided (issued, or not approved), or it can slip into a consultation-hold or a temporary-hold. Whichever clock rings first sets both what happens and when. A permit that enters a hold faces a fresh race between the two ways of deciding, on a clock that restarts the day the hold landed. That race runs inside the model for every held permit, but the published treatment splits by hold: a consultation-hold permit is forecast through to a decision date, while a temporary-hold permit is reported only as a status, for the reason given above.
To forecast a permit, we run these clocks forward thousands of times under everything the model has learned, then count how often each ending occurs and how long it takes. The model is Bayesian, so that spread of simulations is a genuine statement of uncertainty. That is why we report a credible interval, a direct probability statement about where the decision date lands, rather than a confidence interval.
For the technically inclined
Each transition out of a state is a cause-specific hazard (the instantaneous rate of that transition, given the permit has not yet left the state). Baselines are piecewise-exponential with non-centred random-walk smoothing. The likelihood is episode-split: a held permit's pre-onset exposure is credited to the clean-state hazards, its onset to the transition hazard, and its post-onset exposure to the held-state decision hazards, on a time-since-onset clock. The clean-to-issued hazard carries a hierarchical intercept by reviewing office and contact officer. Per-permit outcome probabilities and timing quantiles are read off a forward simulation of these hazards across the full posterior. The model specification is frozen at release.
The forecast clock
The clock differs by state, because the real uncertainty starts at different points:
- For a clean permit, the clock starts at comment-period close. O. Reg. 308/12 fixes the public comment period at 30 days for almost every notice, so the stretch between a proposal going up and comments closing is set by statute. There is nothing there worth forecasting.
- For a held permit, the clock starts at the onset of the hold. How long a held file takes is measured from the day the hold landed, not from comment close.
Every forecast is a distribution over days from the forecast date to a decision. The magazine turns that distribution into calendar dates by adding back the days a permit had already run when the forecast was taken.
The model also looks only so far ahead. The window runs about six years for a clean permit, about two years from the onset of a consultation-hold, and about five and three-quarter years from the onset of a temporary-hold. "No decision within the horizon" means a decision past that window, which we report as a stuck permit rather than dress up with a date.
What drives a forecast
The model conditions on a permit's situation at the forecast date. The inputs are the scale of the project, the proponent's history (how many permits they have taken through before, and how often their permits have been held), whether the permit sits in a Treaty 9 area, how busy the reviewing office is, the permit's activity profile, and the era it was filed in.
Several Indigenous-consultation factors are named but not yet in the model: the affected nations, an impact-benefit agreement, an Indigenous-led assessment, a contested duty to consult, and a ministerial referral. We list them so a reader can see what is held out, and we put no number on them until they enter the model.
For an in-progress permit, the page shows the top few factors behind its forecast, each with how much it moves the chance of approval and the expected timing. What we show is bound by what the model can honestly support:
- Each factor's contribution to the chance of approval is exact. Its contribution to timing is a shift in the conditional-median decision date, and is only approximate where a permit has an appreciable chance of no decision within the horizon.
- The Indigenous-consultation factors above are named but not yet quantified. They are not in the model, so the panel lists them rather than show a number it cannot stand behind.
- Some case-handling factors stay internal. Anything that would identify the reviewing office or the officer handling a file is not surfaced on a permit's page.
- A driver is an input the model conditions on, not a proven cause. We never present the panel as a complete causal account of a forecast.
Modelling consultation-holds, with care
This model treats a consultation-hold as a state with its own dynamics: how likely a clean permit is to be flagged for one (in nearly all cases an Indigenous-consultation matter), and how long held permits then take to resolve. That is a statement about timing, and only timing.
We do not model, predict, or offer any view on the consultation itself, its substance, whether it is adequate, or how it should resolve. The only signal the model reads is the Ministry's own public banner that more time is being taken. The legal framework around the duty to consult is under active litigation (including Grassy Narrows v. Ontario). A change in that framework is a regulatory-regime change, which we do not forecast.
The chance that a clean permit becomes held is the newest part of this model and rests on the thinnest evidence, particularly for temporary-holds. We treat those numbers as the most uncertain on the page and say so.
How we know it is calibrated, and the honest gap
A forecast is only worth as much as its calibration. Two kinds of calibration evidence exist, and we are at an early, honest stage of one of them.
Calibration by construction (available now). Before release, the model is tested against data where the truth is known. It is asked to recover parameters from synthetic data it has not seen, its rank calibration is checked across hundreds of simulated datasets (simulation-based calibration), and its outcome mix is checked against history within each state. The current model passes these gates. This shows the machinery is sound: when the world behaves as the model assumes, the model recovers the truth at the rates it claims.
Calibration by record (accruing). The stronger test is whether real decisions land where the model said they would. That record does not exist yet. The leakage-free data history begins only in June 2026, and Ontario decides just a handful of permits a week, so too few real decisions have landed to score. We will not manufacture a track record we do not have. Instead, every forecast is dated and frozen, and as real decisions arrive we score them in the open. The track record is free and stays free, and it deepens issue over issue. That growing public scorecard is the calibration that matters most, and watching it fill in is the honest reason the forecast earns trust over time.
For the technically inclined
Full-fit sampler diagnostics: no divergent transitions, maximum R-hat 1.004, minimum bulk effective sample size 1,667. Simulation-based calibration over 200 replications shows rank uniformity consistent with calibration (summary uniformity p = 0.75; the share of parameters rejecting uniformity matches the roughly 5 percent expected by chance, and the rank histograms show no systematic shape). Prior-drawn parameter recovery lands within 90 percent posterior credible intervals, including the thin held-state anchors. Posterior predictive checks reproduce the observed outcome mix within each state.
What would tell us the model is wrong
Calibration is falsifiable, and the live track record is where we test it:
- Decisions landing outside the 80% credible interval much more than 20% of the time. That is a coverage failure on timing.
- A not-approved outcome (refused or withdrawn) on a permit the model put near-certain to be issued, once enough decisions have landed to judge it.
- Systematic over- or under-coverage at the 80% level as the live forward score accrues.
The release gates above are the baseline. The live record is the test, and we publish it whether it flatters the model or not.
What we refuse to forecast
- Any view on a regulatory-regime change (statute amendments, court rulings, ministerial transitions).
- Anything beyond Ontario mineral-exploration permits. No other permit families, no other jurisdictions.
- Post-decision events (appeals, judicial review, amendments after a permit issues).
- The identity of any individual. We publish resolved corporate proponents only, and suppress a name we cannot confirm is a company.
- The approve-or-deny odds as the headline. Refusal is rare, and the informative content is the timing.
- A causal reading of the driver panel. We show what the model conditions on, not a proven cause of any one permit's outcome.
Interval convention and licensing
Intervals are reported as 80% credible intervals with a 50% inner band, the firm's headline convention. We say "credible interval", never "confidence interval", because the model is Bayesian. Every published interval comes paired with the calibration evidence above.
This work contains information from the Environmental Registry of Ontario (ero.ontario.ca), © King's Printer for Ontario, used for analysis. Kestrel Economics is independent and is not endorsed by or affiliated with the Government of Ontario. Nothing here is legal or financial advice.