¢ Cap forecast
03 · Forecast model v1

Start with a cohort heuristic we can explain and falsify.

For each candidate model and thinking level, find genuinely similar closed attempts, estimate a token distribution, and combine it with that scope's calibrated meter slope.

Research plan only — operator GO required. V1 is descriptive and associative. Prompt size helps select history; it does not cause or fully explain attempt demand.

Three inputs per candidate

TASK

Prompt size

A stable measure at the forecast boundary, such as UTF-8 bytes, with versioned rules for wrappers and attachments. It is a cheap proximity feature—not a tokenizer promise.

CLASS

Task type

Map Studio task metadata onto TokenEconomy's existing task classes where possible: design, feature, chore, doc edit, research.

HISTORY

Similar closed attempts

Exact model + thinking level + task type + compatible run-policy version, preferring the nearest prompt-size band. Keep outcome, censoring, repository, and timestamps.

What v1 forecasts

One next launch attempt

Consumption from run start through terminal state under the current failure/cancellation policy. Successful, failed, and cancelled attempts count when tokens are complete.

Not eventual successful completion

Retries, reissues, and review loops are not included. That larger completion-cost question needs a separate future model.

Cap walls are lower bounds

Quota-truncated or still-running attempts are right-censored. V1 reports their rate and lowers confidence instead of inserting the observed partial total as exact demand.

The v1 recipe

Repeat the same deterministic procedure for every selectable, nonrestricted model and proposed effort before attaching current CLI availability. Do not estimate one universal attempt total and reuse it across models.

Screen closed history. Include complete successful, failed, and cancelled terminal attempts. Keep quota-truncated/still-running lower bounds out of the simple point cohort, report their rate, and exclude token-incomplete/incompatible records.
Build the exact cohort. Same task type, exact model, thinking level, and compatible routing/timeout/cancellation policy; then prefer the closest prompt-size band.
Estimate demand robustly. Cohort median for central attempt tokens; empirical quantiles for the range. Cluster repeated attempts/reissues by task family (and repository when material), then disclose effective sample size, outcome mix, and censored rate.
Use no cross-cohort fallback in v1. Insufficient exact history returns Uncalibrated. A later fallback hierarchy requires replay-validated, frozen transfer rules and explicit interval widening.
Combine both uncertainties. Multiply paired attempt-demand and calibration-slope draws; report the product median and 10th–90th percentiles. Preserve dependence when evidence overlaps.
capPctDrawj = betaDrawj × attemptTokensDrawj
central = median(draws) · range80 = [q10(draws), q90(draws)]
Observational, not causal: historical routing may send harder tasks to stronger models. Each row forecasts from that model's own conditional history; it does not prove what the identical task would consume under every model. Temporal replay is mandatory, with matched or controlled crossover evidence left as an upgrade.

Result contract: every candidate gets a row

The result is more than a number. Scope, age, uncertainty, evidence, and failure status travel with it.

Candidate5h forecast80% rangeConfidenceCurrent quotaMedian attempt tokensCalibrationDemand evidence
CLI A · balanced · medium4.2%2.7–6.8%Medium · 7 windows · quantized meter31% left · resets 2026-07-11 14:20 UTC186kExample Pro · 5h · cal-v3 · as of 2026-07-10 UTCeffective n=42 · mixed outcomes · 5% censored · policy-v4
CLI B · economy · medium2.1%1.2–4.4%Low · 3 windows · wide residuals64% left · resets 2026-07-11 16:05 UTC214kExample Plus · 5h · cal-v2 · as of 2026-07-09 UTCeffective n=19 · mixed outcomes · 16% censored · policy-v4
CLI A · new · highUncalibrated · no safe transferAvailable · reset separateNo compatible calibrationNo compatible cohort

Illustrative values only. The current quota column is supplied separately by Studio and is not folded into the full-window forecast.

Uncertainty and display rules

Prediction, not confidence, range

The attempt range includes run-to-run variation and calibration uncertainty. A separate confidence label reports evidence quality.

No false decimals

Retain precision in the API; normally show at most one decimal and respect the source meter's quantization. Include scope and as-of time.

Do not clamp

Forecasts may exceed 100%. Unknown stays unknown. Neither case becomes zero or silently disappears from model comparison.

Cheap is not capable: a model that fails quickly can look inexpensive per attempt. Keep terminal-outcome mix and TokenEconomy's SuggestModel suitability beside this metric; never rank candidates by lowest cap percentage alone.

Named upgrade paths

  • V2 per-repository/per-task-type regression: prompt size, repository, model, thinking, task type, and interactions, evaluated on future time periods.
  • Matched or controlled crossover evidence to measure historical model-routing bias.
  • Backtested hierarchical pooling for sparse plans/models, with transfer error reflected in wider ranges.
  • Separate input/output/cache/reasoning slopes when the data can identify them.
  • Censoring/survival treatment for interrupted work and richer features such as changed-file scope, gates, or tool intensity.