Cost of Saving

The formulas

Everything the calculator does, written out: what goes in, every formula, the assumptions, a worked example you can follow with a pocket calculator, and what it leaves out. Nothing is hidden, so the result can be checked by anyone.

What this is, and what it is not

It is a differential analysis, also called incremental or relevant-cost analysis: the business with a change compared with the business without it, counting only what differs. This is a standard management accounting method for decisions such as dropping a product line, outsourcing, or cutting a department.

It is not a financial statement and it does not claim financial statements are wrong or that anyone is hiding anything. Companies report what the rules require, bad news included. What the rules do not require is tracing a decision through to everything it later affects. An income statement correctly records what was paid. It records transactions, so it cannot show income that a decision caused not to happen. That is an opportunity cost, which has to be estimated separately. This tool estimates it and puts it beside the saving.

Its results are estimates built on the user's own inputs. It is a way to structure a judgement and to find the assumption the answer depends on. It does not predict.

What it looks for

Costs that are easily dismissed, easily missed, or that rest on a false assumption. None of them is hidden by anyone. They are hidden by where they fall: under another heading, in a later period, or nowhere, because income that is never earned leaves no transaction to record.

The commonest false assumption is that labor is a cost. Payroll is the cost, and it is correctly booked as an expense. Labor is what the payroll buys, and what justifies paying it: the work produced, the knowledge behind it, the skills, the training that built them, and the supplies and tools the work uses. The mistake is to read the payroll line as the whole of labor. An expense line shows what a worker costs. No line shows what a worker produces. The calculator applies this to a planned cut, not to a person: it asks what the cut would save and what the work it removes was producing. Remove the expense and the saving appears at once, in full, beside the decision. What it was producing falls away later and is recorded, if at all, as lower sales with no cause attached.

The same applies to any resource that feeds income: maintenance, marketing, training, a supplier, a tool. The calculator asks what relied on the thing being cut, and counts that beside the saving.

What is counted, and why

ItemWhere the books show itWhy it is counted here
The savingThe expense line that falls.It is the reason for the decision, and the figure everything else is measured against.
One-time costBooked, beside the decision, usually as a one-off or restructuring item.A cash cost that exists only because of the decision.
Side costsBooked, but under other headings and often in later periods: overtime, rework, returns, recruitment.They are caused by the decision although nothing in the ledger ties them to it. This is the part most easily missed.
Lost contributionNot booked. A sale that does not happen is not a transaction.It is the opportunity cost, and in a differential analysis an opportunity cost is a relevant cost. This is the part most easily dismissed, because it is an estimate.
Expected reversal costNot booked unless the decision is later undone.The decision carries the risk from the day it is made. It is entered as probability times cost.

What is deliberately not counted. Sunk costs, because they are the same whichever way the decision goes. Fixed overhead that does not change with the decision, for the same reason. Revenue as such: the loss is taken at contribution margin, so the variable costs that fall along with the lost sales are not counted as a loss. And the cost being cut is kept out of that margin, so the saving is not counted twice.

What goes in

SymbolOn screenUnitMeaning, and the accounting term
SExpected saving (or gain) each year$ / yearReduction in operating cost, or added income, expected from the change.
C0One-time cost of making the change$Restructuring or switching cost: severance, penalties, set-up. Paid at the start.
DYearly income that relies on it$ / yearRevenue that could not be earned without the thing being cut.
cHow much of it you are cutting0 to 1Share of that resource removed.
sHow much of the cut was truly spare0 to 1Idle capacity: the share of what is cut that was producing nothing.
gContribution margin on that income0 to 1Contribution margin ratio: what is kept from each dollar of D after its other variable costs. It must leave out the cost being cut, or the saving is counted twice.
w1..wnWhat relies on it, and how strongly0, 0.5 or 1 eachOne strength for each part of the business marked as relying on it. "Partly" is 0.5, "Fully" is 1. A model assumption; see below.
t0Months before the loss shows upmonthsLag before lost income begins (orders already in hand, stock, goodwill).
kSide costs each year$ / yearIncremental operating costs caused by the change and booked elsewhere: overtime, rework, returns, replacing people who leave.
pChance you have to undo it0 to 1Probability of reversing the change within the period.
UCost of undoing it$Cost of reversal: rehiring, retraining, re-contracting.
TLook aheadmonthsYears entered, times 12, rounded to whole months.
rDiscount rateper yearCost of capital. 0 gives plain sums; above 0 gives present values.

