Required Datapoints
- Total Active Users: Number of users active in the defined period.
- Feature Users: Number of active users who used the feature.
- Time Period: E.g., weekly or monthly.
- Feature Definition: Clear event trigger or action.
Active Feature Usage Rate measures the percentage of active users who engage with a specific feature within a given time period. It helps determine the feature’s relevance, discoverability, and stickiness.
Active Feature Usage Rate shows how well specific product features are being adopted by your users, reflecting true feature value and ongoing relevance. It goes beyond raw usage and looks at how many active users actually engage with a feature over time.
The relevance and interpretation of this metric shift depending on the model or product:
A high rate signals the feature is mission-critical or deeply embedded in workflows. A low rate may indicate discoverability issues, feature bloat, or UX friction.
Segment by role, industry, or customer tier to learn which features are sticky — and which are silently dying.
Active Feature Usage 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 Optimization | Feature Optimization is a structured approach to evaluating, ranking, and scheduling product features by considering customer feedback, market demands, business objectives, and usage data. It improves performance by removing friction, testing changes, and scaling what works. Relevant KPIs include Active Feature Usage Rate and First Critical Feature Reuse 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. |
| UX Experiments | UX Experiments focuses on systematically evaluating and enhancing the product’s user experience by combining qualitative and quantitative research methods. It improves performance by removing friction, testing changes, and scaling what works. Relevant KPIs include Active Feature Usage Rate. |
| Engagement Analytics | Engagement Analytics involves systematically collecting, analyzing, and interpreting user and customer interactions across digital touchpoints—including product usage, website visits, emails, and sales calls. It turns signals into decisions, interventions, and measurable follow-up. Relevant KPIs include Active Feature Usage Rate. |
A SaaS analytics tool tracks “export report” usage:
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(`ActiveUsers`, { sql: `SELECT * FROM active_users`, measures: { totalActiveUsers: { sql: `user_id`, type: `countDistinct`, title: `Total Active Users`, description: `Number of users active in the defined period.` } }, dimensions: { id: { sql: `id`, type: `number`, primaryKey: true }, userId: { sql: `user_id`, type: `string`, title: `User ID` }, activeDate: { sql: `active_date`, type: `time`, title: `Active Date` } }})cube(`FeatureUsage`, { sql: `SELECT * FROM feature_usage`, measures: { featureUsers: { sql: `user_id`, type: `countDistinct`, title: `Feature Users`, description: `Number of active users who used the feature.` } }, dimensions: { id: { sql: `id`, type: `number`, primaryKey: true }, userId: { sql: `user_id`, type: `string`, title: `User ID` }, featureDate: { sql: `feature_date`, type: `time`, title: `Feature Date` }, featureAction: { sql: `feature_action`, type: `string`, title: `Feature Action`, description: `Clear event trigger or action.` } }})cube(`ActiveFeatureUsageRate`, { sql: `SELECT feature_usage.user_id AS user_id, feature_usage.feature_date AS feature_date FROM feature_usage JOIN active_users ON feature_usage.user_id = active_users.user_id`, measures: { activeFeatureUsageRate: { sql: `100.0 * COUNT(DISTINCT feature_usage.user_id) / NULLIF(COUNT(DISTINCT active_users.user_id), 0)`, type: `number`, title: `Active Feature Usage Rate`, description: `Percentage of active users who engage with a specific feature within a given time period.` } }, dimensions: { userId: { sql: `user_id`, type: `string`, title: `User ID` }, featureDate: { sql: `feature_date`, type: `time`, title: `Feature Date` } }, joins: { ActiveUsers: { relationship: `belongsTo`, sql: `${CUBE}.user_id = ${ActiveUsers}.user_id` } }})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