Course outline

Define the Metric Before You Move It

By the end of this lesson, you should be able to: explain why the same metric name can mean very different numbers, name the three questions every definition has to answer, and pick a definition by working backwards from the decision it supports.

Five companies, five meanings of "daily active"

Public companies have to explain their key numbers in their filings, so we can see exactly what each one counts. Here's how five of them define a daily active user.

CompanyWhat they call itWho countsWhat counts as activeWhose day
MetaDaily active people (DAP)A person, counted once across Facebook, Instagram, Messenger and WhatsAppLogged in and visited at least one of the appsA given day
SnapDaily active usersA registered userOpens the app at least onceA defined 24-hour period
RedditDaily active uniques (DAUq)Anyone with a unique identifier, logged in or notVisited a page or opened the appA 24-hour period
RobloxDAUsA registered account, not a personLogged in and visitedA calendar day
DuolingoDAUsA unique userEngaged with the learning app or siteEach calendar day

Read across the columns and you can see three different choices hiding inside one name.

Meta counts people. If you use Instagram and WhatsApp on the same day, you're one daily active person, not two. Roblox counts accounts, and says so plainly: one person playing on two accounts shows up twice, so its DAUs are not a measure of unique people. Reddit goes the other way and counts visitors who aren't logged in at all.

Snap counts you the moment you open the app. Duolingo wants you to actually engage with the learning product. Those can be very different numbers for the same group of people, because a lot of opens end in nothing.

And none of them is wrong. Each company picked the definition that fits how its product works and what it's trying to steer.

The three questions every definition answers

Any user metric comes down to three questions. If you can't answer all three, you don't have a metric yet, you have a name.

Loading diagram…
Three questions turn a metric name into a number two people would compute the same way.

Who counts: people, accounts, or devices

The easiest thing to count is usually whatever your logs record: a device ID or an account ID. But the thing you care about is usually a person.

One person with a phone and a laptop can show up as two devices. One person with a main account and a second account, which is common on a gaming platform like Roblox, shows up as two accounts. Counting devices or accounts will almost always give you a bigger number than counting people, and it can grow just because people add devices, without anyone new arriving.

So the question is simple. When this number goes up, do you want it to mean more people? If yes, you need to count people, and that usually means joining devices and accounts back to a single person.

What counts: opening or doing

This is usually the biggest choice of the three.

Opening an app isn't the same as using it. People open an app because a notification popped up, see the home screen, and leave. If you count them as active, your daily actives tell you how good your notifications are, not how good your product is.

But "doing something" needs a line drawn somewhere. For Duolingo, it's finishing a learning activity. For a shopping app, is it searching? Adding to cart? Placing an order? Where you draw that line is a product decision, not a data one.

When counts: whose day, and which window

Snap counts within "a defined 24-hour period". Roblox and Duolingo use a calendar day. Those sound alike, but they aren't.

A user in Chicago opens the app at 8pm on Tuesday. In UTC, the global clock most systems log in, that's already 2am on Wednesday. Then they open it again on Wednesday morning, which is also Wednesday in UTC. Their Tuesday evening and their Wednesday morning land on the same UTC day, so they count once instead of twice. Roblox even spells out a rule for this case: a visit that spans two calendar days counts only for the first one.

The fix is usually to log in UTC, which keeps your raw data clean, but report on the user's own local day, which matches how people actually live. Whatever you choose, write it down, because two people choosing differently will get two different numbers.