Required Datapoints
- Total Revenue per Referred User: Across full lifespan.
- Average Lifespan of Referred Users: In months or years.
- Number of Referred Users: Total users tagged with referral source.
- Churn Rate (optional): Used in some CLTV models.
CLTV for Referred Users measures the average customer lifetime value (CLTV) of users who were acquired through a referral. It helps assess the long-term value of referral-driven acquisition.
CLTV for Referred Users measures the total lifetime value of customers acquired through referral programs, providing a direct view into referral quality, engagement strength, and long-term ROI from advocacy channels.
The relevance and interpretation of this metric shift depending on the model or product:
A higher CLTV for referred users confirms trust transfer and early activation strength. A lower CLTV may flag one-time users, poor onboarding, or shallow referral mechanics.
Segment by referrer type, product line, or onboarding experience to uncover which referral paths drive long-term, profitable users.
CLTV for Referred Users 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 |
|---|---|
| Referral Campaigns | Referral Campaigns focuses on Referral programs systematically encourage existing customers, users, or partners to recommend a product or service to their network. It coordinates execution across touchpoints so teams can move users or accounts toward the target outcome. Relevant KPIs include Advocate Re-Engagement Rate and CLTV for Referred Users. |
| Retention Modeling | Retention Modeling involves analyzing customer behavior, engagement metrics, and historical churn data to predict future retention rates. It helps teams translate strategy into repeatable execution. Relevant KPIs include CLTV for Referred Users. |
| Growth Loop Analysis | Growth Loop Analysis is a systematic process for identifying, analyzing, and optimizing the recurring cycles that drive customer acquisition, retention, and expansion within modern go-to-market strategies. It turns signals into decisions, interventions, and measurable follow-up. Relevant KPIs include CLTV for Referred Users. |
| Upsell Opportunities | Upsell Opportunities focuses on systematically identifying and qualifying opportunities to increase the value delivered to existing customers. It helps teams translate strategy into repeatable execution. Relevant KPIs include CLTV for Referred Users. |
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(`ReferredUsers`, { sql: `SELECT * FROM referred_users`,
joins: { Revenue: { relationship: `hasMany`, sql: `${CUBE}.id = ${Revenue}.referred_user_id` } },
measures: { totalRevenuePerReferredUser: { sql: `revenue_amount`, type: `sum`, title: `Total Revenue per Referred User`, description: `Total revenue generated by each referred user across their full lifespan.` }, averageLifespanOfReferredUsers: { sql: `lifespan_months`, type: `avg`, title: `Average Lifespan of Referred Users`, description: `Average lifespan of referred users in months.` }, numberOfReferredUsers: { sql: `id`, type: `countDistinct`, title: `Number of Referred Users`, description: `Total number of users acquired through referral.` }, churnRate: { sql: `churn_rate`, type: `avg`, title: `Churn Rate`, description: `Average churn rate of referred users.` } },
dimensions: { id: { sql: `id`, type: `string`, primaryKey: true }, referralSource: { sql: `referral_source`, type: `string`, title: `Referral Source`, description: `Source through which the user was referred.` }, createdAt: { sql: `created_at`, type: `time`, title: `Created At`, description: `Timestamp when the user was referred.` } }})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