The formulas

F1a = c x (1 - s)Working share cut: what is removed, less the part that was idle.
F2K = (1 - a x w1) x (1 - a x w2) x ... x (1 - a x wn)Share of output kept. Each part that relies on the resource passes on what it received. With one part at full strength, K = 1 - a.
F3L = 1 - KShare of output lost.
F4O = D x L x gLost contribution each year: the opportunity cost.
F5Y = T / 12 when r = 0 Y = sum over m = 1..T of (1 + r)^(-m/12) / 12Years' worth of a level yearly flow over the period. With discounting this is the present value of 1 a year paid monthly in arrears.
F6YL = max(0, T - t0) / 12 when r = 0 YL = sum over m = 1..T of active(m) x (1 + r)^(-m/12) / 12 active(m) = min(1, max(0, m - t0))The same, for a flow that only starts after the delay.
F7G = S x YThe saving over the period.
F8one-time cost = C0 side costs = k x Y lost contribution = O x YL expected reversal cost = p x U x (12 / T) x Y (= p x U when r = 0)The four costs. The reversal cost is an expected value, spread evenly across the period.
F9TC = C0 + k x Y + O x YL + p x U x (12 / T) x Y N = G - TC M = TC / GTotal cost, net result, and the multiple. N = G x (1 - M). Below M = 1 the saving wins; above it the loss wins.
F10B = G - C0What the books show beside the decision. B - N is the cost that is booked elsewhere or not booked at all.
F12income supported per dollar saved = D x c / S contribution supported per dollar saved = D x c x g / SWhat each dollar of the saving was supporting. The cost of a resource is what is paid for it; what it produces is larger, which is why it was worth paying for. When the second figure is above 1, removing the resource loses more than it saves unless enough of it was idle. This is the plainest form of the multiple and uses no model beyond proportional dependence.
F13idle = c x s R = G - C0 - k x Y - p x U x (12 / T) x Y net(q) = (q / c) x R - D x g x YL x L( max(0, q - idle) ) saving per point = R / c / 100 loss per point past idle = D x g x YL x (w1 + w2 + ... + wn) / 100The same decision at a different size q. It assumes the idle part is removed first, and that the saving and the other costs scale in proportion to the size of the cut. Cutting only the idle part loses no income. Past it, compare the saving per point with the loss per point: this is ordinary marginal analysis. The best size and the largest size that does not lose are found by trying a thousand sizes between zero and the planned cut. Sizes beyond the plan are not tried, because the scaling assumption cannot be trusted there.
F11find s* such that D x g x YL x L(s*) = G - C0 - k x Y - p x U x (12 / T) x Y one part, full strength: s* = 1 - (right-hand side) / (D x g x YL x c)Break-even spare share: how much of what is cut must have been idle for the net result to be zero. With several parts it is solved by repeated halving, which is exact to far more digits than are shown.

A worked example

The "Lay off staff" example, step by step. These figures are calculated live by the same code the calculator uses, so this section cannot drift out of step with it. The inputs are illustrative round numbers, not data from any company.

The formulas behind "Why it multiplies"

