Somebody in your business has done a calculation on the back of an envelope: "we pay $X a month for this thing, over three years that is $Y, and $Y is more than a build would cost." That calculation is almost always wrong, and it is wrong in a specific, fixable way — it compares a subscription to a purchase, when custom software is not a purchase. It is a smaller subscription you pay to yourself, plus a large upfront cost.
Fix that one error and build-vs-buy becomes arithmetic instead of an argument. This page gives you the formula, works it with clearly-labelled illustrative inputs, and then tells you the four situations where the maths never breaks even no matter how long you run it.
We publish our prices, so the build side of every example below uses real numbers from the Zee Palm pricing page. The SaaS side uses illustrative inputs, clearly marked as such, because we are not going to put invented dollar figures next to a named vendor's brand. Substitute your own invoice.
The formula, properly stated
Break-even is the month at which cumulative custom cost drops below cumulative SaaS cost. That only happens if your custom run-rate is lower than your SaaS run-rate. Most build-vs-buy spreadsheets forget the run-rate entirely, which is why they always produce a flattering answer.
Monthly SaaS cost:
S = platform_base_fee
+ (per_seat_or_per_member_fee × active_members)
+ paid_add_on_modules
+ (payment_processing_delta × monthly_card_volume)That last term is the one operators miss. If your platform's bundled processing rate is higher than what you would negotiate directly, the difference is part of your platform cost even though it never appears on the platform invoice. On meaningful card volume it can exceed the software fee.
Monthly custom run-rate:
R = maintenance_retainer
+ hosting_and_infrastructure
+ third_party_services (payments, SMS, email, push, error monitoring)
+ your_own_payment_processing_rate × monthly_card_volume
+ internal_ops_time_valued_honestlyTotal build cost:
B = planning + build + integrations + migration + launch QABreak-even, in months:
N = B / (S − R)Three consequences fall straight out of that equation, and they are the whole article.
- If S ≤ R, there is no break-even. Not "a long one" — none. The lines never cross. This is the case for most single-site studios, and it is why the honest answer for them is "stay on the platform."
- B is not just the build quote. Migration, integrations and launch QA are real line items. Leaving them out shortens your calculated break-even by months.
- N is measured in months of unchanged operations. If you plan to add a location, change your pricing model, or launch a new programme in month 14, your build has to absorb that too — as new work, funded again.
A worked example, with every input labelled
The following inputs are illustrative placeholders, not quotes from any vendor and not a claim about what any platform charges. Replace each one with the number on your own invoice. The build-side figures are real published Zee Palm prices.
Illustrative scenario: a two-site strength-and-conditioning gym, 700 active members, $95,000 monthly card volume.
SaaS side — illustrative inputs:
| Input | Illustrative value | Where to get your real number |
|---|---|---|
| Platform base fee | $400/mo | Your invoice |
| Per-member or tier component | $0.40 × 700 = $280/mo | Your invoice; may be banded rather than per-head |
| Paid add-ons (branded app, marketing, reporting) | $250/mo | Your invoice |
| Processing rate delta vs a direct merchant account | 0.35% × $95,000 = $332/mo | Compare your effective rate to a direct quote |
| S (monthly SaaS cost) | $1,262/mo |
Custom side — Zee Palm published prices plus illustrative running costs:
| Input | Value | Source |
|---|---|---|
| MVP Planning Sprint | $1,500, credited toward build | [Published price](/services/product-strategy) |
| Full custom build | from $25,000 | [Published price](/pricing) |
| One wearable integration | $3,500 | [Published price](/services/custom-software/wearable-integrations) |
| Data migration and launch QA | $999 QA & release readiness, plus migration scoped in the sprint | [Published price](/services/qa-release) |
| B (total build) | ≈ $30,000 (illustrative total using published floors) | |
| Maintenance retainer | from $1,000/mo | [Published price](/services/app-maintenance) |
| Hosting and infrastructure | $150/mo (illustrative) | Your cloud bill |
| Third-party services | $120/mo (illustrative) | SMS, email, push, monitoring |
| Internal ops time | $200/mo (illustrative) | Someone triages issues. Value their hours |
| R (monthly run-rate) | ≈ $1,470/mo |
Now run it: S − R = $1,262 − $1,470 = −$208.
Negative. There is no break-even. In this illustrative scenario the custom build costs $30,000 upfront and is then more expensive every month forever. A three-year total-cost comparison would show custom at roughly $82,900 against SaaS at roughly $45,400 — and the custom side is the one carrying all the risk.
This is the result for a very large share of gyms and studios, and almost nobody publishes it. The reason is not that custom software is bad. It is that a maintained custom platform has a floor cost that is remarkably close to what multi-tenant SaaS charges, because you are now paying for one tenant what they amortize across thousands.
When the maths flips
Change three inputs and the same model produces the opposite answer.
Illustrative scenario two: a six-site franchise, 4,200 active members across sites, $520,000 monthly card volume, licensing the method to affiliates.
SaaS side — illustrative inputs:
| Input | Illustrative value |
|---|---|
| Platform base fee, six sites | $2,100/mo |
| Per-member or tier component | $0.40 × 4,200 = $1,680/mo |
| Paid add-ons across sites | $900/mo |
| Processing rate delta | 0.35% × $520,000 = $1,820/mo |
| Manual reconciliation labour the platform forces | $1,400/mo (0.5 FTE) |
| S | $7,900/mo |
Custom side:
| Input | Value |
|---|---|
| B — full custom build, multi-site, two integrations, migration | $60,000 (illustrative total built from published floors) |
| Maintenance retainer | $1,800/mo (above the $1,000 floor for a larger surface) |
| Hosting, third-party services, monitoring | $500/mo (illustrative) |
| Internal ops time | $600/mo (illustrative) |
| R | $2,900/mo |
S − R = $5,000/mo. N = $60,000 / $5,000 = 12 months.
A twelve-month break-even, and after that a $5,000/mo structural saving, is a straightforwardly good investment — and note that the biggest single line that flipped it was not the software fee. It was the half-FTE doing reconciliation because a generic platform could not model cross-site credits and affiliate splits. Labour the platform forces you to employ is part of the platform's price. Put it in the model.
The second thing that flipped it: at franchise scale, processing volume makes the rate delta a four-figure monthly line on its own.
The four cases where it never breaks even
Run the formula honestly and these four never cross. Save yourself the spreadsheet.
1. Single site, under a few hundred members. S is small, R has a floor, the gap is negative. No amount of time fixes a negative gap. What you actually have is either a marketing problem or a configuration problem. Spend the money on local search and reviews from $299 and revisit in two years.
2. "The app is ugly" as the primary driver. Branding is a four-figure problem and a five-figure build. If what you want is your logo, your colours and your tone in front of members, buy the branded tier or build a thin branded layer over the platform's API. A full brand identity is from $1,499 and will change how your business feels far more than a rebuilt booking screen.
3. You are pre-product-market-fit. If you are still changing your pricing model, your class structure or your target member every quarter, custom software freezes decisions you have not made yet. Off-the-shelf is cheap optionality. Build when the operating model has stopped moving.
4. Nobody in the business owns software. A custom platform needs a named person who makes decisions about it. Not a vendor — an owner. If that person does not exist, the build will ship, then drift, then rot, and in three years you will migrate back to a platform having paid for both. This is the most common failure and it has nothing to do with money.
The half of the case that is not cost at all
Everything above treats software as a cost line, which is how most operators frame the question and it is only half true. Some builds are justified on the revenue side, and those cases do not need a break-even at all — they need a revenue model.
- A programme you can charge more for. If a structured 12-week progression with tracked lifts and coach check-ins lets you sell a $180/mo tier where you currently sell $120/mo, 300 members on the new tier is $18,000/mo of new gross margin. That dwarfs any platform fee argument. This is the strongest case for custom in fitness and it is why coaching and personal trainer platforms are the category where builds most reliably pay back.
- A remote or hybrid revenue line the platform cannot serve. Selling programming to people who never enter the building is a different product. Most gym platforms are built around the building.
- Licensing your system to other operators. The moment an affiliate pays for access, software is revenue, not overhead.
- Retention you can measure. If wearable-driven check-ins lift 12-month retention by even two points, work out what two points of retention is worth on your member base before you argue about a $400 platform fee. For most multi-site operators it is the largest number in the whole analysis.
If your case is a revenue case, say so out loud, because it changes what gets built. A cost-driven build is a replacement of what you have. A revenue-driven build is a new product, and it should be scoped to prove one revenue hypothesis rather than to replicate a platform's entire feature list. That distinction is most of what a planning sprint exists to force.
What a hybrid does to the equation
There is a third column that build-vs-buy articles keep leaving out, and it usually wins.
Keep the platform for the commodity core — bookings, memberships, payments, the things you genuinely do not want to be responsible for at 6am. Build only the differentiating layer on top. The equation becomes:
Hybrid monthly = S + R_layer
Hybrid build = B_layerwhere B_layer and R_layer are a fraction of a full replacement. You are not trying to beat the platform on cost. You are adding the capability that makes you money and paying the platform to keep doing the boring part reliably.
Concretely, for a studio, the layer is usually some combination of an AI receptionist from $1,499 catching the calls you miss after 6pm, dashboards from $799 showing retention by cohort and coach, automation wiring the platform to your email and SMS, and — if programming is your differentiator — a bounded MVP build from $12,000 that does only that.
Hybrid is not a compromise position. For most operators between "too big for the platform's happy path" and "too small for a replacement to amortize," it is the correct answer, and it has the useful property of being reversible.
How to run this on your own numbers in an afternoon
- Pull twelve months of platform invoices. Not the list price — what you actually paid, including add-ons and overages.
- Get a direct processing quote and compute your rate delta against what the platform bundles. Multiply by your real card volume.
- Count the labour the platform forces. Reconciliation, double entry, manual exports, the spreadsheet your GM maintains. Value it at loaded cost, not salary.
- Compute S.
- Get a build number that includes migration, integrations and QA — not just the headline build price. Our published floors are $12,000 for an MVP build and $25,000 for a full custom build, and a $1,500 planning sprint produces the real one, credited back if you build.
- Compute R honestly, with maintenance from $1,000/mo in it. If your R is under $1,000/mo you have forgotten something.
- N = B / (S − R). If the denominator is negative, stop. You have your answer and it cost you an afternoon instead of $30,000.
- If N is under 18 months, build. If N is over 36 months, do not. Between the two, the decision is made by the revenue case, not the cost case — go back to the previous section.
That eighteen-month line is not arbitrary. Beyond about three years, the assumptions in your model — member count, pricing, the platform's own roadmap — have all changed enough that the calculation was fiction. Any build justified only by a five-year total-cost-of-ownership chart is a build justified by a spreadsheet nobody will ever check.
The version of this we will tell you on a call
We build custom software and we publish what it costs, so it should be worth something that we turn work down on exactly this analysis. If you send us your platform invoice, your member count and your card volume, we will run the formula above and tell you which column wins. When the answer is "stay on your platform and spend $2,500 on the three things annoying you," that is what we will say, in writing, and you can take it to whoever you like.
When the answer is build, the planning sprint turns the estimate into a scoped backlog and a real price, and it is credited in full toward the build. Either way you leave with arithmetic instead of an argument. Send us the numbers and we will do the sums.
Frequently asked questions
What is the break-even formula for custom vs off-the-shelf software?
Months to break even = total build cost ÷ (monthly SaaS cost − monthly custom run-rate). The critical term is the run-rate: maintenance, hosting, third-party services and internal ops time. If your custom run-rate is equal to or higher than your SaaS cost, the lines never cross and no timeframe makes the build cheaper.
Why do most build-vs-buy calculators give the wrong answer?
Because they compare a subscription to a one-time purchase. Custom software has an ongoing cost — maintenance from $1,000/mo is a floor for a live app, plus infrastructure and someone's attention. Omitting it can cut a calculated break-even in half and turns a bad decision into a good-looking one.
Is custom software cheaper than SaaS in the long run?
Only when your SaaS cost is high enough to exceed your custom run-rate by a wide margin — typically multi-site operators, high card volume, or operations where the platform forces manual labour you are paying salaries for. For a single-site studio, off-the-shelf is usually cheaper permanently, not just initially.
How much does custom fitness software cost to build?
Zee Palm publishes its floors: a bounded MVP build from $12,000, a full custom build from $25,000, wearable integrations at $3,500 per platform and maintenance from $1,000/mo. A $1,500 planning sprint converts those floors into a scoped, specific number for your requirements, and it is credited toward the build if you proceed.
Should we build a member app but keep our booking platform?
Very often, yes. The hybrid keeps the commodity core on the platform and puts your build budget only into the differentiating layer. Whether it works depends on the platform exposing an adequate API — check that first, because an integration built on scraping breaks every time the platform ships a release.
What if our platform is fine but our reporting is terrible?
Then buy reporting, not a platform. Dashboards from $799 built on the platform's exports or API will answer retention-by-cohort and revenue-by-class-time questions within days. Replacing a working platform because its analytics tab is weak is the single most expensive way to solve a reporting problem.

