Every first-time app developer I’ve met has lost more sleep to the pricing screen than to any bug. Subscription or one-time purchase? Free with an unlock? And how much? There’s no universal answer, but there is a way to think about it that beats guessing. Let’s do the math, look at what works for real apps, and end with a checklist.
The math neither model escapes
A one-time purchase of $9.99 nets you roughly $7 after Apple’s cut. That customer is done paying — every future update is a gift to them. A subscription of $1.99/month nets about $1.39 per month, so a customer who sticks around for five months matches the one-time sale. Everything, then, hinges on retention. If your average subscriber stays two years, subscriptions win massively. If they churn in month two, you’ve built a leaky bucket with a monthly mop.
Now the cost side. Does your app have recurring expenses? Sync servers, push infrastructure, weather APIs, AI calls — if each user costs you money every month, a one-time price is a slow-motion loss. If your app is fully local, a subscription is harder to justify and users know it.
When a one-time purchase fits
Tools that work offline and hold their value for years are the classic case. Cultured Code’s Things 3 is the standard-bearer: a one-time price per platform, with customers paying again for major versions. Users genuinely like this model — it reads as confidence in the product — and it works because Cultured Code ships infrequent, substantial upgrades rather than a churn of features.
The honest downside: revenue is lumpy and decays between upgrades. If new-user growth slows, so does income, and there’s no base of renewals to cushion it.
When a subscription fits
Subscriptions make sense when value is continuous or costs are. CARROT Weather’s premium tiers fund real data-source and server expenses. Halide pairs a subscription with processing features that keep evolving. Flighty’s subscription funds live-data integrations that genuinely cost money per user. In each case, nobody seriously accuses the developer of rent-seeking, because the service continues whether or not you open the app.
The trade-off is psychological: subscriptions invite scrutiny, and a subscription on an app that feels finished breeds resentment. They also raise the stakes of churn — you’re re-earning the sale every single month.
The hybrids worth stealing
Most successful indie pricing lives between the poles:
- Free download + one unlock. Let everyone verify the app works, charge once to remove limits. Low friction, honest, and the conversion data tells you what your work is worth.
- Free tier + subscription for the service. Works when the free tier is genuinely useful and the subscription buys something ongoing.
- Lifetime option alongside subscriptions. Priced at roughly two to three years of the subscription, it captures the haters and funds you upfront — at the cost of some future revenue.
- Paid major upgrades. The Things model: existing customers pay for version N+1 at a discount, new users pay full price. Fair in spirit, harder to implement inside the App Store’s plumbing.
What I’d do for a first app
If I were shipping a small utility today with no server costs: free download, one non-consumable unlock at $4.99–$9.99, no account required. It’s the least annoying model, the easiest to explain, and it produces clean signals. Add a subscription only when a recurring cost shows up in the books, or when you’re shipping meaningful new value on a schedule users can feel.
If my app consumed someone else’s API by the minute: subscription from day one, with a free tier generous enough to prove the app works before anyone’s card is involved.
The ten-minute checklist
- Does each user cost me money monthly? → subscription leans yes.
- Does the app keep delivering value without me shipping? → subscription leans yes.
- Would a one-time price still be profitable after a year of free updates? → one-time leans yes.
- Can I explain the pricing in one sentence without apologizing? → whichever model fails this, fix the model, not the sentence.
Pricing isn’t permanent — you can change it with a version number attached. But choose the model deliberately, because it shapes what you build next. And once you’ve picked, the next boss fight is getting through App Review with that paywall intact.

