Calculator overview
Inputs and outputs
This summary comes from the calculator's published input and output contract.
Inputs
- Renewal month of opening annual contracts Conditional
-
When omitted Blank
Unit month Default 3 Range 1 to 12
About this input
The month your opening annual subscribers next renew and pay, from 1 to 12. Before it they bring revenue but no cash. Blank means month 1.
- Plans (required)
-
Default 3 rows
About this input
Up to 3 plans. Each has an ID, monthly or annual billing, a monthly price, an annual discount, opening subscribers and a share of new subscribers. Subscriber counts are expected values, so fractions are allowed.
Column Range or allowed values Plan ID Not declared Billing Monthly, Annual Monthly price 0 to 10000 Annual discount 0 to 1 Opening subscribers 0 to 1000000 Share of new subscribers 0 to 1 - Table step, price multiplier (required) Conditional
-
Default 0.05 Range 0 to 0.5
About this input
The spacing of the 11 price rows of the what-if table, above 0 and at most 0.5. When the lowest row would fall below 0, only the table is withheld.
- Months in the horizon (required) Conditional
-
Unit months Default 24 Range 1 to 24
About this input
How many months the plan covers, counted from month 1, from 1 to 24.
- What-if: price multiplier, all plans (required) Conditional
-
Unit x price Default 1 Range 0 to 5
About this input
Multiplies every plan monthly price on every bill from month 1, from 0 to 5. Contracts prepaid before month 1 keep their price until they renew. Churn does not react: the model assumes no link. The rows of the what-if table are centred on it.
- Usage costs
-
When omitted Blank
Default 2 rows
About this input
Up to 5 usage cost categories: an ID, the cost per unit and the units a month per subscriber on each plan row. Blank units mean 0 for that plan. May be all blank.
Column Range or allowed values Category ID Not declared Cost per unit 0 to 10000 Units a month per subscriber, plan row 1 0 to 1000000 Units a month per subscriber, plan row 2 0 to 1000000 Units a month per subscriber, plan row 3 0 to 1000000 - Random seed Conditional
-
When omitted Blank
Default Not set Range 1 to 2147483646
About this input
The starting number of the random draws, a whole number from 1 to 2,147,483,646. The same seed and inputs always give the same 100 trials. Blank means 42.
- Target operating result Conditional
-
When omitted Blank
Default 200000 Range -1000000000000 to 1000000000000
About this input
An operating result used only for the share of simulated trials that reach it, in whole cents, up to 1,000,000,000,000 either way. Blank leaves that share empty.
- At each renewal: stay, move or leave (required)
-
Default 3 rows
About this input
One row per plan row: the shares of subscribers who at renewal stay, move to another plan of the same billing type, or leave. Each used row adds up to 100%. A monthly plan renews every month, an annual plan once a year.
Column Range or allowed values From Not declared To plan row 1 0 to 1 To plan row 2 0 to 1 To plan row 3 0 to 1 Churn at renewal 0 to 1 - New subscribers multiplier, most likely (required) Conditional
-
Unit x new Default 1 Range 0 to 5
About this input
The most likely new-subscriber multiplier, the peak of the triangular distribution, between the low and the high value.
- New subscribers by month
-
When omitted Blank
Default 12 rows
About this input
New subscribers and acquisition spend for months 1 to 12. New subscribers join at the start of their month and bill for that month. A month may be blank, and months after the horizon must be blank.
Column Range or allowed values Month Not declared New subscribers 0 to 100000 Acquisition spend 0 to 1000000000 - New subscribers multiplier, high (required) Conditional
-
Unit x new Default 1.2 Range 0 to 5
About this input
The highest new-subscriber multiplier, from 0 to 5. Set low, most likely and high equal to switch this variation off.
- New subscribers multiplier, low (required) Conditional
-
Unit x new Default 0.8 Range 0 to 5
About this input
The lowest new-subscriber multiplier of the simulation, from 0 to 5. In each trial one multiplier scales the new subscribers of every month; acquisition spend stays as entered.
- What-if: churn multiplier, all plans (required) Conditional
-
Unit x churn Default 1 Range 0 to 5
About this input
Multiplies every plan churn, up to 100%, from 0 to 5. Stay and move shares shrink or grow in proportion, so each row still adds up to 100%. The columns of the what-if table are centred on it.
- Fixed cost a month Conditional
-
When omitted Blank
Default 45000 Range 0 to 1000000000
About this input
Costs that do not depend on subscribers, such as rent or base salaries, charged every month, in whole cents up to 1,000,000,000. Blank means 0.
- Table step, churn multiplier (required) Conditional
-
Default 0.1 Range 0 to 0.5
About this input
The spacing of the 11 churn columns of the what-if table, above 0 and at most 0.5. When the lowest column would fall below 0, only the table is withheld.
- Churn scenarios (optional)
-
When omitted Blank
Default 3 rows
About this input
Up to 5 churn scenarios: an ID, a churn multiplier and a weight. The weights add up to 100%. Each simulated trial picks one scenario by weight. Blank means one scenario with multiplier 1.
Column Range or allowed values Scenario ID Not declared Churn multiplier 0 to 5 Weight 0 to 1 - Discount rate for LTV Conditional
-
When omitted Blank
Unit % a year Default 0.1 Range 0 to 1
About this input
A yearly rate used only to discount each new subscriber future contribution in LTV, from 0% to 100%. Contribution one year after joining counts 1 / (1 + rate) as much. Payback is not discounted. Blank means 0.
Outputs
- Simulated 10th percentile
-
No unit declared
About this output
The operating result that 10 of 100 trials fall below, by linear interpolation. Illustrative with 100 trials.
- Simulated 90th percentile
-
No unit declared
About this output
The operating result that 90 of 100 trials fall below, by linear interpolation. Illustrative with 100 trials.
- Simulated median operating result
-
No unit declared
About this output
The middle operating result of the 100 trials.
- Lowest simulated operating result
-
No unit declared
About this output
The lowest operating result of the 100 trials.
- Share of trials with a loss
-
No unit declared
About this output
The share of the 100 trials whose operating result is below zero. Zero of 100 does not mean zero risk.
- Standard error of the target share
-
Unit share
About this output
The sampling error of the target share with 100 trials.
- Subscribers by month
-
No unit declared
About this output
One row per month of the horizon: subscribers at the start, new, lost and at the end, the ending count on each plan row and the churn rate. On an annual plan churn falls only in its renewal months.
- Standard error of the loss share
-
Unit share
About this output
The sampling error of the loss share with 100 trials: the square root of p times one minus p over 100.
- Share of trials reaching the target
-
No unit declared
About this output
The share of the 100 trials whose operating result is at or above the target. Blank when no target is entered.
- Simulated mean subscribers at the end
-
Unit subscribers
About this output
The average subscribers at the end of the horizon over the 100 trials.
- Simulated subscribers at the end, 10th percentile
-
Unit subscribers
About this output
The ending subscribers that 10 of 100 trials fall below.
- Revenue recognized
-
No unit declared
About this output
Revenue earned month by month over the horizon. An annual contract is recognized in 12 equal monthly amounts.
- Churn scenarios in the simulation
-
No unit declared
About this output
One row per churn scenario: its multiplier, its weight, how many of the 100 trials picked it and their mean operating result. The mean is blank for a scenario no trial picked.
- Simulated subscribers at the end, 90th percentile
-
Unit subscribers
About this output
The ending subscribers that 90 of 100 trials fall below.
- Mean of trials 1 to 50
-
No unit declared
About this output
The average operating result of the first 50 trials. A large gap to the second half shows how much 100 trials still vary.
- Mean of trials 51 to 100
-
No unit declared
About this output
The average operating result of the last 50 trials.
- Highest simulated operating result
-
No unit declared
About this output
The highest operating result of the 100 trials.
- Simulated mean operating result
-
No unit declared
About this output
The average operating result over the 100 simulated scenarios at the fixed plan prices.
- Table1 SUE Row Axis
-
No unit declared
About this output
The price multipliers down the left of the what-if table: your own multiplier in the middle, five equal steps below and five above.
- Table1 SUE Row Input
-
No unit declared
About this output
Machinery, not an input: the cell the table substitutes each row price multiplier into. The rest of the time it repeats the price multiplier. Change the input, never this cell.
- Table1 SUE Column Input
-
No unit declared
About this output
Machinery, not an input: the cell the table substitutes each column churn multiplier into. The rest of the time it repeats the churn multiplier.
- Table1 SUE Corner
-
Unit 0.50
About this output
The figure the what-if table recalculates, the operating result, placed in its top-left corner as the spreadsheet requires. It is formatted away.
- Table1 SUE Values
-
Unit $0
About this output
Each cell is the operating result recalculated with every price multiplied by the row value and every churn multiplied by the column value. The middle cell is your own plan. Price and churn are not linked here: you judge how far along the table you would land.
- Warnings
-
No unit declared
About this output
Every warning the model can raise, whether it applies to this result (1) or not (0), and its message when it applies.
- Warning messages
-
No unit declared
About this output
Every warning that applies, separated by semicolons. Blank when none applies.
- Trials simulated
-
Unit trials
About this output
The number of simulated scenarios, always 100.
- Warnings
-
Unit count
About this output
How many warnings apply to this result. The warnings table lists them.
- Usage cost
-
No unit declared
About this output
Usage cost of active subscribers over the horizon, each line posted to the cent.
- Usage cost by category
-
No unit declared
About this output
One row per usage category: the cost per unit and the posted cost on each plan row over the horizon. The totals add up to the usage cost.
- PP04 Transitions Check
-
No unit declared
About this output
The check of each renewal row: blank for a blank row of an empty plan, OK, or the first problem found, starting with its code.
- PP04 Usage Check
-
No unit declared
About this output
The check of each usage row: blank for an unused row, OK, or the first problem found, starting with its code.
- Reference data version
-
No unit declared
About this output
The version of any reference data used. None: every value is your own assumption.
- Status code
-
No unit declared
About this output
The short code of the reason shown in the status, or OK.
- Table1 SUE Column Axis
-
No unit declared
About this output
The churn multipliers across the top of the what-if table: your own multiplier in the middle, five equal steps below and five above.
- Seed used
-
No unit declared
About this output
The seed of this simulation: the one entered, or 42 when blank.
- Workbook self-check
-
No unit declared
About this output
PASS when every internal consistency check of this result holds. FAIL means the result should not be relied on.
- Deferred revenue at the end (cash collected for later months)
-
No unit declared
About this output
Cash collected for months after the horizon. A finished contract leaves exactly zero.
- Unit economics by cohort
-
No unit declared
About this output
The opening cohort and each acquisition month: subscribers at the start and end, retention, revenue, usage cost and contribution within the horizon, spend, CAC, LTV, payback in months of life. Figures are rounded once for display, so column totals can differ from the ledger by a few cents.
- PP04 Churn Scenarios Check
-
No unit declared
About this output
The check of each scenario row: blank for an unused row, OK, or the first problem found, starting with its code.
- Subscribers lost
-
Unit subscribers
About this output
Subscribers who left at a renewal over the horizon.
- Cohorts not paid back
-
Unit cohorts
About this output
How many acquisition cohorts do not pay back within the horizon.
- Revenue in the last month
-
No unit declared
About this output
Revenue recognized in the last month of the horizon.
- Subscribers at the end
-
Unit subscribers
About this output
Active subscribers at the end of the last month. Counts are expected values, so fractions are normal.
- Contribution
-
No unit declared
About this output
Recognized revenue less usage cost over the horizon, before acquisition spend and fixed cost.
- Contribution margin
-
No unit declared
About this output
Contribution as a share of recognized revenue. Blank when recognized revenue is zero.
- Model version
-
No unit declared
About this output
The version of the model that produced these results.
- Next seed
-
No unit declared
About this output
A seed that continues the random stream after these 100 trials, for a further independent run.
- Custom assumptions
-
No unit declared
About this output
Whether any reference value was overridden. Always FALSE here: the model uses no reference data.
- Status
-
No unit declared
About this output
OK, or the first reason the result needs attention: NOT VALID for inputs the model cannot use, and CHECK for a result to look at.
- Acquisition spend
-
No unit declared
About this output
Acquisition spend over the horizon, charged in the month it is spent.
- Cost to win a subscriber (CAC)
-
No unit declared
About this output
Acquisition spend divided by new subscribers, over all cohorts. Blank with no new subscribers.
- Cash billed
-
No unit declared
About this output
Cash collected from bills over the horizon. An annual contract bills 12 months up front.
- PP04 Acquisitions Check
-
No unit declared
About this output
The check of each acquisition month: blank for a blank month, OK, or the first problem found, starting with its code.
- Average monthly churn
-
No unit declared
About this output
Subscribers lost divided by the sum of subscribers at the start of each month. Annual plans lose subscribers only in their renewal months. Blank when there are no subscribers.
- Opening subscribers still active at the end
-
No unit declared
About this output
The share of opening subscribers still active at the end of the horizon. Blank with no opening subscribers.
- Opening subscribers
-
Unit subscribers
About this output
Subscribers on all plans at the start of month 1.
- New subscribers
-
Unit subscribers
About this output
New subscribers over the horizon.
- Deferred revenue at the start
-
No unit declared
About this output
Cash already collected on opening annual contracts for months still to come at the start of month 1.
- Operating result
-
No unit declared
About this output
Recognized revenue less usage cost, acquisition spend and fixed cost over the horizon. Each line is posted to the cent.
- Results by plan
-
No unit declared
About this output
One row per plan: revenue and usage per subscriber, effective churn, the subscriber movement over the horizon, cash, revenue, usage cost, contribution and margin. Blank rows are unused plans.
- PP04 Plans Check
-
No unit declared
About this output
The check of each plan row: blank for an unused row, OK, or the first problem found, starting with its code.
- Peak cash need
-
No unit declared
About this output
The deepest point of cumulative net cash over the horizon, shown as a positive amount. Zero when cumulative cash never goes below zero.
- Month of the peak cash need
-
Unit month
About this output
The first month at the deepest point of cumulative net cash. Blank when there is no need.
- Payback note, first cohort
-
No unit declared
About this output
Says not reached when the first cohort does not pay back within the horizon.
- Fixed cost
-
No unit declared
About this output
The fixed cost a month times the months in the horizon.
- First cohort with spend
-
No unit declared
About this output
The first acquisition month with both new subscribers and spend. Blank when none.
- Months to pay back, first cohort
-
Unit months
About this output
In months of the subscriber life, 1 being the first month, undiscounted. Blank when the cohort does not pay back within the horizon.
- What-if table withheld because
-
No unit declared
About this output
Blank when the what-if table is shown. Otherwise the reason it is withheld: a table step would take the lowest row or column below 0. Every other result is still calculated.
- Cash and results by month
-
No unit declared
About this output
One row per month of the horizon: cash billed, revenue recognized, the deferred revenue balance, usage cost, contribution, spend, fixed cost, operating result, net cash and cumulative cash.
- Net cash
-
No unit declared
About this output
Cash billed less usage cost, acquisition spend and fixed cost over the horizon.
- Contribution per new subscriber over the horizon (LTV)
-
No unit declared
About this output
Contribution per new subscriber within the horizon, discounted when a rate is entered, weighted by cohort size. Later cohorts have fewer months, so a lower LTV does not mean worse subscribers.
- LTV / CAC
-
Unit x
About this output
LTV divided by CAC. Blank with no new subscribers or no spend.
LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.
Methodology
Purpose and model boundary
This calculator projects a subscription business month by month. You enter up to 3 plans, each billed monthly or annually in advance, an opening base of subscribers, and new subscribers in up to 12 months. Over 1 to 24 months subscribers renew: a monthly plan every month, an annual plan once a year at its contract anniversary. At each renewal a share stays, a share moves to another plan of the same billing type, and a share leaves.
One Calculate fills every result section of that one model: the plan, the unit economics by cohort, the subscribers, 100 simulated scenarios and an 11 by 11 what-if table of operating result by price multiplier and churn multiplier.
Price and churn are not linked here. A higher price does not make more subscribers leave unless you say so, so the table shows both directions and you judge how far along it you would land. The calculator claims no best price. Every figure on this page is computed by the spreadsheet; the page adds nothing to it. Every value is your own assumption.
Inputs and units
- Months in the horizon, from 1 to 24.
- Renewal month of opening annual contracts, from 1 to 12 (blank means 1). Your opening annual subscribers have already paid for their current contract. Before this month they bring revenue but no cash.
- Fixed cost a month, from 0 to 1,000,000,000 in whole cents (blank means 0).
- Plans, up to 3 rows, filled from the top without a blank row between used rows: a plan ID, which is a capital letter and then up to 15 capital letters or digits, each ID used once; Monthly or Annual billing; the monthly price, from 0 to 10,000 in whole cents (on an annual plan this is the list price before the annual discount); the annual discount, from 0% to 100%, required on an annual plan and blank or 0 on a monthly plan; opening subscribers, 0 or from 0.01 to 1,000,000; and the share of new subscribers, from 0% to 100%. The used rows' shares add up to 100% whenever any new subscribers are entered. Subscriber counts are expected values, so fractions are allowed.
- At each renewal, one row for each plan row, labelled Plan row 1 to Plan row 3. Each share is a typed percent: the share going to each plan row and the churn. The cell of the row's own plan is the share that stays. Each used row adds up to 100%, and churn is required (blank is not 0). A monthly plan's churn is per month, and an annual plan's is per renewal. A share above 0 between a monthly and an annual plan is not accepted in this version.
- New subscribers by month, one row for each of months 1 to 12, which may all be blank: new subscribers, 0 or from 0.01 to 100,000, and acquisition spend, from 0 to 1,000,000,000 in whole cents. A month may be blank above a used month. A month after the horizon must stay blank.
- Usage costs, up to 5 rows, which may be empty: a category ID in the same form as a plan ID, the cost per unit from 0 to 10,000, and units a month per subscriber on each plan row, from 0 to 1,000,000. Cost per unit times units is at most 10,000 in every cell, and a column of an empty plan row must be blank.
- What-if table: a price multiplier and a churn multiplier, each from 0 to 5 (1 unless you change it), and the spacing of the table's rows and columns, above 0 up to 0.5.
- Optional, under "Optional: discounting, target and risk":
- the discount rate for LTV, from 0% to 100% a year (blank means 0);
- the target operating result, in whole cents (blank means no target, and the share of trials reaching it stays empty);
- the new subscribers multiplier, low, most likely and high, each from 0 to 5 and in that order. These three are required and come filled in, with 0.8, 1 and 1.2 unless you change them. Set all three the same to switch this variation off;
- churn scenarios, up to 5 rows, which may be empty: a scenario ID, a churn multiplier from 0 to 5 and a weight, with the weights adding up to 100%. These rows are sent even while the section is closed. With none, there is one scenario called BASE, with multiplier 1 and weight 100%;
- the random seed, from 1 to 2,147,483,646 (blank means 42).
Money is in dollars. Percentages are shares of subscribers or of a price.
Governing relationships
Renewals. New subscribers join at the start of their month and bill for that month. A subscriber on a monthly plan renews at the start of every later month; opening monthly subscribers renew at the start of month 1. A subscriber on an annual plan renews at each anniversary: a new subscriber 12 months after joining, an opening one at the renewal month you enter and then every 12 months. At a renewal a subscriber stays, moves or leaves before that month's billing. Between renewals an annual subscriber does not change, so a cancellation during a contract takes effect as not renewing, and there are no refunds.
Revenue and cash. A monthly plan recognizes and bills the same amount each month. An annual plan's monthly amount is the price times (1 minus the discount), times the contracts billed in that month, rounded once to the cent. The bill is 12 times that amount, and that amount is recognized in each of the next 12 months, so a finished contract leaves exactly 0 deferred. There are no receivables: a bill counts as collected in its month.
Deferred balance. The balance starts with the months already paid for by opening annual contracts, then each month adds the cash billed and takes away the revenue recognized.
Costs and results. Usage cost follows active subscribers. For each plan, category and month it is subscribers times cost per unit times units, rounded once to the cent. Acquisition spend is charged in the month it is spent, and the fixed cost in every month.
- Contribution is recognized revenue less usage cost.
- Operating result is contribution less acquisition spend and fixed cost.
- Net cash is cash billed less usage cost, acquisition spend and fixed cost.
- Peak cash need is the deepest point of cumulative net cash, shown as a positive amount, with its first month.
Price multiplier. It multiplies every plan's price on every bill from month 1. Contracts prepaid before month 1 keep their price until they renew.
Churn multiplier. It multiplies every plan's churn, up to 100%. The stay and move shares shrink or grow in proportion, so each row still adds up to 100%. A plan with no stay or move share stays at 100% churn under any multiplier.
Cohort economics. Each acquisition month is a cohort, followed from its first month to the end of the horizon.
- CAC is the month's spend divided by its new subscribers.
- LTV is the contribution one new subscriber makes within the horizon, split by the shares of new subscribers. It is never a perpetuity. When a discount rate is entered, contribution one year after joining counts 1 / (1 + rate) as much.
- Payback is the first month of the subscriber's life, 1 being the first, when the running best of its cumulative contribution reaches CAC. It is not discounted. A cohort that does not get there within the horizon reads "not reached".
- Later cohorts have fewer months in the horizon, so a lower LTV does not mean worse subscribers.
The blended CAC and LTV are weighted by new subscribers. Cohort figures are rounded once for display, so a column's total can differ from the month table by a few cents.
Simulation. Each of the 100 trials draws one new-subscriber multiplier from your low, most likely and high (a triangular distribution), for every month, and one churn scenario by its weight, for every month. Spend stays as entered, because the money is spent either way, and plan prices stay fixed. A trial then computes the operating result and ending subscribers exactly at that multiplier and scenario. The same seed and inputs give the same 100 trials, and each Calculate moves on to the next seed. A trial's operating result is not rounded line by line, so a trial with no variation can differ from the plan by a few cents.
What-if table. Rows are 11 price multipliers centred on yours, one row step apart; columns are 11 churn multipliers centred on yours, one column step apart. Each cell is the operating result recalculated by an Excel Data Table. The middle cell is the plan itself. It covers the plan only, not the simulation.
Calculation sequence
The spreadsheet first checks every plan, renewal row, acquisition month, usage row, scenario and setting, and stops with NOT VALID at the first problem it finds, with every figure at 0. It then works out each plan's renewal shares and monthly revenue per subscriber, runs subscribers month by month, posts revenue, cash and usage to the cent, adds up the month table, and works out the cohort table. It then runs the simulation and the what-if table.
Outputs and interpretation
The headline gives the operating result, cash billed and the simulated mean operating result. The result sections follow.
- Plan: revenue recognized, usage cost, contribution and its margin, acquisition spend, fixed cost, net cash, the deferred balance at the start and the end, revenue in the last month and the peak cash need; with the month table, the results by plan and the usage cost by category.
- Unit economics: the blended CAC and LTV and their ratio, the first cohort with spend and its payback (blank when it does not pay back within the horizon; the table says "not reached"), how many cohorts do not pay back, and how many opening subscribers are still active at the end; with the table by cohort.
- Subscribers: opening, new, lost and ending subscribers and the average monthly churn; with the month table. On an annual plan churn falls only in its renewal months.
- Risk: 100 simulated scenarios: the median, 10th and 90th percentile, lowest and highest operating result; the share of trials with a loss and the share reaching your target, each with its standard error; subscribers at the end; the means of the first and last 50 trials, whose gap shows how far 100 trials can wander; the seed; and the trials for each churn scenario. Each share is a count out of 100, so 20% means 20 of 100 trials. 0 of 100 does not mean zero risk.
Percentiles from 100 trials are illustrative only.
For nearby questions, the Price Volume Profit Scenario Simulator projects profit over months when demand responds to price, and the Quote Pricing & Deal Margin Optimizer prices one deal.
Validation and status logic
The workbook returns one status, chosen in this order: NOT VALID, then CHECK, then OK.
- NOT VALID names the first problem: a plan (a blank row above a used row, a missing, malformed or repeated ID, a billing type not on the list, a price, discount, opening count or share outside its limits or not in whole cents); no plan; a renewal row (a row for an empty plan, a used plan's row left blank, a share under an empty plan's column, or churn missing or outside its limits); a move between a monthly and an annual plan; a renewal row that does not add up to 100%; an acquisition month (a value outside its limits, or an entry after the horizon); shares of new subscribers that do not add up to 100%; a usage row; a scenario row; scenario weights that do not add up to 100%; or a setting outside its limits. Every figure is then 0.
- CHECK accompanies a valid result that needs a look because a workbook consistency check failed.
- OK otherwise.
Nothing is optimized or searched, so no other status can occur.
Warnings say when no new subscribers are entered, when a month has spend but no subscribers, when a cohort does not pay back, when a plan earns less a month than its usage cost, when no plan has churn, when churn reaches 100% under a multiplier, when all 100 trials are the same, when the what-if table is withheld, when opening annual contracts keep their price until renewal or renew after the horizon, and when recognized revenue is zero.
Assumptions and limitations
- Capacities are 3 plans, 12 acquisition months, 24 months of horizon, 5 usage categories and 5 churn scenarios.
- Subscribers move only between plans of the same billing type in this version.
- Subscriber counts are expected values, not whole people.
- There is no link between price and churn, or between spend and new subscribers: in a trial, spend stays as entered while new subscribers vary.
- Each trial uses one multiplier and one scenario for all months, so a run does not model a good month followed by a bad one.
- A bill counts as collected in its month. There are no receivables, taxes or payment fees.
- LTV stops at the horizon, so it is not comparable with a lifetime figure from a formula that assumes subscribers stay forever.
Restrictions and non-computing states
The calculator enforces its numeric and choice limits before it accepts a result. A blank row between used rows, a repeated ID, a renewal row that does not add up to 100% and shares that do not add up to 100% are refused by the workbook. With no target its share is left blank. With no new subscribers CAC, LTV and payback are left blank. When a table step would take the lowest row or column below 0, only the what-if table is withheld, with the reason; a multiplier of 0 always withholds it.
Errors and warnings
A request rejected by the page's input limits is not a computed result. A transport or service failure, a timeout or a cancelled run cannot establish a fresh workbook answer, and the last result stays on the page marked as out of date. Review the workbook's References and Disclaimer, and test a result against your own data before using it to set a price.
References
Sources and further reading
Your prices, discounts, subscribers, renewal shares, spend, usage costs and fixed cost come from the inputs; the calculator holds no market, industry or customer data, and every value is your own assumption. The sources below explain the ideas the model uses. They do not endorse this calculator.
- OpenStax, Principles of Accounting, Volume 1: Financial Accounting, 4.1 Explain the Concepts and Guidelines Affecting Adjusting Entries explains recording revenue when it is earned and not when the cash arrives, and unearned revenue for cash taken before the service is given, the idea behind the calculator's deferred balance (retrieved 2026-11-04).
- OpenStax, Principles of Accounting, Volume 2: Managerial Accounting, 3.1 Explain Contribution Margin defines contribution margin as the amount by which a selling price exceeds variable cost per unit; the calculator's contribution is recognized revenue less usage cost (retrieved 2026-11-04).
- Microsoft Support, Calculate multiple results by using a data table describes the two-variable data table the spreadsheet uses for the 11 by 11 what-if table (retrieved 2026-11-02).
- Park, S. K. and Miller, K. W. (1988), Random number generators: good ones are hard to find, Communications of the ACM 31(10) describes the multiplicative congruential generator with modulus 2^31 − 1 that draws the simulation's sign-up multipliers and churn scenarios (DOI checked 2026-11-02).
This is an educational model of the plan you enter, not financial, accounting, pricing or legal advice. It does not estimate how subscribers respond to a price, it claims no best price, it is not certified financial reporting, and it does not guarantee a profit; test a result against your own data before acting on it.
Found a problem, or have an idea?
Tell us if a result looks wrong, a label is unclear, or something is missing. We read every message.