Source: https://guthlabs.ai/docs/instruments/mrr-arr-churn-tracker/implementation/

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.

Status: **VERIFIED_WITH_ERRATA**Lifecycle: **implementation-contract**

## 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

[01**Overview**](<https://guthlabs.ai/docs/instruments/mrr-arr-churn-tracker/>)[02**Mechanism**](<https://guthlabs.ai/docs/instruments/mrr-arr-churn-tracker/mechanism/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/mrr-arr-churn-tracker/qualification/>)

## Sources and evidence

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

- `VERIFIED_LEDGER.json`

- `evidence-tranche4/tranche4-results.json`

- `tranche errata record`
