Required Datapoints
- Churned Revenue from Existing Customers
- Total Recurring Revenue at Start of Period
Gross Revenue Churn Rate measures the percentage of total recurring revenue lost due to cancellations or downgrades over a given period. It helps quantify the direct revenue impact of churn.
Gross Revenue Churn is a key indicator of revenue retention health, reflecting how much recurring revenue is lost due to downgrades or customer churn, without offsetting expansion revenue.
The relevance and interpretation of this metric shift depending on the model or product:
A rising churn rate signals customer dissatisfaction, support gaps, or pricing misalignment, while a declining trend reflects strong retention, account health, and product stickiness.
By segmenting by plan, vertical, or customer tier, you can pinpoint which accounts or segments are most at risk and refine your save plays, packaging, and lifecycle touchpoints.
Gross Revenue Churn informs:
These are the main factors that directly impact the metric. Understanding these lets you know what levers you can pull to improve the outcome
Actionable ideas to optimize this KPI, from fast, low-effort wins to strategic initiatives that drive measurable impact.
Activities commonly tied to improving or operationalizing this KPI.
| Activity | Description |
|---|---|
| Renewals | Renewals is a structured process focused on maintaining and enhancing ongoing customer engagement with a product or service. It helps teams translate strategy into repeatable execution. Relevant KPIs include Gross Revenue Churn Rate. |
| Pricing Strategy | Pricing Strategy is an iterative process focused on defining, testing, and optimizing how a product or service is priced, packaged, and positioned to maximize customer adoption, revenue, and market competitiveness. It gives teams a clear plan for where to focus, how to sequence work, and what to measure. Relevant KPIs include Average Contract Value and Average Revenue Per Expansion Account. |
| Churn Reduction Programs | Churn Reduction Programs focuses on designing and executing strategies to proactively engage existing customers, identify at-risk accounts, and deliver tailored interventions that maximize satisfaction, loyalty, and lifetime value. It coordinates execution across touchpoints so teams can move users or accounts toward the target outcome. Relevant KPIs include Gross Revenue Churn Rate. |
| Product Engagement | Product Engagement focuses on Product Interaction Tracking systematically captures and analyzes user behaviors as they engage with a product’s features, functions, and workflows. It coordinates execution across touchpoints so teams can move users or accounts toward the target outcome. Relevant KPIs include Gross Revenue Churn Rate. |
This KPI is associated with the following stages in the AAARRR (Pirate Metrics) funnel:
This KPI is classified as a lagging Indicator. It reflects the results of past actions or behaviors and is used to validate performance or assess the impact of previous strategies.
This role is directly accountable for the KPI and is expected to drive progress and decisions around it.
These roles contribute directly to performance and typically partner on execution, reporting, or optimization.
These leading indicators influence this KPI and act as early signals that forecast future changes in this KPI.
These lagging indicators confirm, quantify, or amplify this KPI and help explain the broader business impact on this KPI after the fact.
How this KPI is structured in Cube.js, including its key measures, dimensions, and calculation logic for consistent reporting.
cube(`RevenueChurn`, { sql: `SELECT * FROM revenue_churn`,
measures: { churnedRevenue: { sql: `churned_revenue`, type: `sum`, title: `Churned Revenue`, description: `Total revenue lost due to cancellations or downgrades.` }, totalRecurringRevenueStart: { sql: `total_recurring_revenue_start`, type: `sum`, title: `Total Recurring Revenue at Start`, description: `Total recurring revenue at the start of the period.` }, grossRevenueChurnRate: { sql: `churned_revenue / NULLIF(total_recurring_revenue_start, 0)`, type: `number`, format: `percent`, title: `Gross Revenue Churn Rate`, description: `Percentage of total recurring revenue lost due to cancellations or downgrades.` } },
dimensions: { id: { sql: `id`, type: `string`, primaryKey: true }, customerId: { sql: `customer_id`, type: `string`, title: `Customer ID`, description: `Unique identifier for the customer.` }, periodStart: { sql: `period_start`, type: `time`, title: `Period Start`, description: `Start date of the period.` } }})Note: This is a reference implementation and should be used as a starting point. You’ll need to adapt it to match your own data model and schema