What is MAU (monthly active users)?
MAU, short for monthly active users, is the number of unique users who took a meaningful action in a product during a rolling 30-day window (or a calendar month), where each person is counted once no matter how often they returned. It measures the size of a product's genuinely engaged audience, not signups or pageviews.
What is the difference between DAU and MAU?
DAU and MAU are the same measurement over different windows, so the useful way to keep them straight is sensitivity versus steadiness. DAU (daily active users) counts the unique people who did your active action on a single day. It reacts within hours, so it is the number you watch after a deploy, a launch, or a campaign to see whether the thing you shipped moved anyone.
MAU (monthly active users) counts the unique people active across 30 days or a calendar month. It moves slowly and steadily, which makes it the number for a board slide, a billing tier, or a plain statement of reach. The tradeoff is that MAU counts anyone who showed up even once, so it can look healthy for weeks after daily engagement has quietly rotted.
Both dedupe by a stable user id, so a person who visits ten times in the window is still one active user. Many teams also track WAU (weekly) as the middle ground: fast enough to see a trend inside a sprint, smooth enough to ignore the weekend dip that makes DAU jumpy. smolanalytics reports all three from one snippet.
DAU, WAU, and MAU at a glance
Active users is one idea measured over three windows. Which one you lead with depends on how fast you need to react and how noisy the signal is.
All three run off the same raw material: named events with a stable distinct_id. Define your active action once, and every window above becomes a number you can just ask for.
What is the DAU/MAU stickiness ratio?
The DAU/MAU ratio divides daily active users by monthly active users, and it is almost always called stickiness. It reads as the share of your monthly audience that shows up on an average day. A ratio of 0.5 means the average user is active about 15 days a month; 0.1 means about 3 days. Higher is stickier.
There is no universal good number, because the right ratio depends on how often your product is meant to be used. A daily-habit app lives or dies on a high ratio; a monthly billing tool that people open twice a month can be perfectly healthy at a low one. The value of the ratio is as a trend on your own product: if it climbs, people are folding you into their routine; if it slides while MAU holds flat, you are refilling a leaky bucket with new signups instead of keeping the ones you have.
That last case is the reason stickiness is not the whole story. It tells you how often people return, but not whether it is the same people returning. For that you need retention, which follows a cohort over time and shows whether your base is durable or quietly churning underneath a stable MAU.
How smolanalytics reports active users
smolanalytics gives you DAU, WAU, and MAU (plus web and product analytics) from one snippet or one endpoint, each deduplicated by a stable user id. What makes it different is not the metric list, every tool has active-user counts, but four choices about how you get the answer:
- 1Ask in plain English. Instead of building a dashboard for every question, you type "what is our MAU this month?" or "is stickiness up since the redesign?" into a dashboard bar, or into your own Cursor / Claude Code over MCP (47 tools, 13 prompts), using your own AI model so the AI part is free.
- 2A verdict, not just charts. Beyond the counts, it tells you what to fix, on the dashboard and in a morning brief. A flat MAU hiding a churn problem is exactly the kind of thing it surfaces as a decision, not another line to read.
- 3Computed, never guessed. Every active-user number comes from the same deterministic reports the dashboard renders, not from an LLM writing numbers. A CI agreement test fails the build if the AI answer ever differs from the dashboard, so the count you get is the real one.
- 4One binary. It is a single MIT-licensed Go binary, stdlib only, roughly 7 bytes per event, no Kafka, ClickHouse, or Postgres to run. Self-host it free forever, or use the hosted cloud.
It deliberately does not do session replay, feature flags, experiments, heatmaps, or surveys. It is for teams who want a straight, owned, cheap answer on who is active and what to fix. See every feature, the retention glossary entry, or the SaaS use case.