Report · REP-028 · v1.0
Neptune · SaaS metrics (MRR, churn, CAC, LTV)
The monthly report of a subscription business: MRR growth, retention, acquisition efficiency and months of cash, with every metric defined and recomputable.
Turns monthly MRR and customer movements and the month's financials into a 6-page report for the founder and the board: MRR bridge, customer and MRR churn, NRR and GRR, CAC, capped LTV, payback, quick ratio, burn multiple and runway.
Definitions are written in the appendix and applied the same way every month: MRR is never mixed with accounting revenue, CAC uses a trailing 3 months and LTV carries a customer-lifetime cap. Before calculating, the script checks that the MRR and customer bridges reconcile month by month; if not, the AI stops and asks.
Delivers a Word report for the board and an Excel workbook with 12 months of metrics in live formulas and editable assumptions. Number format and accounting terms come from the Repporti Standard in your profile; no «55.4K».
What it includes
6 sections, in this order
- 01In 30 seconds: bottom line, 3 bullets and 6 KPI cards
- 02Growth: the month's MRR bridge and a 12-month series
- 03Retention: customer and MRR churn, NRR and GRR, and cohorts if available
- 04Efficiency: CAC, ARPA, gross margin, capped LTV, LTV/CAC, payback, quick ratio and burn multiple
- 05Cash: net burn, financing and runway
- 06Decisions and an appendix with definitions, assumptions, controls and glossary
Controls 7/7
What it checks before writing a single figure
C1Complete data: headers, numeric figures, no duplicate lines and valid units (cuadre.py).
C2Accounting subtotals reconcile when the table includes them (cuadre.py).
C3Consistent sign convention: costs and expenses with a single sign (cuadre.py).
C4MRR bridge: opening + new + expansion + reactivation − contraction − churn = closing, and each month's opening = the prior month's closing (Control sheet = 0).
C5Customer bridge: opening + new + reactivated − churned = closing, month by month (Control sheet = 0).
C6Expenses = sum of their lines every month; the AI stops if revenue and MRR differ by more than 10% (Control sheet = 0).
C7Traceable figures: every figure in the Word file exists in calculo.json with the same rounding (cuadre.py verificar).
If the script ran
Repporti controls 7/7 · REP-028 v1.0 · RS2026.10 · {fecha} · fingerprint {hash}
If it did not run
NOT VERIFIED — controls not executed by code. Review the Control sheet of the XLSX.
Prompt outline
What the prompt contains, block by block
- 0Before you paste your filesFixed640
- 1Role, audience and business context791
- 2Parameters840
- 3Repporti standard421
- 4Data contract1,083
- 5Questions first468
- 6Validation with a hard stop1,623
- 7Calculation by code346
- 7-bisNo-code modeFixed444
- 8Formulas1,597
- 9Structure1,216
- 10Writing without «AI slop» and without invention917
- 11Theme and notation961
- 12QA, traceability and seal1,165
Core available in: Spanish · English
Repporti Standard
It comes out adapted to your report profile
Compatible with every country and framework in the Standard: when you copy, it is composed with your profile (country, accounting framework, report language, currency, unit and year-end). Terminology, number format and statement names come from the Standard, not from the prompt.
See the Repporti StandardHow to use it
From the trial balance to the report in three steps
- 01Configure and copy
- 02Paste into your AI
- 03Review and deliver
Anonymize before pasting
- Company name → an alias (“Client 07”); tax ID → “ID-XX”.
- Customers, suppliers and employees → codes (C001, P001, E001). The mapping table stays on your computer.
- Use an AI that does not train on your data: business plan, API or training turned off.
Who it is for
Made for whoever delivers the report
- Area
- Startups and investors
- Frequency
- Monthly
- Industry
- Software, Subscriptions, Startups
Compatibility
Which AI it works with
| Level | AI | |
|---|---|---|
| With code execution | ChatGPT · Claude | Designed for plans with data analysis (ChatGPT) or code execution (Claude): cuadre.py runs inside the AI. |
| No-code mode | Copilot · Gemini | Generates the Excel file with formulas and a Control sheet. The footer says “NOT VERIFIED” unless you run cuadre.py on your computer. |
Questions
About this report
Why is LTV capped?
Because with low monthly churn the implied customer lifetime explodes (at 0.9% it would be over 100 months) and LTV stops being credible. The default cap is 60 months; you change it on the Assumptions sheet and the report also shows the uncapped value.
Is my MRR calculated like revenue?
No. MRR is the monthly value of active subscriptions at month end (annual plans divided by 12, no one-off services or taxes); revenue follows the accounting framework in your profile. If they differ by more than 10% in any month, the AI stops and asks why.
What about customers who come back?
They count as reactivations, not new customers: they are excluded from CAC and NRR and appear as their own step in the MRR bridge.
Does it work with less than 12 months of history?
Yes. Trailing 3-month metrics start once there are 3 months; year-on-year growth and 12-month series are skipped and the gap is stated under «Limitations».
Does it compare against industry benchmarks?
Only if you attach them with their source. The prompt does not invent market references.
Startups and investors