Page actions
instrument implementation / implementation-contract
MRR/ARR & Churn Tracker implementation
A source-bound implementation contract for MRR/ARR & Churn Tracker; deployment and executable qualification remain separate.
Binding contract
This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.
- Record owner
- Guth Instruments
- Lifecycle
- verified-with-binding-errata
- Evidence ID
- t4-292
- Effect
- Computation or source lookup only
Input and validation requirements
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.
Required corrections
[
{
"vector": 1,
"field": "net_churn(_percent)",
"wrong": "-0.05 / -5",
"correct": "+0.05 / +5",
"cause": "sign flipped; churned (1000) exceeds expansion (500) and her own v3 uses positive-churn convention"
}
]Inspectable interface fixture
The sample below is evidence for interface and validation tests, not a production implementation.
{
"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%."
}Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche4/tranche4-results.jsontranche errata record