How can I see the distribution of users who did N events per week, where N is given in buckets (1-10, 11-20, ...) and so on? The end goal is to figure out a usage based pricing plan quotas. For example free tier up to 10 events per month, pro tier up to 40 per month, and so on.
Hi Jonathan, Please stand by as I search the Mixpanel knowledge base for an AI-powered answer. I normally take about 15 seconds or so. In case AI cannot answer your question, feel free to reach out to Mixpanel support at mixpanel.com/get-support. If you have follow-up questions for this thread, please tag me again with your question: @kapa.ai <follow-up question> 👋
Feel free to ask a follow-up question once I've answered by mentioning me with @kapa.ai
You have two supported ways: 1) Using Insights (no code) - Measurement: choose “Frequency per User” on your target event. - Time range: set date range and interval = weekly (or monthly). - Aggregation: switch from Average to Distribution to see how many users did the event X times in that week. - Bucketing: add a breakdown on the computed “Frequency per User” and use Custom Buckets to group counts as 1–10, 11–20, 21–40, etc. You can define even or varied buckets, or disable bucketing to see raw values (then re-bucket as needed) (Measurements, Additional aggregation examples, Custom Buckets).Tips: - Use weekly interval to assess “events per week”; switch to monthly for pricing tiers like “up to 10 per month.” The Distribution view shows how users spread across N events; your custom buckets map directly to plan thresholds (Insights Overview – Frequency Analysis, Measurements – Frequency per User, Custom Buckets).2) Via APIs/JQL (advanced) - Query API “Frequency” (retention frequency) returns how many unique intervals (hours/days) a user was active; helpful for power-user curves but it counts unique active intervals, not raw event counts, so it’s different from “N events” distribution (Retention Frequency Query, Retention Frequency View). - For custom pipelines, JQL can bucket numeric values (e.g., per-user event counts) with mixpanel.numeric_bucket(), then aggregate into your 1–10, 11–20… bins (JQL numeric_bucket).Recommended for pricing tiers: - In Insights, set interval = Monthly, measurement = Frequency per User, aggregation = Distribution; then create custom buckets that match your plan thresholds (e.g., 0, 1–10, 11–40, 41–100, > 100). This directly shows what share of users would fall into each quota band for a given month (Measurements, Custom Buckets, Aggregation examples).
kapa.ai is still learning and improving, please let me know how I did by reacting below.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! 📚
In Insights, switch the aggregation on “Frequency per User” from its default Average to Distribution, then bucket the distribution: - Measurement: Frequency per User on your event; set interval to Weekly or Monthly. - Aggregation: click “Average” and choose Distribution to see counts by exact N. (Measurements) - Bucketing: open the overflow on the frequency breakdown and use Custom Buckets to define varied ranges like 1–10, 11–20, 21–40, ≥41. You can specify custom numeric breakpoints; Mixpanel will auto-create edge buckets so totals sum to 100% (Custom Buckets – Numeric, Insights – Custom Bucketing).Notes: - If you need a precise “0 only” bucket, follow the FAQ guidance: for integers, add varied breakpoints 0, 1, 2… so the ≥0 & <1 bucket equals 0; for decimals, use 0, 0.0001, 1… to approximate zero (<https://docs.mixpanel.com/docs/features/custom-buckets#faq|Custom Buckets FAQ>). - Frequency view in Retention is about unique active intervals, not event counts, so use Insights for “N events” distributions (Retention – Frequency View).
kapa.ai is still learning and improving, please let me know how I did by reacting below.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.