Exit Cost

How we count

The arithmetic is simple. The honesty is in what gets included.

Your time is a cost

Almost every self-hosting comparison comes down to "$240 a year versus $60 a year, so obviously self-host". That is only true if your time is free. It is not, so we charge it: the hours to migrate, and the hours each month to keep the thing patched, backed up and running. Then we solve for the hourly rate at which the two totals meet. That rate is the headline number on every page, and it is the one figure here you will not find anywhere else.

The third option

Comparisons like this usually offer two choices: keep paying, or run it yourself. There is a third — a managed host that runs the same open-source software, applies the updates and takes the backups — and it is the honest answer for anyone whose hours are worth more than the saving. We price it wherever the provider publishes a figure for that application, and we say plainly that it is their minimum allocation rather than the sized server the self-hosted column prices.

Where the prices come from

Hosting prices come straight from Vultr's and Linode's public plan catalogues, refreshed nightly. The cheapest plan that meets the stated requirements is chosen automatically — we do not pick the provider by hand, and we do not pick the one that pays best.

SaaS list prices are verified by hand against the vendor's own pricing page, and each one is stored with the exact sentence that justifies it. A nightly job re-reads those pages and compares what it finds against what we stored. If they agree, the verification date moves forward. If they disagree, the stored price does not change — the page is flagged and a human re-checks it. A collector that fails keeps the last known value and marks it stale.

What we refuse to do

What is an estimate

Three inputs are our judgement rather than a measurement: the size of box each piece of software needs, the hours to migrate, and the hours per month to maintain it. We set them conservatively — biased toward the subscription — because the worst thing this site could do is talk someone into a migration that never paid off. They are printed on every page so you can disagree with them, and the slider lets you test how much they matter.

Your team size decides most of it

A per-seat subscription scales with headcount; a server does not care how many people use it. That single fact decides most of these comparisons, which is why every page with a per-seat incumbent lets you set your own team size rather than fixing one. The same comparison can honestly say "obviously switch" at twenty people and "obviously stay" at two, and a page that picked one number for you would be wrong for nearly everyone reading it.

Each page also states the team size at which switching starts to pay at your hourly rate — usually the more actionable of the two numbers, because "worth doing once you are past six people" is a decision you can make today.

Horizon and assumptions

Use the data

Every comparison is available as JSON, with the same provenance the pages carry. It is free to use, including commercially, with attribution. Start here.