Skip to content
ICM Holdings International
Search⌘ K
Index
Growth that survives its own economics

21 · Practical appendices

Appendix: commercial calculation dictionary

Specify canonical revenue, contribution, break-even and cash calculations

152 pages · Edition 2026-10-10

Practical appendices

How does the canonical calculation map a complete typed input to cohort, contribution and cash outputs?

Read the typed input before reading the output

This dictionary describes the exact canonical Growth engine used by the paper. It is a reproducible methodological guide, not a separate implementation. The input objects are stored in the named study files, and the canonical JavaScript compute function validates and calculates them. Python author helpers select existing scalar bindings and assemble the manuscript. They do not calculate another version of the commercial economics. The distinction matters because two plausible implementations can silently use different acquisition or discount timing.

Every input field is required. Missing cost, price or payment information is not treated as zero. CAC must be positive, opening cash is nonnegative and the horizon is a bounded whole number of months. The retained-price expansion field permits supplied contraction as well as expansion. The exact limits and numerical magnitude rule are retained in the canonical schema. A syntactically valid input still needs a commercial interpretation: validation establishes its type and range, not the truth of the assumption.

The foundation values below are illustrative. They represent a homogeneous recurring-service account with immediate service in the acquisition month. All prices and costs are denominated in the same supplied currency. The paper uses the engine’s currency label for consistency; it performs no exchange-rate conversion. Input percentages are entered as percentage points on the indicated monthly basis. In particular, the contribution discount field is monthly and must not receive an annual rate without an explicit separate conversion and justification.

Payment-day inputs feed a level proxy rather than an invoice simulation. The receivable component uses revenue, while inventory and payables use total recurring variable cost. This distinction can be unsuitable when only some costs qualify for stock or supplier terms. The appropriate response is to scope the proxy or escalate the model, not to claim that one set of days describes every working asset and liability. The dictionary preserves the exact implemented basis so that such a mismatch can be identified.

Illustrative calculation. Assumptions and sensitivity are published with the model.

Foundation input dictionary

These are the literal published reference inputs. The files contain the same complete typed object.

Scroll for all columns. With the table focused, use the left and right arrow keys.

Foundation input dictionary
InputIllustrative reference valueUnit and exact meaning
months24Whole calendar-month and customer-age horizon
acquisitionBudget18,000.00USD spent on acquisition each month
cac240.00USD per expected acquired customer
price85.00USD starting monthly amount per active customer
variableCost24.00USD recurring monthly cost per active customer
churn3.50Monthly logo churn percentage after acquisition age
expansion0.50Monthly retained-customer price change percentage
fixedCosts22,000.00USD fixed operating envelope each month
receivableDays30.00Days applied to monthly revenue in level proxy
inventoryDays12.00Days applied to recurring variable-cost total
payableDays25.00Days applied to recurring variable-cost total
startingCash160,000.00USD supplied opening cash; no availability evidence implied
monthlyDiscount1.00Monthly contribution discount percentage

Follow the two clocks and the cash bridge

Acquisition and cohort state

Expected acquired customers = monthly acquisition spend / CAC. Active customers at age = acquired cohort size × retention factor raised to age. Retained price at age = starting price × price-change factor raised to age.

The retention factor is one less the supplied churn percentage expressed as a fraction. The price-change factor is one plus supplied expansion expressed as a fraction. The exponent counts completed months since acquisition, beginning at zero; displayed unit-curve age labels count service months beginning with acquisition. The new cohort is active and receives the starting price in that month. Each calendar month sums all cohorts that have begun by then. Pre-acquisition entries are zero because the cohort does not yet exist inside the business path, rather than because missing data were silently filled.

This structure gives the output three useful views. Cohort arrays preserve acquisition month and age exposure. Monthly rows sum active customers, revenue and contribution across the operating base. The one-customer curve follows a hypothetical newly acquired relationship over the full age horizon. A late-acquired business cohort has less calendar exposure than that complete unit curve. The dictionary therefore keeps calendar totals and customer-age values separate even when their underlying assumptions are identical.

Recurring contribution subtracts active customers multiplied by the constant variable-cost input from revenue. Monthly operating profit then subtracts supplied acquisition spending and fixed operating cost. These subtractions define the canonical management perimeter. They do not create a financial-statement subtotal, assign overhead to individual accounts or calculate a custom installation cost. The monthly ledger retains each component so that the bridge can be inspected without trusting an unexplained headline.

Working-capital and cash reconciliation

Working-capital level = revenue × receivable days / month convention + variable-cost total × (inventory days − payable days) / month convention. Cash flow = operating profit − working-capital change. Closing cash = previous cash + current cash flow.

The month convention is the fixed day basis stated in the canonical methods, and opening working capital is zero. The first change therefore equals the first level. Subsequent changes compare the current level with the previous month. The final level is not released when the horizon ends. This implementation permits a negative inventory/payable component when supplier days exceed inventory days and issues a warning about the supported terms. No borrowing-base calculation or finance fee is performed.

