WooCommerce outage cost calculator
What did that outage cost? Most store failures are quiet: the site stays up and the orders or renewals stop. Put in your own numbers and see what the hours nobody knew about cost, with every step of the working shown.
A checkout that broke, a gateway that stopped answering, a plugin update that emptied the cart page. The site stayed up; the orders did not come.
Every hour nobody knew cost about $66.
Noticed within 15 minutes, with the same 1 h fix, it would have been about $82.
How the numbers are worked out
Two multiplications and a few assumptions you can see and change. None of the figures is ours.
Orders stopped
A normal month’s revenue divided by the hours in a month (about 730) is an average hour. The hours that broke are rarely average, so you choose how busy they were: half an average hour overnight, double on a weekday evening, four times during a sale or straight after an email goes out. Your own analytics can tell you which is closer.
That hour, times the share of orders the failure stopped, times the hours it lasted, is the revenue not taken. Some customers try again the next day, so the share you expect came back is taken off.
Renewals failed
Renewals per month divided by the days in a month (about 30.4), times the days it went unnoticed, is how many failed. Times the average renewal is the money at risk: not lost yet, because retries, dunning emails and customers paying by hand recover some of it.
Whatever is never recovered is lost, and so are the renewals those subscribers would have paid afterwards, if their subscription ends there. That last part is usually the biggest number, and the one most often missed.
Two worked cases, with fictional stores: payments failing after a gateway plugin update is “Orders stopped” with every order stopped for about an hour; subscription renewals failing overnight is “Renewals failed”, where retries recovered most of the batch. The calculator fits failures that stop orders or renewals. It does not price a store that was only slow, or a form that stopped sending quote requests, because neither has a reliable order value to multiply.
What the figure leaves out
It is meant to be a fair estimate, not a scary one, so it is worth knowing what it does not count.
- Ads you kept paying for while checkout was broken, and the email or sale traffic that landed on a store that could not take an order.
- Support time: the tickets, the refunds, the manual orders, the evening someone spent working out what happened.
- Customers who did not come back and did not tell you why.
- An average order value is only an average. A failure during a sale, when baskets are bigger, costs more than the figure says.
Your store does this arithmetic for you
Operanse learns what each hour of the week normally looks like for your store, and when orders, payments or renewals fall below it, the alert says what it is costing.
Every open incident carries a figure worked out from the store’s own last 28 days, not from a number you typed in: missing orders times your average order, failed renewals times your average renewal. Orders that never happened are called not taken; payments a retry may still recover are called at risk, because calling them lost would be wrong. When there is not enough history to price something honestly, the alert says which number is missing instead of guessing.
The calculator above is the same arithmetic with your numbers in place of the store’s. The difference is the first line: the hours before anyone noticed.
Questions
Is anything I type stored or sent anywhere?
No. The calculator runs in your browser. Your numbers are kept in the part of the address after the #, which browsers do not send to any server, so you can bookmark or share a result. Our page-view counter is told to ignore that part, and it records only which of the two calculators was used, never a figure.
Why is “not taken” different from “at risk”?
An order that was never placed is gone. A renewal that failed may still be paid: WooCommerce Subscriptions retries it, your dunning emails ask, and some customers pay by hand. Counting it as lost the moment it fails would overstate the damage, so the calculator separates the two and takes off what you expect to recover.
Where do I find my renewal recovery rate?
Stripe’s billing reports show how many failed payments were later recovered. In WooCommerce Subscriptions, compare the subscriptions that went on-hold over a period with the ones that are active again. If you have neither, try a low and a high guess and see how much the answer moves.
What if the whole site was down, not just checkout?
Use “Orders stopped” with every order stopped. A site that is down is the easy case, because any uptime checker will tell you within minutes. The expensive failures are the ones where the site looks fine.
Can I put this on my own site, or in a client report?
Link to it, with your numbers in the link if you like: the “Copy a link” button does that. If you look after stores for clients, the result is a plain way to show one what an unnoticed failure was worth.