EnableYourData.com

KPI · Subscriptions and SaaS

DAU/MAU ratio: formula and example.

The DAU/MAU ratio is the average number of daily active users (DAU) divided by the number of monthly active users (MAU). It shows how often users come back, which is why it is also called stickiness. A ratio of 0.30 means an average monthly user uses the product on roughly three days in ten.

DAU/MAU ratio formula

Average daily active users ÷ monthly active users

Worked example

In September, 4,200 different users use Acme's service at least once. On an average day, 1,260 are active. The DAU/MAU ratio is 1,260 ÷ 4,200 = 0.30, or 30%.

Fictitious figures for Acme Groothandel, a sample wholesaler.

How to read this KPI

A higher ratio means users use the product more often, which usually goes hand in hand with lower churn. What is achievable depends heavily on the type of product: a tool you need every day naturally scores higher than one for a monthly task. Compare mainly with your own trend and by customer segment, and choose a definition of active that fits how your product is used.

Pitfalls with DAU/MAU ratio

  • Counting a login or page view as active, when only a meaningful action says something about usage.
  • Including weekends for a business product used mainly on working days, which makes the ratio look lower.
  • Comparing the ratio with products that have a completely different usage pattern.

SQL & DAX

Calculating DAU/MAU ratio in SQL and DAX

Two examples on a fictitious data warehouse for Acme Groothandel: a PostgreSQL query and a measure for a Power BI model. Adjust table and column names to your own model.

SQL · PostgreSQL
WITH daily AS (
  SELECT event_date, COUNT(DISTINCT user_id) AS dau
  FROM product_events
  WHERE event_date >= date_trunc('month', current_date) - interval '1 month'
    AND event_date < date_trunc('month', current_date)
  GROUP BY event_date
),
monthly AS (
  SELECT COUNT(DISTINCT user_id) AS mau
  FROM product_events
  WHERE event_date >= date_trunc('month', current_date) - interval '1 month'
    AND event_date < date_trunc('month', current_date)
)
SELECT ROUND(AVG(d.dau), 0) AS avg_dau,
       m.mau,
       ROUND(AVG(d.dau) / NULLIF(m.mau, 0), 2) AS dau_mau_ratio
FROM daily d CROSS JOIN monthly m
GROUP BY m.mau;
DAX · Power BI
Average DAU =
AVERAGEX(VALUES('Date'[Date]), CALCULATE(DISTINCTCOUNT(ProductEvents[user_id])))

DAU/MAU =
DIVIDE([Average DAU], DISTINCTCOUNT(ProductEvents[user_id]))

In ENABLE

Tracking this KPI in ENABLE

Plain-language questions

Ask for DAU/MAU ratio per month, customer or product in the SQL Explorer with AI. The AI writes the SQL, you see the query and run it yourself; the AI only receives metadata.

Read more →

In your Power BI dashboard

Define the KPI as a measure in your Power BI model and show it in the portal, with "Last refreshed" next to it. Access profiles and optional row-level security decide who sees which figures.

Read more →

Custom dashboards (pilot)

Add the KPI as a tile to a custom dashboard, compared with last year. The Dashboard Builder is a pilot and can be switched on per client.

Read more →

Monthly targets

With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.

Read more →

FAQ

Frequently asked questions

How do you calculate DAU/MAU?

Take the average number of unique active users per day in a month and divide it by the number of unique active users across that whole month. With an average of 500 daily and 2,000 monthly users, the ratio is 0.25. Record which action counts as active.

What does stickiness mean?

Stickiness is another name for the DAU/MAU ratio and describes how often users return to your product. High stickiness means the product is a regular part of their work or routine. Products with high stickiness usually have lower churn.

Is DAU/MAU useful for B2B software?

Yes, but adapt the definition to the usage pattern. For software used mainly on working days, you can calculate over working days or use weekly active users (WAU/MAU). For tools used for a monthly task, such as invoicing, the ratio says little and monthly usage per account is a better measure.

Use AI on your own data. Securely, and without the headache.

In an online demo we show how ENABLE makes your data securely available and how you build on it: describing an app in the AI Builder, plain-language questions, dashboards and APIs. And how we set it up and manage it for you.