@topy-ai/maggie 0.8.3 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,48 @@
1
+ # Business metrics (SaaS)
2
+
3
+ Definitions for the figures `maggie-finance` reports, so a number always means the
4
+ same thing. All are computed deterministically from a ledger of movements, never
5
+ estimated. `maggie_finance.py metrics` computes these from one period's buckets.
6
+
7
+ ## Recurring revenue
8
+
9
+ - **MRR** - monthly recurring revenue. Normalize every subscription to a monthly
10
+ amount (annual / 12). **ARR** = MRR x 12.
11
+ - **Movement buckets** for a period: `new` (brand-new customers), `expansion`
12
+ (existing customers paying more), `contraction` (paying less, negative),
13
+ `churned` (cancelled, negative).
14
+ - **Ending MRR** = starting MRR + new + expansion + contraction + churned.
15
+ - **Net new MRR** = new + expansion + contraction + churned (the period's change).
16
+
17
+ ## Retention and churn
18
+
19
+ - **Gross revenue churn** = -churned MRR / starting MRR. Revenue lost to
20
+ cancellations alone.
21
+ - **Net revenue retention (NRR)** = (starting + expansion + contraction +
22
+ churned) / starting. Excludes new logos; above 100% means the existing base
23
+ grows on its own.
24
+ - **Logo (customer) churn** = churned customers / starting customers.
25
+
26
+ ## Efficiency
27
+
28
+ - **ARPA** = ending MRR / ending customers (average revenue per account).
29
+ - **LTV** = ARPA x gross margin / monthly revenue churn rate. Lifetime gross
30
+ profit per customer; undefined when churn is zero (report "n/a, churn is zero").
31
+ - **CAC** = sales + marketing spend / new customers acquired that period.
32
+ - **LTV:CAC** = LTV / CAC. A common health line is >= 3.
33
+ - **CAC payback** (months) = CAC / (ARPA x gross margin). How long until a
34
+ customer repays their acquisition cost.
35
+
36
+ ## Cash
37
+
38
+ - **Burn** = net cash out per month. **Runway** (months) = cash / monthly burn;
39
+ report "unlimited" when burn is <= 0 (cash-flow positive).
40
+
41
+ ## Rules
42
+
43
+ - These are facts from the ledger/billing, reconciled - not the source of truth.
44
+ The billing system and bank are. Report a figure only when its inputs exist;
45
+ otherwise mark it `n/a (missing: ...)` rather than guessing.
46
+ - State the period and currency with every figure. Mixed currencies are converted
47
+ only with a dated rate that is recorded, never a remembered one.
48
+ - None of this is personalized investment or financial advice.