How to Track Activation Rate From Your Database (No SQL)

See exactly which users activate after signup—query your PostgreSQL, MySQL, or Supabase database in plain English. No SQL or analyst needed.

June 16, 2026

Most SaaS teams know how many users signed up last week. Very few know what percentage of those users actually activated—meaning they completed the steps that predict long-term retention.

That gap costs real money. If your activation rate is 30% and you don't know it, you're losing 70% of your signups before they experience your product's value. And you're probably blaming churn instead of onboarding.

The data to fix this is already in your database. The problem is getting to it without writing SQL or waiting on an engineer.

What Is User Activation Rate?

Activation rate is the percentage of new users who complete your product's "aha moment"—the specific action that correlates most strongly with long-term retention.

Depending on your product, that moment might be connecting their first data source, sending their first message, inviting a teammate, creating their first report, or completing onboarding setup. Whatever it is, users who hit that milestone retain at 2–4x the rate of users who don't.

Activation rate = (users who completed the key action / total new users in a period) × 100. Simple math, but surprisingly hard to pull without direct database access.

Why It's Hard to Track Without SQL

Your activation data probably lives in a users table (with fields like activated_at or onboarding_completed_at), an events table, or both. To get activation rate by cohort week, a typical SQL query looks like this:

SELECT DATE_TRUNC('week', created_at) AS cohort_week, COUNT(CASE WHEN activated_at IS NOT NULL THEN 1 END) * 100.0 / COUNT(*) AS activation_rate FROM users WHERE created_at >= NOW() - INTERVAL '90 days' GROUP BY cohort_week ORDER BY cohort_week;

Most CS leads, product managers, and founders can't write this—and shouldn't have to. Even engineers find it tedious when they need it for the fifth time this week. And third-party product analytics tools like Mixpanel or Amplitude require separate SDK instrumentation, meaning your database data and your analytics data live in different systems.

What Data You Need (and Where to Find It)

Before querying, make sure you know where activation data lives in your schema. Common patterns:

Pattern 1: A users table with an activated_at timestamp column (null if not yet activated). Pattern 2: A user_events or events table with an event_type column where you'd filter for the specific action. Pattern 3: A boolean column like onboarding_completed on your users table.

If you're not sure what your schema looks like, you can ask your database directly in plain English: "What columns does the users table have?" or "Show me the most common event types in the events table."

Query Activation Rate in Plain English

With AI for Database (aifordatabase.com), you connect your PostgreSQL, MySQL, Supabase, MongoDB, BigQuery, or other database once—and then ask questions the way you'd ask a colleague.

Here are questions you can ask directly, no SQL required:

"What is my activation rate for users who signed up in the last 30 days?"

"Show me activation rate by signup week for the past 3 months"

"Which users signed up more than 3 days ago but haven't activated yet?"

"What's the average time between signup and activation?"

"Compare activation rates for users who signed up via organic search vs paid ads"

The tool translates your question into SQL, runs it against your live database, and returns the result in a table or chart. You see the answer—you don't need to see the query.

Build a Dashboard That Updates Automatically

Checking activation rate once isn't enough. During onboarding experiments, you want to see it update in near-real time. During normal operations, a weekly or daily view is enough—but you don't want to re-run a query every time.

AI for Database lets you pin any query result as a dashboard widget that refreshes on a schedule. You can build an activation dashboard with:

- This week's activation rate vs. last week - Activation rate trend by cohort (last 12 weeks) - Count of users stuck at each onboarding step - Average time to activation, updated daily

The dashboard pulls directly from your live database on whatever refresh interval you set—hourly, daily, or weekly. No manual queries, no stale screenshots in Notion, no waiting for a data team.

Set Alerts When Activation Drops

If activation rate dips below a threshold—say, below 35% in the past 7 days—you want to know immediately, not at your next weekly review.

AI for Database's workflow feature lets you define conditions against your live database and trigger actions automatically:

- If activation rate (last 7 days) drops below 35% → send a Slack message to #cs-team - If a user is 72+ hours old with no activation event → trigger a re-engagement email via webhook - If activation rate drops more than 10 points week-over-week → send an alert to your CRM

These workflows run directly against your database. There's no separate instrumentation layer, no Zapier, no ETL pipeline. If the condition is met, the action fires.

How This Compares to Product Analytics Tools

Mixpanel, Amplitude, PostHog, and Heap all track activation—but they require you to instrument your frontend with their SDK, maintain a separate event schema, and reconcile two sources of truth (your app database and their analytics database).

If your activation events are already logged in your own database, that second layer adds complexity without adding value. AI for Database lets you stay in your own data—no SDK, no export, no reconciliation.

The tradeoff: if you need funnel visualization with session replay or advanced behavioral cohorts, dedicated product analytics tools are more capable. But if you need "what percentage of users activated this week and why is it down" answered in 30 seconds by a non-engineer, querying your own database directly is faster.

Who This Works Best For

This approach is most useful if: your user events are already logged in your database, you have a CS lead or PM who wants to monitor activation without opening a support ticket with engineering, or you're a small team running onboarding experiments that need fast feedback loops.

If you're pre-product-market fit and your database schema is still changing weekly, dedicated analytics tools might be easier to maintain. But if you have a stable schema and the data is already there, there's no reason to add another instrumentation layer just to answer "did activation go up this week?"

Get Started

Connect your database to AI for Database at aifordatabase.com—PostgreSQL, MySQL, Supabase, MongoDB, BigQuery, and others are supported. Once connected, ask your first activation question in plain English. Most teams get their first useful answer within 5 minutes of connecting.

Ready to try AI for Database?

Query your database in plain English. No SQL required. Start free today.