Glossary

Daily Active Users (DAU): Definition and Formula

DAU counts the distinct people who did something deliberate in your product on a given day. The formula is trivial; the definition of active is where all the meaning, and all the arguments, live.

Definition and formula

Daily active users is the number of distinct users who performed at least one qualifying action inside a defined 24-hour window. Written out:

DAU(day) = count of unique user IDs with at least one qualifying event in that day

Three words in that sentence do all the work. Distinct means it is a count of people, not of events: a subscriber who taps five inline buttons contributes exactly one. Qualifying means you decided in advance which events count. And defined window means you fixed a day boundary in one timezone. Move that boundary from UTC to a local timezone and every day in the series changes, usually enough to look like a trend.

Raw DAU is noisy because human weeks are noisy. Plot a 7-day rolling average alongside the daily line: the rolling average shows direction, the daily line shows the spikes worth investigating.

Choosing what counts as active

The definition of active is not a technical detail you delegate to whoever writes the query. It sets the absolute level of the number and decides whether the number is honest. A workable test: the event should be something the user chose to do, not something your system did to them.

  • Counts: sending a command, tapping an inline button, picking a language or a category, replying to a message, opening a campaign deep link and activating it.
  • Does not count: receiving a scheduled broadcast, receiving a drip message on a delay timer, being counted in an audience estimate.
  • Decide explicitly: the very first /start. Including it merges acquisition into engagement, which is usually what you do want for a lead bot, as long as you also report new and returning separately.

Write the definition down next to the chart, and version it. If you change what qualifies, break the series visually rather than quietly comparing March under the old rule with April under the new one.

DAU, WAU and MAU compared

WAU and MAU use the same rule over a longer window: distinct users active in the trailing 7 or 28 to 30 days. Because each window deduplicates users, the three numbers are nested, and DAU can never exceed WAU, which can never exceed MAU.

  • DAU is sensitive and reactive. It moves with sends, ad spend, holidays and outages, and it is the right metric for asking what happened yesterday.
  • WAU absorbs the weekday and weekend cycle, which makes it the least dramatic of the three and often the most readable.
  • MAU is slow and forgiving. Someone who used the product once on the first of the month still counts on the thirtieth, which is why MAU keeps rising for a while even after engagement stalls.

Two common mistakes: averaging DAU across a month and calling the result MAU, and multiplying DAU by 30 to estimate MAU. Both assume no user ever returns twice, which is exactly the assumption these metrics exist to test.

The DAU/MAU stickiness ratio

Divide DAU by MAU and you get stickiness: the share of your monthly active users who show up on an average day. It has a second reading that is easier to act on. Multiply the ratio by 30 and you get the number of days an average monthly user was active, so a ratio of 0.2 means roughly six days a month.

There is no universal target. A product built for daily use and a promo bot people open when an offer lands are answering different questions, and borrowed benchmarks from consumer social apps will only make your funnel look broken. The comparisons worth making are internal: this month against last, one traffic source against another, subscribers who picked a category against those who never did. A rising ratio while MAU is flat means your existing audience is engaging more often. A falling ratio while MAU climbs usually means you are buying users who arrive once and never come back.

How DAU behaves for messaging bots

Bots break several assumptions baked into web and app analytics, so DAU behaves differently in a Telegram funnel than it does in a dashboard product.

  • There is no session. Nobody opens or closes your bot. The chat sits in a list, and activity happens in bursts of a few taps. Duration-based engagement metrics are meaningless here; counts of deliberate actions are all you have.
  • Activity is push-shaped. Send a broadcast and DAU jumps that day, then decays. That spike measures your send calendar, not your audience habit. Annotate broadcast and scheduled-send days directly on the chart so nobody reads a Tuesday campaign as organic growth.
  • Onboarding dominates. In a lead-generation bot, most of a subscriber's lifetime interactions happen in their first few minutes: confirming the detected language, picking a category, passing the channel-subscription gate, opening the offer. DAU is therefore heavily weighted toward people who joined today.
  • Drip messages fire on their own clock. An auto-message scheduled for day three after joining creates a delivery on day three whether or not the subscriber is engaged. The reply or the button tap counts; the delivery does not.
  • Blocked users linger. People who block the bot stay in your subscriber table until a send fails and marks them. Until then they inflate every denominator you compute against total subscribers.

The practical fix is to split the line. Report new DAU and returning DAU as two series. New DAU tracks acquisition and answers questions about deep links and ad spend; returning DAU is the honest engagement signal, and it is the one that should move when you improve your drip sequence or your category targeting.

Ways DAU is commonly misread

  • Reading it as growth. DAU rises when you spend more on traffic, regardless of whether anyone returns. Pair it with a retention cohort chart before declaring a win.
  • Comparing across products. Two teams with different activity definitions are not measuring the same thing, and neither is wrong. Cross-product DAU comparisons are only meaningful when the definitions match.
  • Ignoring seasonality. Weekday and weekend behaviour differ enough that Monday versus Sunday tells you nothing. Compare like days, or use the rolling average.
  • Leaving test traffic in. Your own account, your team, and the accounts you use to check a flow all count as users. Exclude them once, at the query, rather than mentally subtracting them forever.
  • Watching the total instead of the mix. A flat DAU line can hide one source collapsing while another grows. Segmenting by source, language and category usually reveals more than the aggregate ever will.

What to pair DAU with for a full picture

DAU is a good vital sign and a poor diagnosis. It tells you something changed, never why. The metrics that answer the second question are the ones covered in our guide to Telegram bot retention metrics:

  • Retention cohorts — whether the people who joined in a given week are still around, which DAU can never show on its own.
  • New versus returning split — separates the acquisition half of DAU from the engagement half.
  • Per-source DAU — deep-link payloads tag every subscriber with the campaign or channel that produced them, so activity can be read per source instead of in aggregate.
  • Delivery stats — the share of sends that failed or hit blocked users, which quietly caps every engagement number you compute.
  • Campaign activations — how many subscribers actually redeemed a promo code, the closest thing a lead bot has to a revenue event.

In mySkua these sit on one screen. Bot analytics reports subscriber growth, DAU, retention cohorts, campaign activations and delivery stats per bot, with each bot's subscribers kept isolated from the others, so a spike on one funnel never contaminates the reading on another.

Where to go next

Pick your definition of active, fix your timezone, split new from returning, and annotate your send days. That is most of the work; the query is the easy part.

mySkua is currently in an invite-only private beta. If you run Telegram funnels and want to see DAU, cohorts and campaign attribution measured this way across your bots, join the waitlist to request access and we will get in touch as places open up.

Want this on your own bots?

mySkua is in a closed beta and accounts are opened in small batches. Tell us what you run and we will come back to you.

Request access