Blog · Territory, capacity and quota planning · Finance and FP&A teams
Build a monthly mobile app planning workbook from active users, paid usage, fees and operating costs. Follow the cell layout, compare a retention scenario and reconcile the result to cash.
A mobile app financial model connects user activity and paid subscriptions to operating costs and cash. Build it monthly, with separate assumptions for returning users, new activity, billable subscribers and payment timing. The useful output is the cash requirement under each set of assumptions, with a visible route back to the source records.
Bring an account activity export, subscription billing and refund records, platform settlement statements, and the operating budget. Use one reporting month, one currency and a consistent account identifier. Separate actual results from planning assumptions rather than putting both in an unlabeled column.
Define an active user before counting one. A subscription business might count accounts that used a paid feature during the month; another app might use a completed session. Downloads alone cannot establish the paying population.
Also separate a first purchase from a renewal. Apple's subscription guidance explains that auto-renewable subscriptions continue at the end of their duration until canceled. Applying a new-customer conversion rate to existing subscribers would confuse acquisition with renewal.
The layout below is an illustrative subscription app operated by a US company. Each billable subscriber pays the full monthly price once. There are no annual prepayments, advertising receipts, taxes, debt payments or equipment purchases in this example. Platform settlements and operating payments occur in the same month. These are example assumptions, not app-industry benchmarks.
For the wider funding and staffing plan, use the separate startup financial model. This page stays with the app's monthly operating economics.
Put labels in column A and the month in column B. Row numbers below are spreadsheet row numbers. Input rows contain assumptions; calculation rows contain the indicated formulas. Monetary inputs and outputs are USD, while user counts and percentage rates retain their stated units.
| Row | Column A: field | Column B: example | Entry or formula |
|---|---|---|---|
| 2 | Prior-month active users | 20,000 | Input |
| 3 | Share active again this month | 80% | Input |
| 4 | Returning active users | 16,000 | =B2*B3 |
| 5 | Newly active users | 8,000 | Input |
| 6 | Current-month active users | 24,000 | =SUM(B4:B5) |
| 7 | Billable share of active users | 5% | Input |
| 8 | Billable subscribers | 1,200 | =B6*B7 |
| 9 | Monthly price (USD) | 10 | Input |
| 10 | Customer billings (USD) | 12,000 | =B8*B9 |
| 11 | Refund share of billings | 2% | Input |
| 12 | Refunds (USD) | 240 | =B10*B11 |
| 13 | Net customer billings (USD) | 11,760 | =B10-B12 |
| 14 | Distribution fee rate | 15% | Input |
| 15 | Distribution fees (USD) | 1,764 | =B13*B14 |
| 16 | Settlement receipts (USD) | 9,996 | =B13-B15 |
| 17 | Hosting per active user (USD) | 0.08 | Input |
| 18 | Hosting expense (USD) | 1,920 | =B6*B17 |
| 19 | Support per billable subscriber (USD) | 0.25 | Input |
| 20 | Support expense (USD) | 300 | =B8*B19 |
| 21 | Contribution after delivery costs (USD) | 7,776 | =B16-B18-B20 |
| 22 | Marketing payments (USD) | 8,000 | Input |
| 23 | Payroll payments (USD) | 18,000 | Input |
| 24 | Other operating payments (USD) | 3,000 | Input |
| 25 | Operating cash change (USD) | -21,224 | =B21-SUM(B22:B24) |
| 26 | One-time launch payments (USD) | 6,000 | Input |
| 27 | Opening available cash (USD) | 150,000 | Input |
| 28 | Closing available cash (USD) | 122,776 | =B27+B25-B26 |
The billable share includes both existing paying subscribers and new paying subscribers. It is not a first-purchase conversion rate. For actual results, use billed accounts from the billing export and reconcile that count against the activity records; some subscribers may pay without opening the app.
The example uses a blended distribution fee assumption. Use the applicable agreement and actual settlement records for each channel instead of treating this percentage as a universal platform rate. Keep the accounting presentation of revenue separate from this cash planning schedule.
In Excel, the returning-user and monthly-total calculations are:
=B2*B3
=SUM(B4:B5)
=B27+B25-B26
Microsoft documents SUM as adding the numbers in a range. Covirage is not affiliated with Microsoft or Apple.
Copy the monthly column for a second scenario and change only returning-user retention. Keep new activity, paid share, price, fee rates and fixed spending unchanged. Recalculate using the same formulas; monetary results below are exact to the dollar.
| Measure | Base case | Lower retention |
|---|---|---|
| Returning-user retention | 80% | 70% |
| Returning active users | 16,000 | 14,000 |
| Newly active users | 8,000 | 8,000 |
| Total active users | 24,000 | 22,000 |
| Billable subscribers | 1,200 | 1,100 |
| Customer billings (USD) | 12,000 | 11,000 |
| Refunds (USD) | 240 | 220 |
| Net customer billings (USD) | 11,760 | 10,780 |
| Distribution fees (USD) | 1,764 | 1,617 |
| Settlement receipts (USD) | 9,996 | 9,163 |
| Hosting expense (USD) | 1,920 | 1,760 |
| Support expense (USD) | 300 | 275 |
| Contribution (USD) | 7,776 | 7,128 |
| Fixed operating payments (USD) | 29,000 | 29,000 |
| Operating cash change (USD) | -21,224 | -21,872 |
| Launch payments (USD) | 6,000 | 6,000 |
| Opening cash (USD) | 150,000 | 150,000 |
| Closing cash (USD) | 122,776 | 122,128 |
Closing cash falls by $648: the $833 reduction in settlements is partly offset by $160 less hosting and $25 less support. That bridge gives finance a precise question for the product team: can better retention improve contribution enough to justify its cost? It does not establish the answer without a separately costed retention initiative.
Check that returning users plus newly active users equal total active users. Check that customer billings less refunds and distribution fees equal settlement receipts. Finally, opening cash plus operating cash change less launch payments must equal closing cash.
For actual months, reconcile receipts to settlement statements and the bank. The SBA distinguishes cash accounting from accrual accounting: a sale and the receipt of its payment can fall in different periods. Add opening and closing unsettled balances when that happens. Do not force recognized revenue to equal bank receipts.
Use the existing gross profit margin guide for the accounting margin definition. The contribution shown here is a planning subtotal with its included costs stated explicitly. Broader FP&A analysis starts with these checked assumptions and comparisons.
Bring your prepared app workbook and a sample of your own billing, cost or settlement export to Covirage. Covirage maps the columns, its tools compute and check the figures, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account, which takes about a minute, then set up your business and bring a sample of your own data.
See how the same file-based work supports finance teams.
Include returning and newly active users, billable subscribers, prices, refunds, distribution fees, hosting, customer support, marketing, payroll and cash timing. Keep assumptions separate from actual exports, and identify the period and source behind each input.
No. A download records an installation, while an active user meets a defined activity condition during a specified period. Use a consistent activity definition and deduplicate accounts before estimating paid usage or delivery costs from active users.
Keep annual customer payments in the cash schedule when collected. Recognized revenue belongs in a separate schedule under the company's accounting policy. Do not multiply an annual subscriber count by a monthly price and call that month's cash receipts.
It can serve as a clearly labeled simplification, but it can hide differences between acquisition cohorts and subscription plans. Separate active-user retention from paid renewal retention, and use cohort-level assumptions when the source records support them.