Do the service credits or the churn cost you more?

Everyone budgets for service credits and almost nobody budgets for the churn, which is the larger of the two. Model the incidents, the hours and the three costs together and the median year turns out to be nothing but engineering time.

SaaS Advanced Monte Carlo Pro engine

After you install, this is the model to open.

What Would an Outage Cost Us?

  1. In your spreadsheet, click the Sortia icon in the strip of icons down the right-hand edge. No strip? Click the arrow at the bottom-right to open it. You can also use Extensions, then Sortia, then Open Sortia.
  2. Click Start from a template and put that name in the search box.
  3. Pick the card with that name and click Load this template. It arrives on a new tab with real numbers already in it.

This one runs on a Pro engine, and every free install includes five full-quality runs on your own numbers, shared across all five Pro engines rather than five for each. After that, Pro is $199/year.

The answer

Median year
$138K almost all of it engineering time
Mean
$250K set by the years you have not had yet
P95
$837K P90 $643K
Breach the 99.9%
44% of years exceed the 8.8-hour allowance

A business software company at $940,000 of monthly recurring revenue on a 99.9% uptime commitment, which is 8.8 hours of allowance a year. Three cost channels, keyed to different things on purpose. Engineering and support cost is per incident, so it is charged whether or not the outage matters contractually. Service credits and churn are both keyed to hours beyond the allowance, so they are zero until the year goes past the commitment and then they climb together.

The incident count averages three a year and the hours per incident are a wide PERT, which is what an incident log actually looks like: mostly short, occasionally the one that needed a restore from backup. At the typed values the year has three incidents totaling 7.2 hours, inside the allowance, so credits and churn are both zero and the whole cost is $114,000 of engineering time.

Click Run on 20,000 trials. The median year costs $139,075 and almost all of it is engineering time, because in the median year credits and churn are still exactly zero. The mean is $249,509, which is nearly twice the median, and that gap is the whole point: the average cost of downtime is set by years most people have not had yet. P90 is $642,508 and P95 is $836,869.

The second output puts a number on the promise you have made: the year breaches the 99.9% commitment in 44 of every 100 runs (44.3%), which is less a reliability problem than a commitment that was never priced. Read the three components against each other and the ranking is not the one people expect. Recovery cost averages $122,108, churn averages $73,941 and credits average only $53,461, capped at 30% of a month.

Credits are the smallest of the three and they are the only one anybody puts in a budget. The churn term is larger and the engineering term is larger still, and neither shows up on an invoice. Second run: change the allowance from 8.8 hours to 43.8, which is a 99.5% commitment instead of 99.9%, and rerun. Mean total cost falls from $249,509 to $122,457, the breach rate falls from 44.3% to 0.2%, and credits and churn all but vanish while recovery cost does not move at all.

That $127,000 a year is what the extra nine in the contract is costing you. Compare it against what a customer would actually pay for it. What this cannot tell you is whether churn really scales with outage hours in a straight line. It almost certainly does not: one long outage is worse than four short ones of the same total length, and this model treats them the same.

To adapt it, put your own recurring revenue and allowance in, set the count distribution from your own severity-one history, and set the churn rate from what actually happened to renewals after your worst quarter.

The model

It arrives on a tab called Template: Outage Cost:

Monthly recurring revenue ($)940000
Severity-one incidents this year3
Full outage per incident (decimal hours)2.4
Total outage hours7.2
Contracted uptime allowance (decimal hours)8.8
Hours beyond the allowance0
Service credit per hour beyond the allowance, as a share of one month of revenue0.02
Credit cap, as a share of one month of revenue0.3
Service credits payable ($)0
Revenue lost per hour beyond the allowance, as a share of annual revenue0.0018
Revenue lost to outage-driven churn ($)0
Engineering and support recovery cost per incident ($)38000
Recovery cost ($)114,000
Total cost of downtime this year ($)114,000

plus 1 more rows on the sheet.

Once it is in your sheet

  1. The model arrives with real numbers in it and runs as it stands, so you can press the button first and understand it second.
  2. Change the numbers to yours. The sheet marks which cells are inputs and which hold formulas, and most labels carry a note explaining the row.
  3. Press the run button at the bottom of the panel. It is labeled for the tool you are in, and the result lands on its own tab, with a written reading of it beside the figures.

Never used Google Sheets? Start here goes the whole way, in seven steps, and assumes nothing.