Power users drive disproportionate value, but you can't optimize retention if you don't know who they are. In Mixpanel, you can identify power users by tracking specific engagement events, setting user properties, and building cohorts that update in real time. Here's how to set it up.
Track Engagement Events and User Properties
Start by capturing the behaviors that define power users at your company — could be feature usage, login frequency, or content creation.
Install the Mixpanel SDK and Initialize
Add the Mixpanel JavaScript SDK to your app. This is your bridge for sending user actions and properties to Mixpanel.
// Install via npm
npm install mixpanel-browser
// Import and initialize in your app
import mixpanel from 'mixpanel-browser';
mixpanel.init('YOUR_PROJECT_TOKEN');
// Or use the CDN script in your HTML head
// <script src="//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js"></script>Track Core Engagement Events
Send events whenever a user performs a key action — logging in, using a feature, creating content. Include properties to capture context and depth of engagement.
// Track login events
mixpanel.track('User Login', {
login_method: 'email',
is_returning_user: true
});
// Track feature usage with engagement metrics
mixpanel.track('Feature Used', {
feature_name: 'analytics_dashboard',
time_spent_seconds: 300,
elements_interacted: 5
});
// Track content creation to identify power users
mixpanel.track('Report Created', {
report_type: 'cohort_analysis',
data_sources_count: 3,
is_shared: true
});Accumulate Engagement Metrics Using User Properties
Use mixpanel.people.set() to store aggregate metrics on user profiles — total logins, features adopted, or last active date. Update these as users engage.
// Set user profile properties on signup or profile update
mixpanel.people.set({
'$email': user.email,
'$created': new Date().toISOString(),
'account_plan': 'pro',
'days_since_signup': 45
});
// Increment counters each time the user performs a key action
mixpanel.people.increment('total_logins');
mixpanel.people.increment('reports_created');
// Update the last active timestamp
mixpanel.people.set({
'last_active_date': new Date().toISOString()
});Create a Cohort to Identify Power Users
Once event tracking is live, build a cohort that automatically surfaces users matching your power user definition.
Navigate to the Cohorts Builder
In Mixpanel, go to Analytics > Cohorts and click Create Cohort. This creates a reusable audience that updates automatically as users generate events.
// Cohort definition (built via Mixpanel UI, then referenced in code):
// Cohort Name: 'Power Users'
// Include users where ALL of the following are true:
// - Property 'total_logins' >= 10 (in the last 30 days)
// - Property 'reports_created' >= 3 (lifetime)
// - Property 'last_active_date' is within the last 7 days
// - Property 'account_plan' is 'pro' OR 'enterprise'
// Once created, Mixpanel assigns a cohort_id you can referenceSet Multiple Conditions Using AND/OR Logic
Use the cohort builder to layer conditions. Require all high-engagement signals OR allow flexibility — it depends on your definition of power.
// Example: Multi-condition cohort filter
// (total_logins >= 10 AND last_active_date >= 7 days)
// OR (reports_created >= 5 AND account_plan = 'enterprise')
// In the Mixpanel UI, drag conditions and operators to build this logic
// Once saved, Mixpanel evaluates it for every user in real time
// The resulting cohort_id looks like:
const POWER_USERS_COHORT_ID = 'power_users_xyz123';Use the Cohort in Analysis and Exports
Once saved, apply the cohort as a filter in Retention, Funnels, Trends, and Segmentation reports. You can also export it to external platforms.
// Access cohort members via Mixpanel's Data Export API
const getPowerUserCohort = async () => {
const response = await fetch(
'https://data.mixpanel.com/api/2.0/cohorts/members',
{
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_SERVICE_ACCOUNT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
cohort_id: 'power_users_xyz123',
limit: 1000
})
}
);
return response.json();
};
getPowerUserCohort().then(data => console.log(data.users));Monitor Power User Retention and Churn
With power users identified, build reports to track whether they stay engaged and where you're at risk of losing them.
Build a Retention Curve for Power Users
In Analytics > Retention, select your engagement event (e.g., 'Feature Used'), set a return event, then segment by your power user cohort. Compare their retention to your user base.
// Mixpanel Retention report configuration:
// Starting event: 'User Login'
// Return event: 'Feature Used'
// Segment by: Cohort = 'Power Users'
// Time interval: Day
// Time range: Last 30 days
// Expected insight: Power users might show 80% retention on day 7,
// while the average user shows 30%. This validates your power user definition.Create a Health Dashboard
Combine multiple reports into a Dashboard to monitor power user trends — weekly actives, feature adoption, and churn risk. Share it with your team.
// Example Mixpanel dashboard queries:
// 1. Weekly active power users
const weeklyActiveQuery = {
event: 'User Login',
cohort_filter: 'Power Users',
interval: 'day',
time_range: '7d'
};
// 2. Average features used per power user per session
const featureAdoptionQuery = {
event: 'Feature Used',
cohort_filter: 'Power Users',
aggregate: 'avg',
property: 'elements_interacted'
};
// 3. Power users inactive for > 14 days (churn risk)
const churnRiskQuery = {
filter: 'last_active_date < 14d_ago AND cohort = "Power Users"',
count: 'distinct_users'
};Common Pitfalls
- Defining power users by a single metric (e.g., only login frequency). The most valuable users often show multiple behaviors — combine login frequency, feature adoption, and account tenure for a stronger definition.
- Setting user properties once and never updating them. If you set 'total_logins' on signup and never increment it, that metric becomes stale after day one. Increment counters and refresh timestamps on every relevant event.
- Assuming event counts equal user counts in Mixpanel. By default, Mixpanel shows event volume, not distinct users. When analyzing power users, explicitly segment by distinct user ID to avoid over-counting.
- Including internal and test accounts in power user metrics. Team activity, demo accounts, and test users often skew engagement metrics. Add a filter (e.g., 'email NOT like @mycompany.com') to exclude them from cohorts.
Wrapping Up
You now have power users tracked, cohorted, and monitored in Mixpanel. The key is consistency — lock in your definition of power, track the events and properties that signal it, and revisit the definition as your product changes. If you want to track power users automatically across multiple analytics tools and sync them to your marketing stack, Product Analyst can help.