Home / Free tools / Perpetual vs Subscription License Revenue Calculator
Free tool

Perpetual vs Subscription License Revenue Calculator

Compares revenue per customer from a one-time perpetual license with paid upgrades against a monthly subscription with churn, for developers choosing a licensing model.

Your numbers

Results update as you type.

Your estimate

Revenue per customer, perpetual with upgrades...
Revenue per customer, subscription after churn...
Months a subscriber must stay to match perpetual revenue...
Which model earns more per customer...

Estimates only. Assumptions are listed below, and you can change every input.

Switching from a one-time license to a subscription, or the other way around, is one of the biggest pricing decisions a software product makes. The subscription looks attractive because it keeps paying, but churn eats into it every month, and perpetual customers often come back for paid upgrades. Gut feeling is a poor guide here, so this calculator does the arithmetic per customer over the horizon you choose.

For the perpetual model, the tool adds the one-time price to the expected value of paid upgrades: the upgrade price, times the share of customers who buy each yearly upgrade, times the number of upgrade cycles after year one. For the subscription model, it applies your monthly churn to a single cohort and sums the months actually paid, so revenue reflects customers leaving over time rather than a flat monthly price times the horizon. Both results are per customer, so multiply by your expected customer count for totals.

How to use this tool

  1. Enter your perpetual price, the price of a paid major upgrade and the percent of customers you expect to buy each one.
  2. Enter the monthly subscription price and the monthly churn rate you see or expect.
  3. Pick a horizon in years and compare the two revenue figures, the months a subscriber must stay to match the perpetual price, and the verdict.

What the math assumes

  • One paid upgrade release per year is assumed, starting after the first year, so a three-year horizon has two upgrade cycles.
  • The upgrade rate is applied to the original customer base every cycle; customers who skipped one upgrade are still counted as eligible for the next.
  • Subscription churn is a constant monthly percentage applied to a single cohort, and revenue counts every month a customer remains subscribed.
  • Prices are assumed constant over the horizon; no discounts, price increases or annual prepay effects are modeled.
  • Support cost, refunds and payment fees are ignored, so both figures are gross revenue per customer.

Frequently asked questions

How do I estimate monthly churn if I have never sold a subscription?

Start with a range rather than a single number. Run the tool at 2%, 5% and 8% monthly churn and see whether the verdict flips; if it does, the decision depends on retention you cannot yet measure, which is useful to know.

Why is subscription revenue lower than price times months?

Because the tool assumes some customers cancel every month. With 4% monthly churn, fewer than two thirds of a cohort is still paying after a year, so the total is well below the flat multiplication.

Can I use this for annual subscriptions?

Yes, enter the yearly price divided by twelve as the monthly price and convert your annual renewal rate into a monthly churn figure. The result is an approximation because annual plans churn in yearly steps, not monthly ones.

More free tools from KeyDispense

  • Build vs Buy Licensing Cost Calculator: Estimates the first-year and three-year cost of writing your own license key system versus paying for a hosted licensing API, for small software teams deciding where their engineering hours go.
  • License Validation Request Volume Estimator: Estimates monthly validation calls, average and peak requests per second, and the resulting API bill for a given number of active licenses, for developers sizing a license check service or picking a plan tier.

Issue and validate license keys with one API

Digital product license key issuing and validation API.

Get an API key