W1kept = (1 - cut) ^ stepsChain. A 10% cut needed at 3 steps keeps 0.9 x 0.9 x 0.9 = 0.729, a loss of 27.1%.
W2touched at step n = k ^ n total = 1 + k + k^2 + ... + k^nCascade. Each thing affects k others. With k = 3 over 3 steps: 1 + 3 + 9 + 27 = 40.
W3gain needed = loss / (1 - loss)The climb back. Lose 50%, need 100%. Check: 0.5 x (1 + 1.00) = 1.
W4balance after n years = balance x (1 + rate) ^ nCompounding. Applied to a negative balance it deepens it: -100,000 at 10% for 5 years is -161,051.
W6step n = first x ratio ^ (n - 1), ratio below 1 ceiling = first / (1 - ratio) last step worth taking = the last n with step n > cost of a stepThe rabbit hole. Gains shrink by a fixed ratio, so they approach a ceiling and never pass it. With 40,000 first, a ratio of 0.62 and 8,000 a step: steps gain 40,000, 24,800, 15,376, 9,533, 5,911; stop after step 4; the ceiling is 105,263.
W7step n = first x ratio ^ (n - 1), ratio above 1 total = first x (ratio ^ n - 1) / (ratio - 1)The runaway. Costs grow by a fixed ratio. With 5,000 first and a ratio of 1.62, eight steps total 374,494 and the last alone is 39% of it. The Fibonacci spiral on the page pictures both with a ratio of about 1.618; that number is an illustration, not a property of real costs.
W5each year: owed = owed x (1 + rate) - payment years to clear = -ln(1 - rate x debt / payment) / ln(1 + rate), rounded upClimbing out. Growth is added first, then the payment is made at the year end. If the payment is no more than rate x debt, it never clears. 100,000 at 10% paying 15,000: 12 years, 173,079 paid in all.

The formulas behind the everyday decisions

The everyday decisions use shorter sums. The working for the figures on screen is shown on that page under "Show the working".

