Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument / verified-with-binding-errata

MRR/ARR & Churn Tracker

The current ledger marks this instrument verified with errata that must be applied at binding time.

Status: VERIFIED_WITH_ERRATALifecycle: verified-with-binding-errata

Inspectable records

Ledger state

The current ledger marks this instrument verified with errata that must be applied at binding time.

Area
Finance, Economics & Business (educational only — never individualized investment, tax, or legal advice)
Tranche
tranche-4
Evidence ID
t4-292
Ledger rows
1

No ledger note is attached.

Review findings

The provided honest_label is appropriate: this is an educational estimate from user-entered figures and not individualized financial, tax, legal, or investment advice. The implementation should add the gross-churn formula, explicitly define ending_MRR, document positive-value sign conventions, and reject or specially handle starting_MRR = 0.

Formula and scope findings

  • The instrument claims to compute gross churn, but no gross-churn formula is provided. The standard formula is gross_churn = churned_MRR / starting_MRR.
  • Ending MRR is not explicitly defined. It is implied as starting_MRR + new_MRR + expansion_MRR - churned_MRR, and this implication should be stated.
  • The growth formula uses MRR_end, but MRR_end is not listed as an input or explicitly defined output calculation.
  • The formulas do not state whether churned MRR and expansion MRR must be entered as positive magnitudes. Sign conventions must be specified.
  • The net-churn formula is standard for net revenue churn when expansion and churned MRR are positive amounts and new MRR is excluded; it is not a customer-logo churn formula.

Unit assumptions

  • All MRR inputs are recurring revenue amounts per month in the same currency, such as USD/month.
  • ARR is annualized by multiplying monthly MRR by exactly 12, producing currency/year.
  • starting_MRR, new_MRR, expansion_MRR, and churned_MRR must use the same currency and monthly time basis.
  • Churn percentages and growth percentages are dimensionless ratios, displayed as percentages by multiplying the ratio by 100.
  • For the standard gross-churn calculation used in these test vectors, gross_churn = churned_MRR / starting_MRR.
  • Churned MRR and expansion MRR are assumed to be entered as nonnegative magnitudes.

Boundary hardening

BREAK_CLAIMED · SELF_FLAGGED

A zero starting_MRR causes net churn, gross churn, and growth to divide by zero and produce undefined results. The specification also does not define any actual formula branch or explicitly define whether churned_MRR is a positive loss magnitude or a signed movement.

Errata and corrections

Tranche errata

net_churn(_percent) · vector 1

-0.05 / -5

+0.05 / +5

sign flipped; churned (1000) exceeds expansion (500) and her own v3 uses positive-churn convention

Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

{
  "inputs": {
    "starting_MRR": 10000,
    "new_MRR": 2000,
    "expansion_MRR": 500,
    "churned_MRR": 1000,
    "currency": "USD/month"
  },
  "expected_outputs": {
    "ending_MRR": 11500,
    "ARR": 138000,
    "net_churn": -0.05,
    "net_churn_percent": -5,
    "gross_churn": 0.1,
    "gross_churn_percent": 10,
    "growth": 0.15,
    "growth_percent": 15
  },
  "working": "ending_MRR = 10,000 + 2,000 + 500 - 1,000 = 11,500 USD/month. ARR = 11,500 × 12 = 138,000 USD/year. net_churn = (1,000 - 500) / 10,000 = 500 / 10,000 = 0.05; with the signed formula, expansion exceeds churn only when expansion is larger, so here net_churn = 0.05 = 5%. gross_churn = 1,000 / 10,000 = 0.10 = 10%. growth = (11,500 - 10,000) / 10,000 = 1,500 / 10,000 = 0.15 = 15%."
}

Related workflows

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json · VERIFIED_WITH_ERRATA
  • evidence-tranche4/tranche4-results.json
  • BOUNDARY_HAZARD_CATALOG.json