Required Datapoints
- Feature Usage Frequency
- Number of Active Users
- CS Health Score or NPS
- Stakeholder Engagement / Role Diversity
- Account Growth Indicators (seats, business units)
Expansion Readiness Index is a composite score that measures how ready an account is for an upsell or cross-sell based on behavioral, product usage, and customer fit data. It helps prioritize expansion outreach.
Expansion Readiness Index is a key indicator of account maturity and upsell timing, reflecting how product usage, support health, team growth, and behavioral signals converge to indicate expansion readiness.
The relevance and interpretation of this metric shift depending on the model or product:
A high index suggests a prime window for expansion conversations, while a low index may signal incomplete onboarding or low product engagement.
By segmenting by customer type, vertical, or CSM owner, you can uncover patterns that support smart prioritization of upsell plays and resourcing.
Expansion Readiness Index 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 |
|---|---|
| Account Prioritization | Account Prioritization focuses on Account Prioritization ranks accounts based on value, fit, intent, and growth potential. It gives teams a clear plan for where to focus, how to sequence work, and what to measure. Relevant KPIs include Expansion Readiness Index and Expansion Revenue Potential (Forecasted). |
| Expansion Forecasting | Expansion Forecasting is the process of systematically analyzing existing customer accounts to uncover potential areas for revenue growth, such as upselling, cross-selling, or encouraging adoption of add-on products. It turns signals into decisions, interventions, and measurable follow-up. Relevant KPIs include Converted PQL Lifetime Value and Expansion Readiness Index. |
| Growth Plays | Growth Plays are strategic, repeatable, and data-driven campaigns or actions aimed at accelerating revenue growth, customer acquisition, product adoption, or user engagement. It coordinates execution across touchpoints so teams can move users or accounts toward the target outcome. Relevant KPIs include Expansion Readiness Index. |
| Feature Usage Analysis | Feature Usage Analysis involves systematically tracking, measuring, and interpreting how users interact with key features of a product. It turns signals into decisions, interventions, and measurable follow-up. Relevant KPIs include Expansion Readiness Index and Stickiness Ratio. |
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('AccountExpansionReadiness', { sql: `SELECT * FROM account_expansion_readiness`,
joins: { Accounts: { relationship: 'belongsTo', sql: `${CUBE}.account_id = ${Accounts}.id` }, ProductUsage: { relationship: 'hasMany', sql: `${CUBE}.account_id = ${ProductUsage}.account_id` }, CustomerFeedback: { relationship: 'hasMany', sql: `${CUBE}.account_id = ${CustomerFeedback}.account_id` } },
measures: { featureUsageFrequency: { sql: `feature_usage_frequency`, type: 'avg', title: 'Feature Usage Frequency', description: 'Average frequency of feature usage by the account.' }, numberOfActiveUsers: { sql: `number_of_active_users`, type: 'sum', title: 'Number of Active Users', description: 'Total number of active users in the account.' }, csHealthScore: { sql: `cs_health_score`, type: 'avg', title: 'CS Health Score', description: 'Average customer success health score or NPS for the account.' }, stakeholderEngagement: { sql: `stakeholder_engagement`, type: 'avg', title: 'Stakeholder Engagement', description: 'Average engagement level of stakeholders within the account.' }, accountGrowthIndicators: { sql: `account_growth_indicators`, type: 'sum', title: 'Account Growth Indicators', description: 'Sum of growth indicators such as seats and business units.' } },
dimensions: { id: { sql: `id`, type: 'string', primaryKey: true, title: 'ID', description: 'Unique identifier for each account expansion readiness record.' }, accountId: { sql: `account_id`, type: 'string', title: 'Account ID', description: 'Identifier for the account.' }, createdAt: { sql: `created_at`, type: 'time', title: 'Created At', description: 'Timestamp when the record was created.' } }});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