E1time cost = hours x value of an hour expected risk = chance it goes wrong x cost if it does total cost = extras + time cost + expected risk net = saved - total cost cost per $1 = total cost / saved break-even hour value = (saved - extras - expected risk) / hours break-even chance = (saved - extras - time cost) / cost if it doesAn everyday saving. The same structure as F9 with no lost income: extras are the side costs, the risk is the expected reversal cost, and a person's own time is priced at the figure they give. Every figure must cover the same stretch of time. "Worth it, barely" means the cost per $1 is 0.50 or more but under 1.00.
E7kept = take-home pay - what the job costs you hours given = paid hours + unpaid hours real hourly = kept / hours given stated hourly = take-home pay / paid hours other option = other hourly rate x hours given ahead by = kept - other option break-even job costs = take-home pay - other optionA job, from the worker's side: pay set against what holding the job costs in money and in hours. All figures are for one week. "Close call" means the real hourly rate is within 10% of the other option. It counts money and hours only, not prospects, security or whether the work is liked.
E8net cost = price - resale at the end cost per month = net cost / (years x 12) cost per use = net cost / (uses per week x 52 x years) worth in all = worth per month x 12 x years years to pay for itself = net cost / (worth per month x 12) gone on day one = price - pawn valueSomething you own, such as a television. The worth per month is the person's own figure: what renting one would cost, or the most they would pay. The pawn value is what the item turns back into if cash is needed at once, so price less pawn value is the part that cannot be recovered from the day of purchase. The resale figure is taken as entered whatever the years; in practice it falls the longer a thing is kept. "Close call" means the cost per month is within 10% of the worth per month.
E9tickets = people x ticket price the day costs = tickets + travel + food + extras per person = the day costs / people per $1 of ticket = the day costs / tickets per hour of fun = the day costs / (people x hours of fun) worth to each = top worth x liking / 10 (when a liking from 1 to 10 is given) liking needed = 10 x cost per person / top worth worth in all = people x worth to each most the rest can cost = worth in all - ticketsA day out. The ticket is the visible price; travel, food and extras are the side costs. Hours of fun are the hours on rides or at the event, not the hours travelling and queuing, and are the person's own estimate. What the day is worth is also the person's own figure, and so is how much they want to go. Taste is treated as an input, not hidden: with a liking given, the worth figure is read as the most they would pay for a 10 out of 10 and scaled in a straight line, and the liking at which cost and worth are level is reported. "Close call" means the cost per person is within 10% of that figure. It prices money and time only, not the memory of the day.
E10cost later = cost now x (1 + growth each month) ^ months expected later = (1 - chance) x cost later + chance x cost if it gets worse carrying cost = cost each month meanwhile x months earned by waiting = cost now x yearly rate x months / 12 putting it off costs = expected later + carrying cost - earned by waiting waiting costs you = putting it off costs - cost now per $1 put off = putting it off costs / cost now break-even chance = (cost now + earned - carrying cost - cost later) / (cost if worse - cost later)Putting something off. Dealing with it now has a known price. Later it costs either what it would have cost, grown at the monthly rate, or the price of the bigger problem; the two are weighted by the chance, which is the person's own estimate. Growth compounds monthly, which is how card interest works and why a delay multiplies. The money not spent is credited with simple interest for the months it is kept. "Waiting costs little" means under a tenth of the cost now. The break-even chance is solved, not searched, and the tests confirm it by putting it back in.
E11borrowed = price - down payment payment = borrowed x i / (1 - (1 + i) ^ -n), i = loan rate / 12, n = months paid in all = down payment + payment x n + fees interest = payment x n - borrowed borrowing, in today's money = down payment + fees + payment x (1 - (1 + s) ^ -n) / s, s = cash rate / 12 extra cost of borrowing = borrowing in today's money - priceBorrow or pay cash. The payment is the standard level-payment loan formula. The payments are brought back to today's money at the rate the cash would earn if kept, which is a present value. The break-even cash rate is the rate at which borrowing and paying cash cost the same: with no fees it is exactly the loan rate, and with fees it is found by repeated halving, since no closed form exists. A second test the sum cannot answer is whether paying cash would leave less than the emergency money wanted; when it would, the answer says so. Tax, and any penalty for early repayment, are left out.
E12first way, per year = price / (years it lasts x chance it lasts) + upkeep a year second way, per year = (price - resale at the end) / years it lasts + upkeep a year most the first way can cost = (second way per year - first way upkeep) x years x chance it lastsFix it or buy new, and buy new or used. Two ways of having the same thing are compared by what each costs for a year of use, which is the equivalent annual cost with no discounting. The chance it lasts is 1 less the chance the repair fails or the used item dies early; if it does, the money is spent and the years are not had. The tipping point is the price at which the two cost the same a year, solved directly. "Close call" means within 10%.
E2average back = chance x payout + smaller prizes back per $1 = average back / price break-even chance = (price - smaller prizes) / payoutProtection and bets: an expected value. For protection there is a second test the average cannot answer, whether the loss is larger than the surprise bill the person says they could handle. Cover that loses on average is reported as "paying for peace of mind" when it is.
E3net cost = price - resale (a subscription has no resale) cost per use = net cost / uses break-even uses = net cost / price of one use another waySubscriptions and purchases. "Close call" means the cost per use is within 10% of the other price.
E4fee = total paid back - cash received yearly rate = fee / cash received x 365 / days pawn only: expected cost = (1 - q) x fee + q x max(0, item value - cash)Borrowing. The yearly rate is the simple rate, not compounded, which is how short loans are usually quoted. q is the chance the item is not redeemed. Above 36% a year the deal is reported as very expensive; that line is the cap in the US Military Lending Act.
E5total cost = upfront + income given up per year x years to finish gain per year = chance it works out x extra per year value back = sum of each year's gain / 1.03 ^ year net = value back - total costInvesting in something. Later years are discounted at a fixed 3% a year. Gains start after the years to finish. "Barely pays off" means the net is positive but under a quarter of the cost.

The formulas behind on-site, hybrid or work from home

