Required Datapoints
- Target Feature(s)
- Eligible Active Users
- First-Time Feature Engagement Logs
Key Feature Exploration Rate measures the percentage of users who engage with a high-value feature for the first time—regardless of whether they complete or repeat use. It helps evaluate feature discoverability and user curiosity.
Key Feature Exploration Rate is a key indicator of product curiosity and discoverability, reflecting how many users engage with high-value or strategic features—regardless of depth or frequency.
The relevance and interpretation of this metric shift depending on the product context:
A rising exploration rate typically signals better feature visibility and intuitive UI/UX, while a drop may indicate feature clutter, poor in-app messaging, or onboarding gaps.
By segmenting by user persona, lifecycle stage, or acquisition channel, you unlock insights to optimize product education, update UI placement, and prioritize what to spotlight during onboarding.
Key Feature Exploration 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 |
|---|---|
| Feature Launch | Feature Launch focuses on the coordinated introduction of a new feature, capability, or product enhancement to the market. It coordinates execution across touchpoints so teams can move users or accounts toward the target outcome. Relevant KPIs include Key Feature Exploration Rate. |
| Onboarding | Onboarding is the process of guiding new users or customers through the initial stages of adopting a product or service, ensuring they experience value as quickly as possible. It helps teams translate strategy into repeatable execution. Relevant KPIs include Active Feature Usage Rate and Breadth of Use. |
| Product Education | Product Education is a strategic process focused on equipping go-to-market teams—including sales, customer success, and support—with the essential knowledge, skills, and resources to effectively position, demonstrate, and support a product. It helps teams translate strategy into repeatable execution. Relevant KPIs include Feature Adoption Rate (Early) and Feature Adoption Velocity (Top 3 Features). |
| Tooltips and Checklists | Tooltips and Checklists focuses on leverages contextual guidance—such as tooltips, onboarding walkthroughs, and in-app checklists—to help users navigate essential product features and workflows. It helps teams translate strategy into repeatable execution. Relevant KPIs include Key Feature Exploration 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('UserEngagement', { sql: `SELECT * FROM user_engagements`,
joins: { FeatureLogs: { relationship: 'belongsTo', sql: `${CUBE}.feature_id = ${FeatureLogs}.id` }, Users: { relationship: 'belongsTo', sql: `${CUBE}.user_id = ${Users}.id` } },
measures: { eligibleActiveUsers: { sql: `user_id`, type: 'countDistinct', title: 'Eligible Active Users', description: 'Count of unique active users eligible for feature engagement.' },
firstTimeFeatureEngagements: { sql: `user_id`, type: 'countDistinct', title: 'First-Time Feature Engagements', description: 'Count of unique users engaging with a feature for the first time.' },
keyFeatureExplorationRate: { sql: `100.0 * ${firstTimeFeatureEngagements} / NULLIF(${eligibleActiveUsers}, 0)` , type: 'number', title: 'Key Feature Exploration Rate', description: 'Percentage of users engaging with a high-value feature for the first time.' } },
dimensions: { id: { sql: `id`, type: 'number', primaryKey: true },
userId: { sql: `user_id`, type: 'number', title: 'User ID', description: 'Unique identifier for the user.' },
featureId: { sql: `feature_id`, type: 'number', title: 'Feature ID', description: 'Unique identifier for the feature.' },
engagementTime: { sql: `engagement_time`, type: 'time', title: 'Engagement Time', description: 'Timestamp of the feature engagement.' } }});cube('FeatureLogs', { sql: `SELECT * FROM feature_logs`,
dimensions: { id: { sql: `id`, type: 'number', primaryKey: true },
featureName: { sql: `feature_name`, type: 'string', title: 'Feature Name', description: 'Name of the feature.' } }});cube('Users', { sql: `SELECT * FROM users`,
dimensions: { id: { sql: `id`, type: 'number', primaryKey: true },
userName: { sql: `user_name`, type: 'string', title: 'User Name', description: 'Name of the user.' } }});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