Event frequency tells you how often users interact with specific features in your product. In Mixpanel, tracking this means setting up the right events and using Insights to spot engagement patterns. If users are hitting your core features once a month but you expected weekly, frequency data is your first signal something's wrong.
What Event Frequency Actually Measures
Event frequency isn't just a count—it's the rhythm of how your users behave.
Understand the frequency metric
Event frequency is the number of times a user performs a specific action over a given time period. In Mixpanel, you measure this by tracking events with the track() method and then grouping them by time in Insights or Segmentation. A user might open your app 30 times in a month, but only trigger checkout 3 times—that's a 10:1 frequency ratio between two events.
// Track when a user performs an action
mixpanel.track('feature_used', {
'feature_name': 'dashboard',
'timestamp': Date.now()
});
// Same user triggers the event again
mixpanel.track('feature_used', {
'feature_name': 'dashboard',
'timestamp': Date.now()
});Know why frequency matters for retention
Users who interact frequently are more engaged. Mixpanel's Insights report lets you bucket users by event count—users with 1 event, 2–5 events, 6–10 events, and so on. Low frequency on critical features like 'purchase_initiated' might indicate friction in checkout or poor feature discovery.
// Track a critical user action
mixpanel.track('purchase_initiated', {
'product_category': 'analytics',
'amount_usd': 299,
'user_tier': 'pro'
});
// Mixpanel automatically groups this user by how many times
// they triggered 'purchase_initiated'—frequency is calculated server-sideTrack Events to Measure Frequency
Initialize Mixpanel and track basic events
Start by initializing the Mixpanel SDK and tracking user actions. Every track() call logs an event with a timestamp. Frequency builds automatically as the same user performs the same action multiple times over your analysis window.
// Initialize Mixpanel
mixpanel.init('YOUR_PROJECT_TOKEN');
// Track when users sign up
mixpanel.track('user_signup', {
'signup_source': 'organic_search',
'plan_selected': 'pro'
});
// Track feature usage (will fire many times from same user)
mixpanel.track('chart_created', {
'chart_type': 'line',
'data_points': 500,
'save_to_dashboard': true
});Add properties to distinguish frequency contexts
Use event properties to label actions so you can compare frequency across different use cases. For example, track 'export_data' but include a property for export format—then you can see if users export to CSV more often than PDF using Segmentation.
// Same event, different properties let you segment later
mixpanel.track('export_data', {
'format': 'csv',
'report_type': 'monthly_summary',
'num_rows': 10000
});
mixpanel.track('export_data', {
'format': 'pdf',
'report_type': 'monthly_summary',
'num_rows': 500
});
// In Insights, segment by 'format' to compare frequency by export typeAnalyze Frequency in Mixpanel's Insights
View frequency distribution in Insights
Go to Insights > select your event (like 'purchase_initiated') > click the dropdown for Frequency. Mixpanel bins users by how many times they fired the event, showing you how many users did it once, twice, 3–5 times, and so on. This reveals your engagement stratification.
// This represents what you'll see built from tracked events:
// User A: tracked 1 time
mixpanel.track('login', { 'device': 'mobile' });
// User B: tracked 5 times
mixpanel.track('login', { 'device': 'desktop' });
mixpanel.track('login', { 'device': 'desktop' });
mixpanel.track('login', { 'device': 'mobile' });
mixpanel.track('login', { 'device': 'desktop' });
mixpanel.track('login', { 'device': 'mobile' });
// In Insights > Frequency: 1 user with 1 login, 1 user with 5 loginsSegment frequency by user properties
In Insights, click Segmentation and pick a property to break down your frequency data. For example, segment 'checkout_completed' by 'plan_tier' to see if premium users purchase more often than free users. This surfaces different engagement patterns by cohort.
// Set user properties once
mixpanel.people.set({
'plan_tier': 'enterprise',
'account_value': 50000,
'signup_date': '2025-01-15'
});
// Track events with context
mixpanel.track('checkout_completed', {
'amount_usd': 5000,
'num_seats': 20
});
// In Insights > Segmentation, pick 'plan_tier'
// You'll see frequency curves for each tier—is enterprise more active?Common Pitfalls
- Tracking events without properties: You can't segment frequency data if events lack context. Always include why the event happened and which user cohort triggered it.
- Confusing frequency with retention: A user might have low frequency (logs in once a month) but high retention (does it every month for a year). Track and measure both separately.
- Ignoring the time window: User frequency in the last 7 days is different from the last 90 days. Always specify your analysis period explicitly.
- Missing server-side events: If you only track client-side, you miss events that happen in the backend (API calls, cron jobs, webhooks). Use the Mixpanel Events API for a complete picture.
Wrapping Up
Event frequency tells you whether your users are truly engaged with what matters. Track actions consistently, segment by context, and check Insights regularly. If you want to track event frequency automatically across your entire product stack without manual instrumentation, Product Analyst can help.