Outcomes over one year
Each row runs the same demand stream under a different allocation rule. The six rows use the parameters on the left; the second committee row and the market-priced lease override a few of them as labelled. Figures are means across seeds, with the 10th–90th percentile range underneath.
Against the program's stated goals
Speed, capacity in use and economic impact are in the table above. These columns test access and affordability. "Lower-value firms" are the half of firms that gain least per MW, a stand-in for early-stage firms less able to pay. "Paid by users" is the licence charge or lease fee as a share of the value of the compute firms actually used. Licence buyout payments pass between firms and are not counted.
Projects
Edit contributor counts and average contributions. Bars compare the quadratic match (dark) with a 1:1 dollar match (light).
How the model works
- Capacity is split into 1 MW blocks held exclusively by one firm at a time, as with dedicated or isolated tenancy for commercial users.
- Firms alternate between idle spells and runs (training jobs) of random size and length. A run needs all its blocks at once. Each firm has a value per MW-week drawn from a lognormal distribution, and each run varies around it. Total demand is calibrated to the chosen load (demanded MW ÷ capacity).
- A run that waits longer than the give-up threshold is abandoned. The firm goes abroad or drops the project.
- Holding an idle block has value: if the next run arrives, the firm avoids waiting for capacity. This option value is the chance of a run next month × the value lost by waiting as long as firms currently wait × the delay-cost factor. It rises when capacity is hard to get, so hoarding reinforces itself.
- Committee: at each review round, firms with a run, and some recent users "just in case", request their need × a buffer. Reviewers rank requests by value with scoring error and discount speculative requests. Grants last until the next round. Between rounds, unallocated blocks go first-come-first-served, and allocations idle for longer than the reclaim period are taken back.
- Lease: firms sign fixed-term leases first-come-first-served, but only if their run plus the value of holding the capacity for the rest of the term covers the price. At expiry they renew if holding is still worth the price.
- Self-assessed licence: at each billing boundary, every holder declares a per-block price equal to the value of finishing its current run plus its option value. The declaration is shaded down by the charge rate relative to market turnover. The holder pays the charge on that declaration. Waiting firms, highest value first, buy the cheapest blocks they need if finishing their run is worth more than the price plus migration downtime. Sellers whose runs are interrupted keep their progress and can buy back in.
- Migration downtime is charged whenever a block changes hands, under every rule.
- Results are averaged over many random seeds. All rules face the same demand stream (common random numbers).
What it suggests (default parameters)
- The biggest losses come from idle capacity that costs nothing to hold: long grants and cheap, long leases. Any rule that makes holding idle capacity costly recovers much of it, including short, market-priced leases and a well-run committee with a short cycle and use-it-or-lose-it reclaim.
- Self-assessed licences do best on waiting time, abandoned runs and value delivered, because capacity moves to whichever firm values it most at each billing boundary, with no review round.
- Licences do not crowd out smaller players. Lower-value firms get a larger share of the capacity used and abandon fewer runs than under a best-practice committee or a market-priced lease, and capacity is less concentrated among the top firms. Buyers take idle or cheaply declared blocks first, which are mostly held by firms between runs, so capacity circulates instead of staying with whoever got it first.
- The charge is small relative to the value of compute. At 2.5% a month, users pay a few per cent of the value of the compute they use. A lower rate allocates capacity about as well and raises less.
- Protecting running jobs helps. Letting a job keep its blocks while it runs (up to 12 weeks), so only idle capacity is open to bids, avoids costly mid-run migrations. With weekly clearing and a 1.25% monthly charge this gives the best results here, and it protects lower-value firms even when migration is slow.
- Cash-constrained SMEs still get access. Buyouts are mostly of cheaply declared idle blocks, so a cash limit barely affects SMEs under the licence. It hurts them badly under a market-priced lease. Vouchers and reserved blocks add little under the licence.
- The billing period matters more than the charge rate. Weekly clearing beats monthly. Long migration windows erode the advantage.
Reproduce the figures in the brief
All figures use the default settings unless noted. Results are means across 20 seeds; small differences come from rounding.
- Outcomes table and recommended design (90% in use, 1.6-week wait, 17% abandoned): defaults, "Recommended design" row.
- Access for smaller firms and who pays (41% vs 35% share of use; 29% vs 34% runs abandoned; 79% of charges paid by the higher-value half): defaults, goals table.
- Charge as a dial (about $195M a year and about 10% of value at 5% a month): set Charge on declared value to 5.0%/mo and read the recommended-design row.
- A 75 MW pilot (about $39M a year): set Sandbox capacity to 75 MW and Eligible firms to 45, keeping demand per firm the same.
- Slow migration (lower-value firms abandon 29% under the recommended design vs 34% under the committee): set Migration downtime to 14 d.
- Cash-constrained SMEs (SMEs abandon 17% under the licence vs 52% under a market-priced lease): set SME cash limit to 50%.
- Backfill (95% vs 82% in use): set Scheduler backfill to 50%.
Limitations, read before citing
- Firms do not behave strategically. Declarations follow a fixed rule. The model does not capture overstatement to block rivals, collusion, or gaming of the buyout process. In theory the charge rate disciplines exactly this, so it barely affects allocation here. Here it mainly sets revenue.
- No budget constraints. A firm's willingness to pay equals the value it would create. A cash-poor start-up with a valuable project could be outbid in reality; a pilot may need a credit or voucher for eligible SMEs.
- Backfill is simplified. The backfill option fills a share of idle allocated capacity with lower-value preemptible work under every rule. It narrows the utilization gap between rules but not the gap in waiting times. It is off by default.
- The status-quo rules are stylised. ISED has not published an allocation mechanism for industry access to SCIP. The committee and lease rules are plausible alternatives, not descriptions of a real program.
- Values are assumptions. "Value delivered" uses an assumed average value per MW-month of facility power (default C$1.7M, roughly the 2026 one-year rental price of ~570 H100-class GPUs). Changing it scales value and revenue but not utilization or waits. Revenue figures are not comparable across rules: lease revenue is a usage fee, licence revenue is a charge on top of any usage fee.
- There are no prices for electricity or operations, no demand growth, no firm entry or exit, and no learning. One sandbox pool is modelled in isolation.
Source code: github.com/erik-pcpvr/sovereign-compute-model. model.js is the model; node test-model.js runs the checks and prints the base-case report.