Compare net cost, not sticker price
The usual mistake is to treat the purchase price as the cost of buying. If the thing can be sold afterwards, part of that money comes back and was never spent. A subscription has no such recovery: however long you pay, cancelling leaves you with nothing. So the buying side here is price + accumulated upkeep − what it is worth right now, and the subscription side is simply the payments made so far.
Two curves are drawn for the buying side because two different questions get asked. The solid line is cash actually spent, which is what matters if you will use the thing until it is worthless — software, filters, anything with no secondhand market. The dashed line is net cost after residual value, which is what matters if you genuinely intend to sell. The dashed line always sits lower, so the crossover against it comes earlier. Residual value is modelled as a straight line from the purchase price down to the resale figure, which is generous in the middle years: real used prices fall steeply at first and flatten later.
Putting the upkeep on the right side
The upkeep field is for money that only the buyer spends. Paid version upgrades for software, filters and descaling for an appliance, insurance and servicing for a vehicle. The trap is the reverse case: anything the subscription bundles in has to be counted as a buying cost, or the comparison is not between equivalents. If a rental includes a service visit twice a year, the purchase side needs the cost of buying that service separately. If a subscription includes support and updates, the purchase side needs whatever those cost to obtain.
Costs that fall equally on both sides — electricity, consumables you would use either way — are best left out of both. Putting them in both raises both totals by the same amount, moves the crossover, and makes the difference at the end look smaller relative to the totals than it is.
The time value of money, and what leaving it out costs you
By default this page adds a lump sum paid today to payments made over three years and treats every dollar as equivalent. That is a simplification, and it is not a neutral one: it works against buying, because buying is the option that ties up money on day one. A thousand dollars committed now is a thousand dollars not earning anything for three years.
Ticking the present-value box discounts each future payment by (1 + rate)^(months ÷ 12), so later money counts for less. That shifts the comparison toward the subscription, which is the side doing the paying later. What rate to use depends on what the money would otherwise do: a savings rate if it would sit in an account, a loan rate if you are borrowing to make the purchase. On small amounts over short periods the switch changes almost nothing. On four-figure amounts over three years or more it can move the crossover by several months, which is exactly the kind of sensitivity worth knowing about before you decide.
The one input that decides everything
Price, upkeep and subscription rate are all things you can look up. The expected lifetime is a forecast, and the entire result pivots on it. This is not an incidental limitation — it is the structure of the problem. Two cash-flow shapes cross at one point; whether you land before or after that point is the whole question.
People systematically overestimate how long they will keep using things. Software gets replaced when a workflow changes, equipment gets outgrown, a hobby stops being a hobby. So the useful reading of a crossover is comparative: if it comes out near your expected lifetime, the money is a wash and the decision belongs to flexibility, cash flow or preference. If it comes out at well under half your expected lifetime, buying wins by enough that a bad forecast will not overturn it. And if it comes out beyond your expected lifetime, subscribing wins for the same reason. Run it twice with pessimistic and optimistic lifetimes and see whether the answer changes at all.
Questions people ask
Does this work for rentals and leases as well as subscriptions?
Yes — put the monthly rental in the subscription field and the outright purchase price of the same item in the price field, then add to the buying side whatever the rental bundles that a buyer would have to pay for separately, such as servicing or replacement parts. The one thing the arithmetic cannot see is a minimum term and an early termination fee. A rental that looks better here but locks you in for four years is a different proposition from one you can leave next month, and the contract is where that lives.
The crossover says month 24. Is it exactly then?
It is monthly resolution, not daily, and the residual value curve is a straight-line approximation, so read it as "around two years" rather than as a date. More usefully, when the crossover is close to your expected usage period the two options are within a few dollars a month of each other and the arithmetic is not what should decide it. The table of month-by-month figures shows how flat or steep the difference is around the crossing point.
What should I put for the annual subscription increase?
Leave it at zero unless you have something to base a figure on, then run it again at five percent and see whether the conclusion moves. If it does, that sensitivity is itself the finding, and it is worth checking whether the agreement caps increases or ties them to an index. If the conclusion holds either way, the increase is not something you need to resolve before deciding.
Why does the net cost line sometimes start below zero or dip?
It starts at zero by construction — on day one you have paid the price and own something worth the price, so nothing has been consumed yet. From there it climbs as the residual value falls and upkeep accumulates. It never goes below zero unless the resale value exceeds the purchase price, which is capped at the price with a warning, since an item that reliably sells for more than it cost is a different kind of decision from the one this page models.