| Vose Software

Industry: Government and Public Sector
Product: ModelRisk
Application: Budget Allocation


The Plan Balanced to $8M. The Year Could End $194M Over.

A social-services agency divides a fixed $548M appropriation across five entitlement-style programs — housing assistance, income support, childcare subsidy, disability services, and job training — at the start of the fiscal year. The split is built the orthodox way: take each program's projected caseload, multiply by its planned unit cost, and there is the line. The five lines summed to $557M of planned spend, and the agency was told to "absorb efficiencies" down to the $548M it actually had. On paper the squeeze looked manageable: an $8M gap to find across a half-billion-dollar book.

That $8M is a point estimate, and it answers the wrong question. The allocation is locked once the year begins, but actual spend is not — caseload is demand the agency cannot turn away, and unit cost moves with labour and market prices. Re-run the same five lines as a Monte Carlo simulation, with caseload as a Poisson count and unit cost as a right-skewed LogNormal, and the gap stops being a number and becomes a distribution: a median overrun of $4M, but a P80 of $94M and a P95 of $194M. The deterministic $8M sat at the bottom of a distribution whose dangerous end was more than twenty times larger — and a 52% chance the year ends over the appropriation at all.

Why a single gap number fails here

The $8M plan gap treats caseload and unit cost as if they were known. Neither is. Demand for an entitlement is a count of people who show up and qualify — naturally modelled as a Poisson variate whose rate is the projected caseload. Unit cost — the price of a housing placement, a disability service hour, a training seat — is bounded below at zero, unbounded above, and right-skewed, so it is carried as a LogNormal calibrated to each program's planned cost. Multiply a point caseload by a point unit cost and you get one line. Carry both as distributions, across five programs and 100,000 trials, and you get the shape that the appropriation actually has to survive.

The crucial structural choice is what links the five programs. They do not run hot or cold independently. A recession lifts demand across every program at once — more people need housing, income support, and training in the same year. The model imposes this with a shared economic-cycle factor: one draw per trial, a LogNormal multiplier centred on 1.0, scaling every program's expected caseload together. The simulation confirms the link — caseloads across programs correlate at 0.998, and program-level spend stays positively correlated rather than diversifying away. Without that common factor, the five lines would average out into a thin, falsely reassuring blob; with it, the agency-wide gap keeps the heavy upper tail that makes contingency planning matter.

Distribution of the agency-wide budget gap with P80 and P95 markers

The distribution makes the gap concrete. The mean overrun is $14M and the median just $4M — close to the tidy deterministic figure — but the P80 is $94M and the P95 is $194M. There is a 52% probability the year closes over the appropriation. A plan that reports only "$8M to absorb" is silent on the entire right half of this picture, which is exactly where a mid-year supplemental request gets written.

Sizing the contingency reserve

If the overrun is a distribution, the reserve that covers it is a choice of percentile, not a guess. The model sweeps reserve size against the probability that the reserve fully covers the year's overrun.

Contingency reserve size versus probability it covers the overrun

The curve gives the agency a priced menu. A reserve of $94M covers the overrun in 80% of years; $148M reaches the 90% coverage target; and $194M buys 95% coverage. Each step up the curve costs real money locked away from program delivery, so the reserve decision becomes an explicit risk-tolerance trade rather than a round number pulled from last year's actuals.

Which program drives the gap

With five uncertain lines, the next question is which one moves the agency-wide number — so monitoring and mid-year reallocation focus where they pay.

Tornado of program contributions to the agency-wide budget gap

The tornado ranks them by rank-correlation contribution to the total gap. Housing assistance dominates at ±$74M, ahead of income support (±$69M) and disability services (±$61M); childcare (±$59M) and job training (±$53M) trail. Housing leads not because its caseload is largest — income support serves far more people — but because its unit cost is both high (~$9,200) and the most volatile (the widest LogNormal). The implication is operational: a percentage point of forecasting accuracy spent on the housing line buys more reduction in total-gap uncertainty than the same effort on the larger but steadier income-support line.

Every line is likely to breach on its own

The agency-wide gap can look survivable on average while individual lines blow through their allocations — and a line that overspends cannot borrow from a line that came in cool, because the appropriation rules ring-fence each one.

Probability each program overspends its allocated line

Each program carries a 44–48% chance of overspending its own line, and the probability that at least one of the five breaches is 87%. Housing assistance alone has an expected overspend of $20M in the years it runs hot, with income support and disability services adding $12M and $14M. The picture reframes the management problem: this is not a question of whether a line will breach but which ones, and the reserve has to be able to flow to whichever programs run hot, not sit against a single aggregate number.

What the model changed

The agency stopped balancing to the plan and started provisioning against the distribution:

  1. Reserve sized to a stated percentile. Instead of a round contingency figure, the agency set its reserve to the $148M that delivers 90% coverage — and could show the board exactly what the remaining 10% tail looked like.
  2. Monitoring effort follows the tornado. Housing assistance — the ±$74M driver — gets the tightest mid-year caseload and unit-cost tracking, ahead of the larger income-support line.
  3. Reserve made fungible across lines. Because the 87% any-line-breach probability showed that the binding risk is which line runs hot, the reserve was structured to flow to whichever programs breach, not parked against the aggregate.
  4. Requests framed as probabilities. Mid-year supplemental conversations now open with "a 1-in-5 year costs $94M over plan," not "we're $8M short" — a framing the appropriations committee can size a buffer against.

ModelRisk functionality used

  • Monte Carlo simulation propagating Poisson caseloads and LogNormal unit costs through five program lines across 100,000 trials.
  • Shared common-factor modelling — one economic-cycle draw per trial scaling every program's caseload, producing the 0.998 caseload correlation and the heavy aggregate tail that independent lines cannot.
  • Threshold sweep turning the overrun distribution into a priced reserve-coverage curve ($94M / $148M / $194M for 80 / 90 / 95% coverage).
  • Tornado sensitivity ranking the five programs, isolating housing assistance (±$74M) as the dominant driver of the agency-wide gap.
  • Output visualization — gap histogram, reserve sweep, tornado, and per-program breach probabilities — to make the distribution legible to a non-technical appropriations committee.

Monte Carlo turns budget allocation from "does the plan balance?" into "what is the distribution of the year-end gap, and how big a reserve does a given confidence level actually cost?" — and on this book the difference between those questions was the difference between $8M and the $194M a bad year could reach.