ChurnLens
Buyer-side SaaS due-diligence maths: NRR, GRR, revenue concentration, zombie MRR, LTV:CAC.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- HIGH
- MEDIUMen get_scoring_bands
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"churnlens": {
"url": "https://churnlens.site/api/mcp"
}
}
}Puntos de conexión remotos
https://churnlens.site/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (6)
🟢calculate_churn_rate(starting_mrr, expansion_mrr, contraction_mrr, churned_mrr)
Calculate net revenue retention (NRR), gross revenue retention (GRR), revenue churn and implied customer lifetime from one period's MRR movements. Also reports the NRR-minus-GRR spread, which reveals how much churn is being masked by expansion revenue.
Esquema de entrada
{
"type": "object",
"properties": {
"starting_mrr": {
"type": "number",
"description": "MRR at the start of the period, in any single currency unit."
},
"expansion_mrr": {
"type": "number",
"description": "MRR gained from upgrades and expansion within the existing base. Excludes new customers."
},
"contraction_mrr": {
"type": "number",
"description": "MRR lost to downgrades (customer retained)."
},
"churned_mrr": {
"type": "number",
"description": "MRR lost to full cancellations."
}
},
"required": [
"starting_mrr"
]
}🟢analyze_revenue_concentration(customer_mrrs, top_n, whale_threshold_pct)
Assess customer concentration risk across a book of revenue using the Herfindahl-Hirschman Index (HHI), top-N share and whale detection. Answers the question every acquirer asks first: how much revenue walks out with one logo?
Esquema de entrada
{
"type": "object",
"properties": {
"customer_mrrs": {
"type": "array",
"items": {
"type": "number"
},
"description": "Per-customer MRR values. Order does not matter."
},
"top_n": {
"type": "number",
"description": "How many top customers to aggregate for the top-N share. Default 5."
},
"whale_threshold_pct": {
"type": "number",
"description": "Revenue share above which a customer counts as a whale. Default 25."
}
},
"required": [
"customer_mrrs"
]
}⚪detect_zombie_mrr(accounts, threshold_days)
Identify dormant-but-paying accounts — revenue that still counts in MRR but whose customers have stopped showing up. Zombie revenue is one renewal notice from cancelling and is invisible to standard revenue dashboards.
Esquema de entrada
{
"type": "object",
"properties": {
"accounts": {
"type": "array",
"description": "One entry per paying account.",
"items": {
"type": "object",
"properties": {
"customer": {
"type": "string"
},
"mrr": {
"type": "number"
},
"days_since_last_activity": {
"type": "number"
}
},
"required": [
"mrr",
"days_since_last_activity"
]
}
},
"threshold_days": {
"type": "number",
"description": "Days of inactivity before an account counts as dormant. Default 90."
}
},
"required": [
"accounts"
]
}⚪score_saas_health(monthly_churn_rate_pct, nrr_pct, top_customer_share_pct, ltv_to_cac_ratio, annual_plan_share_pct)
Score a SaaS business 0-100 across five dimensions — retention, growth, concentration, efficiency and durability — and return the composite. Every mapping is published, so the score can be reconstructed by hand.
Esquema de entrada
{
"type": "object",
"properties": {
"monthly_churn_rate_pct": {
"type": "number",
"description": "Monthly revenue churn, as a percentage (5 means 5%)."
},
"nrr_pct": {
"type": "number",
"description": "Net revenue retention, as a percentage."
},
"top_customer_share_pct": {
"type": "number",
"description": "Largest single customer's share of revenue, as a percentage."
},
"ltv_to_cac_ratio": {
"type": "number",
"description": "Lifetime value divided by customer acquisition cost."
},
"annual_plan_share_pct": {
"type": "number",
"description": "Share of revenue on annual contracts, as a percentage."
}
},
"required": [
"monthly_churn_rate_pct",
"nrr_pct",
"top_customer_share_pct",
"ltv_to_cac_ratio",
"annual_plan_share_pct"
]
}🟢calculate_ltv(arpa, monthly_churn_rate_pct, gross_margin_pct, cac)
Calculate gross-margin-adjusted customer lifetime value, the LTV:CAC ratio and CAC payback in months. Omitting gross margin yields lifetime revenue rather than lifetime value — usually a third of the number.
Esquema de entrada
{
"type": "object",
"properties": {
"arpa": {
"type": "number",
"description": "Average revenue per account, per month."
},
"monthly_churn_rate_pct": {
"type": "number",
"description": "Monthly churn, as a percentage."
},
"gross_margin_pct": {
"type": "number",
"description": "Gross margin percentage. Defaults to 100, which gives lifetime revenue."
},
"cac": {
"type": "number",
"description": "Customer acquisition cost. Optional — supply it to get the ratio and payback."
}
},
"required": [
"arpa",
"monthly_churn_rate_pct"
]
}🟢get_scoring_bands(metric)
Return the scoring thresholds ChurnLens applies to NRR, revenue concentration and the composite health score. These are bands, not measured benchmark data — the sourced benchmark figures are cited at https://churnlens.site/benchmarks.
Esquema de entrada
{
"type": "object",
"properties": {
"metric": {
"type": "string",
"description": "Which band set to return: 'nrr', 'concentration', 'health', or omit for all.",
"enum": [
"nrr",
"concentration",
"health"
]
}
}
}Comunidad
Evidencia