MAU (Monthly Active Users) — the number of unique users who interacted with the app at least once in the last 30 days. This is one of the fundamental metrics of product analytics, showing the overall size of the product’s active audience. According to the DataReportal Digital 2025 report, MAU is used in 94% of mobile companies’ public reports as the primary reach indicator. Understanding MAU is essential for assessing market share, forecasting revenue, and presenting the product to investors.
Key Takeaways
MAU (Monthly Active Users) — a metric that shows the number of unique users who performed a target action in the app over the last 30 calendar days. Unlike DAU, MAU is not sensitive to daily fluctuations and provides a stable picture of the active base size. This is the reporting standard for public technology companies: Facebook, Spotify, Uber and others report MAU in quarterly results.
Investors assess business scale precisely by MAU. The metric shows how many users the product retains over a month — the minimum horizon for evaluating product-market fit. Facebook has been reporting MAU since 2012, and the growth of this metric directly correlates with the company’s market capitalization. For startups, MAU is one of the key metrics in pitch decks and funding rounds.
In product analytics, MAU is used as an input metric for many calculations. It forms the basis for MAU/DAU ratio (Stickiness), ARPU (Average Revenue Per User), and LTV (Lifetime Value). Without accurate MAU, it is impossible to correctly assess conversion to paying users and the effectiveness of marketing channels. MAU is the foundation of the metric pyramid on which all other monetization and engagement indicators are built.
SELECT
DATE_TRUNC('month', event_date) AS month_start,
COUNT(DISTINCT user_id) AS mau
FROM user_events
WHERE event_date >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY month_start
ORDER BY month_start DESC;
Calculating MAU seems simple at first glance: count unique users over 30 days. However, in practice, several nuances arise that affect accuracy. The choice of calculation method — calendar month or rolling window — determines how well the metric reflects real user activity in mobile development.
Calendar month is the traditional approach: MAU is calculated from the 1st to the last day of the month. It is convenient for reporting but creates artifacts: for example, if a crash occurs on the 30th, the MAU for the month will be understated. Rolling window (rolling 30 days) provides a smoother metric but is more complex for periodic reporting. According to Mixpanel (2025), 80% of product teams use the calendar month for external reports and the rolling window for internal dashboards.
A single user may access the app from multiple devices: iPhone and iPad, Android tablet and desktop. Without deduplication, MAU will be inflated by 20–40%. Best practice is to use a single account_id across all platforms. If the user is not authenticated, use a combination of device_id + Advertising ID (IDFA on iOS, GAID on Android) with subsequent deduplication upon authentication.
Who counts as an active user? The minimum action is opening the app (session start). However, many teams set a threshold: a session longer than 10 seconds or performing at least one target action. This excludes accidental opens and bots. Different thresholds for activity lead to MAU variations of 10–30%, so the methodology must be fixed and not changed between periods.
Most companies automate MAU calculation through ETL pipelines. Data from Firebase, Amplitude, or custom servers is aggregated in Clickhouse or Snowflake. Daily MAU recalculation allows you to see trends in real time. Important: when changing the methodology (e.g., activity threshold), recalculate MAU for previous periods to maintain data comparability.
import pandas as pd
from datetime import datetime, timedelta
def calculate_mau(events_df, active_threshold_sec=10):
# Minimum session length filter
active = events_df[events_df['session_length'] >= active_threshold_sec]
# Rolling window 30 days
cutoff = datetime.now() - timedelta(days=30)
recent = active[active['event_date'] >= cutoff]
return recent['user_id'].nunique()
events = pd.read_csv('events.csv', parse_dates=['event_date'])
print(f"MAU: {calculate_mau(events)}")
Three metrics — DAU, WAU, and MAU — form a system for evaluating active audience across different time horizons. Together, they provide a comprehensive picture of product health. An analyst who looks only at MAU risks missing daily problems; one who looks only at DAU misses the strategic trend.
The relationship of the metrics follows a simple pattern: DAU ≤ WAU ≤ MAU. The gap between DAU and MAU shows how evenly users are distributed across the days of the month. If DAU accounts for 10% of MAU — users visit infrequently (e.g., a hotel booking app). If DAU accounts for 50% of MAU — the app is used almost daily (social networks, messengers). The ratio DAU/MAU is called Stickiness and is a standard engagement indicator.
Stickiness = DAU / MAU * 100%. A value above 50% is excellent for any app. A value of 20–50% is normal for most products. A value below 20% signals a retention problem. Stickiness does not depend on scale: an app with 1 million MAU and a startup with 10 thousand MAU can have the same Stickiness. This makes the metric convenient for benchmarking and comparing products within the same category.
| Metric | Horizon | When to Use | Typical Value |
|---|---|---|---|
| DAU | 1 day | Operational monitoring, A/B tests, alerts | 10–50% of MAU |
| WAU | 7 days | Campaign evaluation, push effectiveness | 30–80% of MAU |
| MAU | 30 days | Investors, quarterly reporting, TAM | 100% (baseline metric) |
MAU norms depend on the category, geography, and maturity of the product. Instead of absolute values, analysts use MAU dynamics (Month-over-Month growth) and relationships with other metrics. MAU growth of 10% month-over-month is considered good for a mature product, 30%+ for a fast-growing one.
According to the App Annie State of Mobile 2025 report, median MAU varies by category. Social Media: 50–500 million (global players), Gaming: 1–50 million, E-commerce: 100 thousand — 10 million, Fintech: 500 thousand — 20 million. These numbers depend heavily on region: an app with 1 million MAU in the US may be considered large, in India — medium. Comparing MAU only makes sense within the same category and geographic region.
MAU is directly linked to revenue through ARPU. If MAU grows while ARPU declines, the business is scaling to a less solvent audience. If MAU is stable while ARPU grows, the product is increasing monetization of its existing base. The ideal scenario: MAU growth while maintaining or increasing ARPU. The ratio of MAU to Revenue is a key indicator for evaluating mobile app unit economics.
MAU growth is primarily about increasing the number of new users (acquisition) and reducing churn (retention). Unlike DAU, which can be boosted through tactical methods, MAU requires a systematic strategy for attracting and retaining an audience. Let’s explore the main growth channels, confirmed by the practice of leading mobile products.
App Store Optimization (ASO) is the most cost-effective way to grow MAU. Optimizing the title, keywords, icon, and screenshots can increase organic traffic by 20–40%. The second channel is content marketing: articles, videos, and case studies that rank in search and bring in new users. For B2C apps, viral mechanics are effective: “invite a friend — get a bonus.”
User Acquisition (UA) — paid channels: Facebook Ads, Google Ads, Apple Search Ads, TikTok Ads. The cost of acquiring one MAU varies widely: from $0.50 in developing markets to $5–8 in the US/EU. The key principle: CAC (Customer Acquisition Cost) should be at least 3 times lower than LTV (Lifetime Value). Ad campaigns should target cohorts with Day 30 retention above 20%.
Referral mechanics are a driver of organic MAU growth. Dropbox grew from 100 thousand to 4 million MAU in 15 months thanks to its referral program. The key to success: the value of the bonus for both parties (the inviter and the invitee). For mobile apps, referral links with deep linking are effective — the new user lands directly on the desired screen after installation.
-- MAU calculation broken down by traffic source
SELECT
source,
COUNT(DISTINCT user_id) AS mau
FROM user_events e
JOIN users u ON e.user_id = u.id
WHERE e.event_date >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY source
ORDER BY mau DESC;
Frequently Asked Questions
Active installs — all users who have not uninstalled the app. MAU — those who actually interacted with the app during the month. The difference between these numbers shows “dead weight” — users who installed but do not use the product.
This is a classic symptom of a retention problem. If new users do not return after their first session (Day 1 retention < 30%), MAU will decline or stagnate despite growing installs. It is necessary to analyze Day 7 and Day 30 retention.
MAU should be recalculated daily for dashboards and once a month for fixed reporting. Daily recalculation allows you to spot a trend before it becomes critical. A one-time monthly calculation is convenient for investor reports.
Stickiness = DAU / MAU * 100%. It shows what percentage of the monthly audience comes daily. A value > 50% is excellent for social media, 20–50% is normal for most categories. Formula: DAU / MAU * 100.
Seasonality is an important factor. MAU of travel apps grows in summer and December, fitness apps — in January. For correct analysis, compare MAU year-over-year (YoY) rather than month-over-month to exclude seasonal fluctuations.
Summary
We will develop a mobile application turnkey
IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.
Read also