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.

5 min read·

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 TypeTypical DAU/MAU
Social Media50-65%
Messaging Apps40-60%
Consumer Apps20-40%
B2B SaaS10-30%
E-commerce5-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:

SegmentDAUMAUDAU/MAU
Free Users2,00025,0008%
Paid Users1,50010,00015%
Enterprise8005,00016%

Cohort-Based Activity

Track DAU/MAU for acquisition cohorts to see engagement trends:

CohortMonth 1 DAU/MAUMonth 6 DAU/MAU
Jan Cohort25%12%
Apr Cohort28%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.

Related