How to Calculate DAU and MAU (Daily and Monthly Active Users)
Daily Active Users (DAU) and Monthly Active Users (MAU) measure product engagement. Learn how to define active users, calculate these metrics, and use the DAU/MAU ratio.
Daily Active Users (DAU) and Monthly Active Users (MAU) measure how many unique users engage with your product within a given time window. These are foundational engagement metrics for any product-led business - indicating whether users find ongoing value in your product.
DAU answers: How many users engaged today? MAU answers: How many users engaged this month? Together, they reveal engagement intensity and product stickiness.
Basic Formulas
Daily Active Users (DAU)
DAU = Count of unique users who performed a qualifying action on a given day
Monthly Active Users (MAU)
MAU = Count of unique users who performed a qualifying action within a 28 or 30-day window
DAU/MAU Ratio (Stickiness)
DAU/MAU Ratio = DAU / MAU × 100%
Step-by-Step Calculation
Step 1: Define "Active"
This is the most critical step. "Active" should mean meaningful engagement, not just presence.
Weak definitions (avoid):
- Logged in
- Opened the app
- Visited any page
Strong definitions (use):
- Completed a core action (sent a message, created a document, made a purchase)
- Engaged with primary feature
- Performed value-generating activity
Step 2: Define the User
Clarify what constitutes a unique user:
- By user ID (logged-in users)
- By device ID (if tracking anonymous users)
- By account (if one account has multiple users)
Step 3: Set the Time Window
For DAU:
- Calendar day (midnight to midnight)
- Define timezone (UTC recommended for consistency)
For MAU:
- Calendar month (1st to last day), or
- Rolling 28 days (more consistent, avoids month-length variation)
Step 4: Count Unique Users
Count distinct users who met the activity criteria within the time window.
DAU = COUNT(DISTINCT user_id) WHERE activity_date = target_date AND action IN (qualifying_actions)
Example Calculations
DAU Example
On January 15th:
- 5,000 unique users logged in
- 3,500 unique users completed a core action
Weak DAU (login-based): 5,000 Strong DAU (action-based): 3,500
The action-based DAU is more meaningful - it measures real engagement.
MAU Example
In January:
- 50,000 unique users logged in at least once
- 35,000 unique users completed at least one core action
Weak MAU: 50,000 Strong MAU: 35,000
DAU/MAU Ratio Example
- DAU (average for January): 3,500
- MAU (January): 35,000
DAU/MAU = 3,500 / 35,000 × 100% = 10%
This means 10% of monthly users engage on any given day - typical for B2B SaaS products.
DAU/MAU Benchmarks
| Product Type | Typical DAU/MAU |
|---|---|
| Social Media | 50-65% |
| Messaging Apps | 40-60% |
| Consumer Apps | 20-40% |
| B2B SaaS | 10-30% |
| E-commerce | 5-15% |
Higher DAU/MAU indicates more habitual usage. Lower isn't necessarily bad - some products (tax software, travel booking) are used infrequently by design.
Advanced Variations
Qualified Active Users
Add quality filters:
Qualified DAU = Active users who also meet engagement threshold
Example: Users who sent 3+ messages, not just 1.
Active User Segments
Break down by user attributes:
| Segment | DAU | MAU | DAU/MAU |
|---|---|---|---|
| Free Users | 2,000 | 25,000 | 8% |
| Paid Users | 1,500 | 10,000 | 15% |
| Enterprise | 800 | 5,000 | 16% |
Cohort-Based Activity
Track DAU/MAU for acquisition cohorts to see engagement trends:
| Cohort | Month 1 DAU/MAU | Month 6 DAU/MAU |
|---|---|---|
| Jan Cohort | 25% | 12% |
| Apr Cohort | 28% | 15% |
Common DAU/MAU Mistakes
Mistake 1: Weak Activity Definition
Counting logins or page views inflates DAU/MAU without measuring real engagement. Define activity that correlates with value.
Mistake 2: Bot Traffic
Automated accounts and bots inflate user counts. Filter them out using behavioral signals or explicit bot identification.
Mistake 3: Duplicate Counting
Users with multiple devices or accounts can be double-counted. Use a consistent user identifier and deduplication logic.
Mistake 4: Timezone Inconsistency
Inconsistent timezone handling creates daily fluctuations. Use UTC or a single consistent timezone.
Mistake 5: Comparing Across Definitions
DAU based on logins cannot be compared to DAU based on transactions. Keep definitions consistent over time.
Using DAU/MAU for Decisions
Product Health
- Rising DAU/MAU: Engagement improving
- Falling DAU/MAU: Users becoming less habitual
- Stable DAU/MAU: Consistent engagement pattern
Feature Impact
Compare DAU before and after feature launches. Did the new feature increase daily engagement?
Growth Quality
DAU and MAU growing together: Healthy growth MAU growing, DAU flat: Acquiring low-engagement users DAU growing, MAU flat: Existing users more engaged
Retention Proxy
High DAU/MAU correlates with better retention. Users who engage daily are less likely to churn.
DAU/MAU in Context-Aware Analytics
metric:
name: DAU
description: Daily Active Users - users completing core action
calculation: COUNT(DISTINCT user_id) WHERE action IN ('send_message', 'create_document', 'complete_transaction')
time_grain: daily
timezone: UTC
excludes:
- internal_users
- bot_accounts
- test_accounts
dimensions: [platform, user_segment, region]
owner: product_analytics
metric:
name: MAU
description: Monthly Active Users - rolling 28-day unique actives
calculation: COUNT(DISTINCT user_id) over rolling 28 days
activity_definition: Same as DAU
time_grain: daily (rolling window)
owner: product_analytics
metric:
name: DAU/MAU Ratio
description: Stickiness - percentage of monthly users active daily
calculation: DAU / MAU * 100
depends_on: [DAU, MAU]
owner: product_analytics
With explicit activity definitions, DAU and MAU are consistent - ensuring product and marketing teams measure engagement the same way.
Questions
Active typically means the user took a meaningful action - not just logging in. Define actions that indicate real engagement: completing a core workflow, viewing key content, or making a transaction. The definition should align with product value delivery.