Required Datapoints
- Expansion Revenue for Period (from existing accounts)
- Total Revenue for Same Period
- Optional: Breakdowns by cohort or product
Expansion Revenue Rate measures the percentage of total revenue that comes from upsells, cross-sells, and account expansions within a given time period. It helps quantify the contribution of customer growth to overall revenue.
Expansion Revenue Rate is a key indicator of customer base monetization and revenue efficiency, reflecting how much of your revenue growth comes from existing customers increasing their spend—through seat upgrades, add-ons, feature unlocks, or tier changes.
The relevance and interpretation of this metric shift depending on the model or product:
A rising Expansion Revenue Rate signals strong product-market fit and growing customer trust, while a declining trend may indicate pricing friction, lack of perceived value, or saturation in your expansion model.
By segmenting by account tier, vertical, or region, you unlock insights to optimize packaging, adjust pricing models, prioritize CS outreach, and identify under-monetized segments.
Expansion Revenue Rate 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 |
|---|---|
| Revenue Reporting | Revenue Reporting involves systematically collecting, examining, and interpreting revenue data across all go-to-market activities. It turns signals into decisions, interventions, and measurable follow-up. Relevant KPIs include Expansion Revenue Rate. |
| Expansion Plays | Expansion Plays focuses on Expansion Motion encompasses the strategic activities aimed at increasing the value of existing customer accounts by identifying and pursuing opportunities for upselling, cross-selling, and encouraging broader product adoption. It coordinates execution across touchpoints so teams can move users or accounts toward the target outcome. Relevant KPIs include Average Revenue Per Account and Average Revenue Per Expansion Account. |
| Growth Planning | Growth Planning involves a systematic approach to identifying, prioritizing, and executing initiatives that drive scalable business growth. It gives teams a clear plan for where to focus, how to sequence work, and what to measure. Relevant KPIs include Expansion Revenue Rate. |
| Revenue Attribution | Revenue Attribution is the systematic process of identifying, tracking, and assigning credit for generated revenue to specific marketing campaigns, sales activities, product features, or customer touchpoints. It turns signals into decisions, interventions, and measurable follow-up. Relevant KPIs include Expansion Revenue Rate and Referral Account Revenue Contribution. |
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('Revenue', { sql: `SELECT * FROM revenue`,
measures: { expansionRevenue: { sql: `expansion_revenue`, type: 'sum', title: 'Expansion Revenue', description: 'Total revenue from upsells, cross-sells, and account expansions within a given period.' }, totalRevenue: { sql: `total_revenue`, type: 'sum', title: 'Total Revenue', description: 'Total revenue for the same period.' }, expansionRevenueRate: { sql: `100.0 * ${expansionRevenue} / NULLIF(${totalRevenue}, 0)`, type: 'number', title: 'Expansion Revenue Rate', description: 'Percentage of total revenue that comes from upsells, cross-sells, and account expansions.' } },
dimensions: { id: { sql: `id`, type: 'string', primaryKey: true, title: 'ID', description: 'Unique identifier for each revenue record.' }, cohort: { sql: `cohort`, type: 'string', title: 'Cohort', description: 'Cohort of the customer or account.' }, product: { sql: `product`, type: 'string', title: 'Product', description: 'Product associated with the revenue.' }, revenueDate: { sql: `revenue_date`, type: 'time', title: 'Revenue Date', description: 'Date of the revenue transaction.' } }});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