ICM · Research & Decision Studio · growth-engine · Model 1.0.1 · Illustrative inputs
Customer economics
Growth engine
Reconcile acquisition cohorts, contribution and working-capital cash before celebrating revenue.
The interactive model requires JavaScript. This saved default illustration remains readable if the runtime is unavailable. Values are computed from the canonical model at build time; they describe fictional inputs, with full calculation precision.
ICM · Growth engine · Model 1.0.1 · Default illustrative record
Default illustrative result
Expected new customers are 75 per month. The 24-month contribution LTV is 971.94 USD/customer, or 4.05× CAC. CAC contribution payback occurs in month 5. Closing cash is 218,526.01 USD; the lowest cash balance, including opening cash, is -58,025.46 USD.
| Metric | Value | Unit | Calculation boundary |
|---|---|---|---|
| Finite-horizon contribution LTV | 971.9445184965266 | USD/customer | 24 months; excludes acquisition cost and fixed costs. |
| Contribution LTV / CAC | 4.049768827068861 | × | |
| CAC contribution payback | 5 | months | First cumulative expected contribution recovery, checked with exact canonical decimal inputs. |
| Additional opening cash for trough | 58025.462072332506 | USD | Keeps modelled cash at or above zero. |
| Month | Active customers | RevenueUSD | Variable costsUSD | ContributionUSD | Acquisition spendUSD | Fixed costsUSD | Operating profitUSD | Working capitalUSD | Working-capital changeUSD | Cash flowUSD | Closing cashUSD |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 75 | 6375 | 1800 | 4575 | 18000 | 22000 | -35425 | 5595 | 5595 | -41020 | 118980 |
| 2 | 147.375 | 12557.634375 | 3537 | 9020.634375 | 18000 | 22000 | -30979.365625 | 11024.934374999999 | 5429.934374999999 | -36409.299999999996 | 82570.70000000001 |
| 3 | 217.21687500000002 | 18553.707757734373 | 5213.205 | 13340.502757734374 | 18000 | 22000 | -26659.49724226563 | 16294.652257734377 | 5269.717882734378 | -31929.215125000006 | 50641.48487500001 |
| 4 | 284.614284375 | 24368.849626144736 | 6830.742825 | 17538.106801144735 | 18000 | 22000 | -22461.893198855265 | 21408.861068644735 | 5114.208810910359 | -27576.102009765622 | 23065.382865234387 |
| 5 | 349.65278442187497 | 30008.519588675816 | 8391.666826125 | 21616.852762550814 | 18000 | 22000 | -18383.147237449186 | 26372.130630688316 | 4963.269562043581 | -23346.416799492767 | -281.0339342583793 |
| 6 | 412.4149369671093 | 35478.012510087516 | 9897.958487210624 | 25580.05402287689 | 18000 | 22000 | -14419.945977123109 | 31188.897165629573 | 4816.766534941256 | -19236.712512064365 | -19517.746446322744 |
| 7 | 472.9804141732605 | 40782.463482595624 | 11351.529940158252 | 29430.93354243737 | 18000 | 22000 | -10569.066457562629 | 35863.46717519371 | 4674.5700095641405 | -15243.63646712677 | -34761.38291344952 |
| 8 | 531.4260996771964 | 45926.852647008294 | 12754.226392252713 | 33172.62625475558 | 18000 | 22000 | -6827.373745244418 | 40400.02121036545 | 4536.554035171735 | -11363.927780416154 | -46125.31069386567 |
| 9 | 587.8261861884945 | 50916.00986838481 | 14107.828468523869 | 36808.18139986094 | 18000 | 22000 | -3191.818600139057 | 44802.617532024466 | 4402.596321659017 | -7594.414921798074 | -53719.725615663745 |
| 10 | 642.2522696718971 | 55754.619270606294 | 15414.054472125532 | 40340.56479848076 | 18000 | 22000 | 340.5647984807583 | 49075.19566601856 | 4272.578133994095 | -3932.0133355133366 | -57651.73895117708 |
| 11 | 694.7734402333807 | 60447.22363411574 | 16674.562565601136 | 43772.6610685146 | 18000 | 22000 | 3772.6610685146006 | 53221.579855688586 | 4146.384189670025 | -373.72312115542445 | -58025.462072332506 |
| 12 | 745.4563698252124 | 64998.22866095629 | 17890.9528758051 | 47107.275785151185 | 18000 | 22000 | 7107.275785151185 | 57245.48241477408 | 4023.9025590854944 | 3083.3732260656907 | -54942.088846266815 |
| 13 | 794.36539688133 | 69411.90711111193 | 19064.769525151918 | 50347.13758596001 | 18000 | 22000 | 10347.137585960008 | 61150.506983546096 | 3905.024568772016 | 6442.113017187992 | -48499.97582907882 |
| 14 | 841.5626079904833 | 73692.40281403411 | 20197.5025917716 | 53494.90022226251 | 18000 | 22000 | 13494.900222262513 | 64940.15169093308 | 3789.644707386986 | 9705.255514875527 | -38794.720314203296 |
| 15 | 887.1079167108165 | 77843.73455912062 | 21290.590001059598 | 56553.14455806103 | 18000 | 22000 | 16553.14455806103 | 68617.81222532813 | 3677.6605343950505 | 12875.48402366598 | -25919.236290537316 |
| 16 | 931.0591396259377 | 81869.79986879915 | 22345.419351022505 | 59524.38051777665 | 18000 | 22000 | 19524.380517776648 | 72186.7848166894 | 3568.9725913612638 | 15955.407926415384 | -9963.828364121931 |
| 17 | 973.47206973903 | 85774.37865775812 | 23363.32967373672 | 62411.0489840214 | 18000 | 22000 | 22411.0489840214 | 75650.2691324722 | 3463.4843157828 | 18947.5646682386 | 8983.736304116668 |
| 18 | 1014.400547298164 | 89561.13678176026 | 24345.613135155938 | 65215.52364660432 | 18000 | 22000 | 25215.52364660432 | 79011.37108985936 | 3361.10195738716 | 21854.42168921716 | 30838.15799333383 |
| 19 | 1053.8965281427281 | 93233.62947937063 | 25293.516675425475 | 67940.11280394516 | 18000 | 22000 | 27940.112803945158 | 82273.10558668626 | 3261.7344968269026 | 24678.378307118255 | 55516.536300452084 |
| 20 | 1092.0101496577327 | 96795.30470983061 | 26208.243591785584 | 70587.06111804504 | 18000 | 22000 | 30587.061118045036 | 85438.3991533902 | 3165.293566703942 | 27421.767551341094 | 82938.30385179317 |
| 21 | 1128.789794419712 | 100249.50639021146 | 27090.95506607309 | 73158.55132413837 | 18000 | 22000 | 33158.551324138374 | 88510.09252824646 | 3071.6933748562587 | 30086.857949282115 | 113025.16180107529 |
| 22 | 1164.282151615022 | 103599.4775348868 | 27942.77163876053 | 75656.70589612627 | 18000 | 22000 | 35656.70589612627 | 91490.94315809055 | 2980.8506298440916 | 32675.855266282175 | 145701.01706735746 |
| 23 | 1198.5322763084964 | 106848.3633002716 | 28764.774631403914 | 78083.58866886768 | 18000 | 22000 | 38083.588668867684 | 94383.62762666323 | 2892.684468572683 | 35190.904200295 | 180891.92126765248 |
| 24 | 1231.5836466376988 | 109999.21393768588 | 29558.007519304774 | 80441.2064183811 | 18000 | 22000 | 40441.2064183811 | 97190.74401265381 | 2807.116385990579 | 37634.09003239052 | 218526.011300043 |
| Customer agemonths | Retention probability% | Retained customer priceUSD/month | Expected contributionUSD/month | Discounted contributionUSD | Undiscounted cumulativeUSD |
|---|---|---|---|---|---|
| 1 | 100 | 85 | 61 | 61 | 61 |
| 2 | 96.5 | 85.425 | 59.275124999999996 | 58.68824257425742 | 120.275125 |
| 3 | 93.1225 | 85.85212499999997 | 57.598245103124974 | 56.463332127364936 | 177.87337010312498 |
| 4 | 89.86321249999999 | 86.28138562499997 | 55.96805391213817 | 54.32204172580455 | 233.84142401526316 |
| 5 | 86.71800006249998 | 86.71279255312497 | 54.3832794854144 | 52.261262653998806 | 288.22470350067755 |
| 6 | 83.68287006031248 | 87.14635651589057 | 52.842683471014375 | 50.27800016373446 | 341.0673869716919 |
| 7 | 80.75396960820154 | 87.58208829847003 | 51.345060260806356 | 48.36936937253274 | 392.41244723249827 |
| 8 | 77.92758067191448 | 88.01999873996238 | 49.88923616424282 | 46.53259130593742 | 442.30168339674105 |
| 9 | 75.20011534839747 | 88.46009873366218 | 48.47406860140486 | 44.76498907885402 | 490.7757519981459 |
| 10 | 72.56811131120357 | 88.90239922733046 | 47.09844531493089 | 43.06398421122707 | 537.8741973130768 |
| 11 | 70.02822741531143 | 89.34691122346712 | 45.76128360045123 | 41.42709307349445 | 583.635480913528 |
| 12 | 67.57723945577554 | 89.79364577958444 | 44.461529555154534 | 39.851923457403885 | 628.0970104686826 |
| 13 | 65.21203607482339 | 90.24261400848235 | 43.19815734411752 | 38.3361712679193 | 671.2951678128001 |
| 14 | 62.92961481220457 | 90.69382707852476 | 41.97016848403342 | 36.8776173320826 | 713.2653362968335 |
| 15 | 60.7270782937774 | 91.14729621391737 | 40.776591143980234 | 35.474124320830484 | 754.0419274408138 |
| 16 | 58.6016305534952 | 91.60303269498695 | 39.61647946287482 | 34.12363377989649 | 793.6584069036886 |
| 17 | 56.550573484122864 | 92.06104785846188 | 38.48891288326352 | 32.824163266053716 | 832.1473197869522 |
| 18 | 54.571303412178565 | 92.52135309775416 | 37.39299550110564 | 31.573803585077226 | 869.5403152880577 |
| 19 | 52.66130779275231 | 92.98395986324292 | 36.32785543121107 | 30.37071612792274 | 905.8681707192688 |
| 20 | 50.81816202000597 | 93.44887966255912 | 35.29264418799827 | 29.21313030173423 | 941.1608149072671 |
| 21 | 49.03952634930577 | 93.91612406087191 | 34.28653608124459 | 28.099341052404167 | 975.4473509885116 |
| 22 | 47.32314292708006 | 94.38570468117626 | 33.30872762650553 | 27.027706475518528 | 1008.7560786150171 |
| 23 | 45.66683292463226 | 94.85763320458213 | 32.358436969885275 | 25.99664551262365 | 1041.1145155849024 |
| 24 | 44.06849377227013 | 95.33192137060504 | 31.43490332684571 | 25.00463572985356 | 1072.549418911748 |
| Acquisition month | Expected customers acquired | Revenue through horizonUSD | Contribution through horizonUSD |
|---|---|---|---|
| 1 | 75 | 109999.21393768587 | 80441.20641838112 |
| 2 | 75 | 106848.36330027158 | 78083.58866886768 |
| 3 | 75 | 103599.4775348868 | 75656.70589612628 |
| 4 | 75 | 100249.50639021145 | 73158.55132413836 |
| 5 | 75 | 96795.3047098306 | 70587.06111804502 |
| 6 | 75 | 93233.62947937062 | 67940.11280394516 |
| 7 | 75 | 89561.13678176024 | 65215.52364660433 |
| 8 | 75 | 85774.3786577581 | 62411.04898402141 |
| 9 | 75 | 81869.79986879913 | 59524.38051777664 |
| 10 | 75 | 77843.73455912061 | 56553.14455806103 |
| 11 | 75 | 73692.4028140341 | 53494.90022226251 |
| 12 | 75 | 69411.90711111191 | 50347.13758596001 |
| 13 | 75 | 64998.22866095628 | 47107.27578515119 |
| 14 | 75 | 60447.22363411573 | 43772.6610685146 |
| 15 | 75 | 55754.61927060629 | 40340.56479848076 |
| 16 | 75 | 50916.009868384805 | 36808.18139986094 |
| 17 | 75 | 45926.85264700829 | 33172.62625475558 |
| 18 | 75 | 40782.46348259562 | 29430.933542437368 |
| 19 | 75 | 35478.012510087516 | 25580.05402287689 |
| 20 | 75 | 30008.519588675816 | 21616.852762550814 |
| 21 | 75 | 24368.849626144736 | 17538.106801144735 |
| 22 | 75 | 18553.707757734373 | 13340.502757734372 |
| 23 | 75 | 12557.634375 | 9020.634375 |
| 24 | 75 | 6375 | 4575 |
Inputs behind this result
| Assumption and unit | Exact supplied value |
|---|---|
| Model horizon (months) | 24 |
| Monthly acquisition spend (USD) | 18000 |
| Acquisition cost per customer (USD) | 240 |
| Starting monthly price (USD/customer) | 85 |
| Monthly variable cost (USD/customer) | 24 |
| Monthly logo churn (%) | 3.5 |
| Monthly retained-customer price expansion (%) | 0.5 |
| Monthly fixed operating cost (USD) | 22000 |
| Receivable days | 30 |
| Inventory days | 12 |
| Payable days | 25 |
| Opening cash (USD) | 160000 |
| Monthly contribution discount rate (%) | 1 |
Transparent method
- Expected new customers each month = acquisition spend / CAC. Acquisition occurs at the beginning of the month, with first revenue in that month.
- For cohort age a: active customers = cohort size × (1 − churn)^a; price = initial price × (1 + expansion)^a.
- Contribution = revenue − active customers × variable cost. Monthly operating profit subtracts acquisition spend and fixed costs.
- Working capital = revenue × receivable days / 30 + variable cost total × (inventory days − payable days) / 30. Cash flow = operating profit − change in working capital.
- Finite-horizon contribution LTV discounts one customer’s expected contributions at ages 0 to horizon − 1. CAC payback uses undiscounted cohort contribution. Its first recovery crossing is evaluated from exact canonical JSON-number decimals, without a numerical tolerance.
Limits
- Expected fractional customers and constant acquisition, churn, expansion and cost assumptions. Months have 30 days for working capital.
- Finite-horizon LTV is not infinite lifetime value. No taxes, capex, financing, terminal value, seasonality or saturation.
- Customers surviving at horizon generate no terminal value; working capital is not released at horizon.
- Numerical input precision: use zero or absolute values of at least 0.000000001. Smaller nonzero inputs are rejected explicitly.