A1office cost = people x share needing a desk x cost of a desk support cost = people x support per person cost of leavers = people x extra share leaving x cost to replace one cost of lost output = people x value of a year's work x (-output change) business total = the four added together commute cost per person = days in x 48 x cost of a day's commute commute hours per person = days in x 48 x hours of a day's commute home cost per person = (5 - days in) x 48 x cost of a day at home cost to each person = commute cost + home cost as a share of pay = cost to each person / payA differential analysis of three arrangements for one team. Pay is the same under all three and is left out. The value of a year's work defaults to pay, which is its floor: the least the work can be worth is what is paid for it. The employee's costs are borne by the employee and are not in the business total; they are reported beside it as a second bottom line. A five-day week and 48 working weeks are assumed. The change in output and the extra leavers are the user's own estimates: no default is supplied because the evidence on both is disputed and differs by team.
A2output change at which A costs the same as B = -(B total - A total without its output line) / (people x value of a year's work) extra leavers at which A costs the same as B = (B total - A total without its leavers line) / (people x cost to replace one)The tipping points. Each cost is a straight line in its own input, so the point where two arrangements cost the same is found with one division. They show how far the cheapest arrangement's own estimates can slip before it stops being cheapest. The tests put each one back in and confirm the two totals are then equal.

The formulas behind the gig work log

G1gross = pay + tips car cost = miles x cost of a mile kept before tax = gross - car cost - other costs mileage deduction = miles x deduction rate profit for tax = gross - mileage deduction - other costs (not below 0) self-employment tax = profit for tax x 0.9235 x 0.153 income tax = (profit for tax - self-employment tax / 2) x your rate taxes to set aside = self-employment tax + income tax you keep = kept before tax - taxes to set aside stated hourly = gross / hours real hourly = you keep / hoursThe cost of a mile and the deduction rate are separate inputs. The first is what driving really costs the person; the second is what the tax rules allow. Both start at 0.70, the US IRS standard mileage rate for business use in 2025; the rate is set yearly and should be checked. The standard rate is taken in place of actual vehicle expenses, not in addition to them. The self-employment tax is 15.3% (12.4% Social Security and 2.9% Medicare) on 92.35% of net earnings, and half of it is deducted before income tax. Taxes are worked out on the shifts in view as though they were the whole year. The result is an amount to set aside, not a tax return: it leaves out state tax, the Social Security wage cap, credits, other income and other deductions.
G2gain from a lever = real hourly with one input moved 10% - real hourly now t = se + (1 - se / 2) x income tax rate, se = 0.9235 x 0.153 least pay for a further mile = (cost of a mile - t x deduction rate) / (1 - t)What would change it. Each lever is found by working G1 again with one input moved a tenth, so nothing is approximated. Pay, tips, miles and other costs enter G1 in straight lines: twice the move gives exactly twice the change. Hours divide, so less time for the same pay moves the rate along a curve (10% less time multiplies it by 1 / 0.9). The least pay for a mile is solved from "one more mile changes what is kept by zero"; t is the tax on a further dollar of profit. With no taxable profit it is simply the cost of a mile. The tests confirm it by adding a trip paid at exactly that rate and checking that what is kept does not move.

Conventions and assumptions

What it leaves out

How to check it yourself

By hand. Follow the worked example above with a calculator, or put F1 to F10 in a spreadsheet with one row per month.

By running the tests. The code ships with eight test files. With Node.js installed, in the folder holding the files:

node arrange_test.js 28 checks: on-site, hybrid and work from home, both bottom lines, the tipping points node gig_test.js 40 checks: the gig work sums, the levers, the periods, the spreadsheet file node worth_test.js 106 checks: the Community sums, the reading of typed figures, every example node saving_test.js 33 checks: hand-worked cases, limits, break-even node saving_reach_test.js 18 checks: the chain form node saving_touch_test.js 20 checks: parts and strengths node multiple_test.js 51 checks: chain, cascade, climb back, compounding, shrinking and growing steps node verify_test.js 27 checks: independent verification

Independent verification. verify_test.js contains a second implementation written from the formulas on this page, one month at a time like a spreadsheet, sharing no code with the calculator. It compares nine figures across 500 random cases, checks the discounting against the textbook annuity formula, the break-even figure by substitution, and the climb-out figures against the textbook loan-term formula.

Where your numbers go

Sources for the method

The example inputs throughout the tool are illustrative and are not drawn from these sources.