Daily
Get yesterday's Mixpanel KPIs by email
Every morning you see daily active users and sign-ups next to the same day last week.
- Runs
- Daily
- Apps
- Mixpanel
- AI
- Not needed
- Access
- service account (project read)
Send this to your assistant
Create a ClickRuntime automation: every day at 8am, pull yesterday's daily active users and sign-ups from Mixpanel and email them to me with the change from the same day last week.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
On a product or growth team, someone opens Mixpanel first thing, loads the daily active users chart, flips to sign-ups, and compares the line against last Tuesday. When that person is out, or the dashboard filters were left on a different cohort, the check simply does not happen. A drop in activation after a release can then sit unnoticed for days, and the first mention is in the weekly meeting.
Each morning ClickRuntime runs Mixpanel segmentation queries for yesterday's daily active users, sign-ups and your top events, compares each figure with the same weekday a week earlier, and emails one table to the people on your list. The prior values are kept between runs so the comparison is always against a stored baseline.
It is a good fit for small teams that have no BI analyst and want the numbers to arrive without a dashboard login.
What you get out of it
Same numbers, same time, every day
Metrics land in the inbox before standup, calculated by the same queries each time. Nobody argues about which filters were applied, because the definition of an active user lives in the automation rather than in someone's saved chart.
Week-over-week context beside each figure
A DAU of 4,200 means little alone. Showing the same weekday last week next to it makes a 12 percent dip or a launch-day spike obvious at a glance, without opening a second chart to compare.
Release regressions found the next morning
If sign-ups halve after Thursday's deploy, the Friday digest shows it. Engineering gets the signal while the diff is fresh and the fix is a small rollback instead of a forensic exercise.
Top events show what people really use
Listing your highest-volume events each day reveals feature adoption trends, like a new export button gaining use or an old flow fading. Roadmap conversations then start from observed behavior, not from the loudest opinion in the room.
A reading list that survives vacations
The digest keeps arriving when the usual analyst is away, so the team keeps a continuous record. Months later you can scroll back through the emails to date exactly when a trend started.
How it works
What happens, step by step
Every morning, ClickRuntime asks Mixpanel for yesterday's daily active users and sign-ups.
It looks up the same numbers for the same weekday last week.
You get an email with each number and the percentage change against last week.
Before it runs live
- Connect Mixpanel
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Mixpanel steps into one automation
Under the hood
The code that runs this automation
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, notify
PROJECT_ID = 2195193
def AUTH():
return ("ops-reader.mp-service-account", credentials.secret("MIXPANEL_SERVICE_SECRET"))
def total(event_name, day, kind="general"):
data = http.get("https://mixpanel.com/api/query/segmentation", auth=AUTH(), params={
"project_id": PROJECT_ID, "event": event_name, "from_date": day, "to_date": day, "type": kind}).json()
return sum(data["data"]["values"].get(event_name, {}).values())
@on_trigger
def run(event):
y, wk = date.today() - timedelta(days=1), date.today() - timedelta(days=8)
lines = []
for label, ev, kind in [("Daily active users", "$session_start", "unique"), ("Sign-ups", "Sign Up", "general")]:
now, before = total(ev, str(y), kind), total(ev, str(wk), kind)
change = f"{(now - before) / before:+.0%}" if before else "n/a"
lines.append(f"{label}: {now:,} ({change} vs {wk:%a %d %b})")
notify.email_me(f"Mixpanel KPIs for {y}", "\n".join(lines))
return {"lines": lines}FAQ
Common questions
Which Mixpanel plan or credentials are needed?
Can it report on a specific cohort or country?
What counts as a daily active user here?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get a Slack alert when sign-ups fall behind
If sign-ups are running 30% under their usual pace, you find out within the hour.
See how it worksGet a weekly written recap of your Mixpanel metrics
Each Monday you get a few paragraphs on what went up, what went down and what stands out.
See how it worksKnow the moment your website goes down
Your team hears in Slack when the site stops responding or slows down, and again when it's back.
See how it worksKeep exploring
Set up “Get yesterday's Mixpanel KPIs by email” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.