@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.
- package/README-zh-TW.md +1 -1
- package/README.md +2 -2
- package/bundled-references/business-metrics.md +48 -0
- package/bundled-skills/catalog.json +32 -0
- package/bundled-skills/maggie-finance/SKILL.md +96 -0
- package/bundled-skills/maggie-fundraising/SKILL.md +86 -0
- package/bundled-skills/maggie-legal/SKILL.md +93 -0
- package/bundled-skills/maggie-monetization/SKILL.md +92 -0
- package/bundled-skills/maggie-orchestrator/SKILL.md +112 -0
- package/bundled-skills/maggie-product/SKILL.md +88 -0
- package/bundled-skills/maggie-sales/SKILL.md +113 -0
- package/bundled-skills/maggie-support/SKILL.md +98 -0
- package/bundled-tools/clis/maggie_finance.py +147 -0
- package/bundled-tools/clis/maggie_orchestrator.py +182 -0
- package/package.json +1 -1
- package/references/business-metrics.md +48 -0
|
@@ -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.
|