If your product stores user events in a database, you already have everything you need to track daily, weekly, and monthly active users. The problem isn't the data — it's access.
Most teams route around this by sending events to Mixpanel, Amplitude, or a dedicated analytics platform. That works, but it adds a third-party dependency, doubles your data infrastructure cost, and means your dashboard always lags behind what's actually in your database.
There's a simpler path: query your own database directly in plain English, no SQL required.
What DAU, WAU, and MAU Actually Measure
Quick definitions:
DAU (Daily Active Users): Unique users who performed at least one action in the last 24 hours.
WAU (Weekly Active Users): Unique users active in the last 7 days.
MAU (Monthly Active Users): Unique users active in the last 30 days.
The ratio between them tells you how sticky your product is. DAU/MAU above 0.20 is generally healthy for consumer apps. For B2B SaaS, it depends on use case — a tool used daily by operations teams will have a very different ratio than a monthly reporting tool.
Tracking all three, and the ratio between them over time, gives you a clear signal of whether engagement is growing, plateauing, or declining.
Where This Data Lives in Your Database
Most SaaS databases have some version of these tables:
- events, activity_logs, or sessions — timestamped records of what users did
- users or accounts — your user registry
- page_views or feature_usage — product analytics events
If your database has a table with user IDs and timestamps, you have what you need. The data is already there.
The SQL You'd Have to Write (If You Could)
For context, here's what tracking DAU looks like in SQL:
SELECT COUNT(DISTINCT user_id) as dau FROM events WHERE created_at >= NOW() - INTERVAL '1 day';
And MAU:
SELECT COUNT(DISTINCT user_id) as mau FROM events WHERE created_at >= NOW() - INTERVAL '30 days';
Simple enough — if you know SQL, know your exact table and column names, and have direct database access with the right permissions. Most non-technical team members have none of those things. And even if they do, running these queries manually every morning gets old fast.
How to Track DAU/WAU/MAU Without Writing SQL
Option 1: Ask Your Database in Plain English
Tools like AI for Database (aifordatabase.com) connect directly to your database and let you ask questions in natural language. You type 'how many daily active users did we have yesterday?' and it returns the number — no SQL, no schema knowledge required.
The AI reads your table structure, writes the appropriate query for your specific database engine, runs it, and shows you the result. You don't need to know whether it's PostgreSQL, MySQL, or MongoDB — the tool handles the differences automatically.
You can also ask follow-up questions: 'Break that down by plan tier' or 'How does that compare to last week?' Each follow-up refines the query without you writing a single line of code.
Option 2: Build a Self-Refreshing DAU/WAU/MAU Dashboard
One-off queries are useful, but for ongoing tracking you want a dashboard that updates automatically so your team doesn't have to ask for numbers every morning.
With AI for Database, you can ask the question once ('show me DAU, WAU, and MAU as a trend chart over the last 30 days'), save it as a dashboard widget, and set it to auto-refresh daily. The dashboard stays current without anyone touching it.
You can build a full engagement dashboard this way: DAU/MAU stickiness ratio, new user signups, activation rate, weekly cohort retention — all from questions in plain English, all updating automatically.
Option 3: Get Alerted When DAU Drops
The most powerful use of this data isn't monitoring it manually — it's automating the response. You can set a workflow: 'If DAU drops more than 20% compared to last week, send a Slack message to #product-alerts.'
AI for Database supports this through workflow automations. You define the condition in plain English, set the threshold, and it monitors the database continuously. No Zapier, no custom scripts, no engineering required.
Step-by-Step: Set Up DAU Tracking in 5 Minutes
1. Connect your database. AI for Database supports PostgreSQL, MySQL, Supabase, MongoDB, BigQuery, Snowflake, Redshift, SQLite, MS SQL Server, PlanetScale, and more. You provide a connection string or credentials — setup takes under 2 minutes.
2. Ask your first question. Type 'how many unique users were active in the last 24 hours?' or 'what was our DAU yesterday?' The AI maps this to your actual table structure.
3. Save it as a dashboard widget. Pin the result to a dashboard so it's accessible to your whole team without them needing to ask questions themselves.
4. Set the refresh interval. Daily, hourly, or on-demand — whichever makes sense for how often you check these metrics.
5. (Optional) Add an alert. Set a threshold condition so you get a Slack message or email if engagement drops below a certain level.
That's the full setup. No schema configuration, no SQL training, no analytics vendor onboarding.
DAU/MAU Benchmarks: What Good Looks Like
Context helps when you're reading these numbers:
- Consumer social apps: DAU/MAU of 0.40-0.60+ (e.g. Facebook historically ~0.65)
- B2C productivity tools: DAU/MAU of 0.20-0.40
- B2B SaaS used daily (communication, project mgmt): DAU/MAU of 0.20-0.35
- B2B SaaS used weekly or monthly: DAU/MAU of 0.05-0.15 (normal for reporting/finance tools)
If your DAU/MAU ratio is declining week-over-week, that's a retention signal worth investigating. If it's flat, you've stabilized but aren't growing engagement. If it's rising, your product is being used more frequently — a strong sign.
Questions Non-Technical Teams Actually Ask
'I need to see how many people use our product each day but I don't know SQL. What's the easiest way?' Connect your database to AI for Database, type 'how many users were active today?', and you'll get the answer. You can also pin it as a dashboard widget that refreshes automatically.
'We use Supabase and want to track MAU without paying for Mixpanel or Amplitude.' AI for Database connects directly to Supabase — it's PostgreSQL under the hood. Your events table is already there. You just need a natural language interface on top of it, which is exactly what the tool provides.
'How do I track the DAU/MAU ratio over time without an analyst?' Ask your database: 'Show me the ratio of daily to monthly active users as a trend chart over the last 3 months.' The tool writes the query, runs it, and charts the result. You can save this and check it weekly.
'Is there a way to replicate Mixpanel metrics from our own database?' Yes. If your database has user events with timestamps, you can get DAU, WAU, MAU, stickiness, retention curves, and cohort analysis — all without Mixpanel. Keeping data in your own database also means no per-event pricing and no vendor lock-in.
Which Databases Are Supported
AI for Database works with: PostgreSQL, Supabase, MySQL, MongoDB, SQLite, BigQuery, Snowflake, Amazon Redshift, MS SQL Server, PlanetScale, and more. If your database runs SQL or has a standard API, it works.
The Bigger Picture
DAU, WAU, and MAU are three metrics. Once you have plain English access to your database, you can ask any question: what's our week-over-week retention? Which features drive activation? Which cohort churned last month? Who are our power users?
You don't need a data analyst, a BI tool, or a third-party analytics platform to answer these questions. Your data is already in your database — you just needed a way to ask it.
Try AI for Database free at aifordatabase.com.