The one-customer curve computes survival-weighted recurring contribution, then discounts it by customer age using the supplied monthly factor. The acquisition-age contribution is undiscounted. Finite contribution value is the sum of those discounted rows, excluding CAC, fixed costs and working-capital timing. The value-to-CAC ratio divides that sum by the supplied positive CAC. These are deterministic model expectations under homogeneous assumptions. Survival, discounting and summation use finite numerical precision; reproducibility does not establish arithmetic exactness or an estimated population expectation. The tool fits no survival or price process from records.

Contribution payback uses the undiscounted cumulative one-customer contribution and returns its first crossing of CAC. If the crossing does not occur inside the supplied window, it returns null. The minimum business cash includes supplied opening cash as well as each monthly closing cash. Additional opening cash is the nonnegative amount required to lift that minimum to nonnegative. Starting-price break-even returns null unless starting price exceeds recurring variable cost. Each null means unavailable under a specific calculation, not zero economic burden.

Select a scalar without changing its meaning

Illustrative calculation. Assumptions and sensitivity are published with the model.

Exact working-capital method retained in the canonical output

Working capital = revenue × receivable days / 30 + variable cost total × (inventory days − payable days) / 30. Cash flow = operating profit − change in working capital.
Illustrative calculation. Assumptions and sensitivity are published with the model.

Decision-relevant output dictionary

The selected values below are illustrative canonical outputs. Output files retain the complete cohort and table arrays for reproduction.

Scroll for all columns. With the table focused, use the left and right arrow keys.

Decision-relevant output dictionary
OutputReference scalarInterpretation and limit
horizonLtv971.94USD finite discounted recurring contribution per expected new customer
ltvCac4.05Contribution value divided by supplied CAC; no funding permission
paybackMonths5First age of undiscounted contribution recovery; excludes business obligations
minCash-58,025.46USD minimum of opening and monthly closing cash
fundingGap58,025.46USD additional opening amount for nonnegative declared path
endingCash218,526.01USD final modelled balance; no terminal working-capital release
breakEvenCustomers655.74Expected starting-price customer equivalents covering supplied monthly envelope

The claim ledger attaches each printed scalar to one input or output pointer in a named study. Its reciprocal block binding identifies where the value is used. The canonical runner recomputes the full output from the typed input; audit compares stored values and current output rather than trusting a frozen headline. Model-linked figures also select exact scalar pointers and are redrawn from their specifications. This lineage makes a result inspectable while preserving its illustrative status.

The independent numerical packet uses literal hand expectations for simple cohort, complete-churn and no-acquisition cases. It also checks contribution, operating and cash reconciliations, invalid fields, unavailable break-even states and unchanged paths under isolated interventions. These checks can detect an implementation or interpretation error. They do not establish empirical parameter values or validate the original policy for every business. The policy branches are tested separately using declared evidence states and exact output fields.

A reader reproducing the study should begin with a complete input file, validate it against the retained schema and invoke the canonical compute source. The reader should then compare the relevant monthly and customer-age rows, not only the final metrics. If an input is changed, the result belongs to a new scenario and must be recomputed before being quoted. A stored favourable output cannot establish that its offer, cost, customer or terms assumptions remain applicable to a later decision.

The dictionary’s main acceptance test is whether another analyst can explain the time and resource boundaries before using a scalar. A clear field name is helpful, but the interpretation requires the horizon, first-service convention, cost perimeter and independent evidence gates. If those boundaries do not fit the commercial obligation, the correct next step is a more appropriate representation. Numerical completeness should never conceal structural mismatch.

Decision and consequence

Reproduce published quantities only from the complete typed fixture and canonical Growth engine. Preserve the two clocks, monthly discount basis, zero opening working capital, unreleased final level and null states. Use the scalar ledger to inspect each printed value. Escalate the representation when the actual commitment needs dated events, heterogeneous states or obligations outside this dictionary.

A serious alternative

A simpler spreadsheet can sometimes make a small commercial question easier to inspect than the canonical cohort module. That alternative is reasonable if it preserves the relevant timing and perimeter and has its own independent verification. It cannot be substituted silently for the paper’s calculation source. The published findings depend on the exact retained engine, and another implementation must be identified as another model. The dictionary enables comparison of conventions so that a convenient tool does not change the economic question unnoticed.

Where this argument stops

This guide describes implemented deterministic computation and published illustrative inputs. It does not estimate customer response, prepare accounts, model dated liquidity or grant financial authority. Schema validity establishes numerical type and range, while source and evidence review establish meaning. Any extension must state its changed method and cannot claim canonical parity from a similar-looking result.

Evidence at the point of use

Open a citation in the chapter to inspect its source, stated support and limits.

Find the next connection

Open the full search desk