#measure engagement - dau / mau and aad
TRANSCRIPT
#measure engagementFOCUS: DAU / MAU – THE WHAT, WHY, AND HOW
MEASURECAMPNL 2016-04-09, JULES STUIFBERGEN
Some metricsPage metrics
time on page
exit rate
scroll-to-bottom
Session metrics
visit duration
pageviews per visit
User metrics
sessions per user
# multi-session users
More compound metrics
Return visits within x days
DAU/MAU and Average Active Days
What is DAU/MAU ?Definition:
DAU (Daily Active Users)
MAU (Monthly Active Users)
Hence:
DAU / MAU = percentage of monthly active users that we see active this day
What does it say?https://mixpanel.com/help/platform/tutorials/dau-mau
DAU/MAU is a common metric used to measure stickiness (i.e. how engaged your users are). It's derived by dividing DAU (Daily Active Users) by MAU (Monthly Active Users).
http://www.startupdefinition.com/dau-over-mau
The ratio of Daily Active Users to Monthly Active Users. This metric is used to measure the depth of engagement of a company's users.
High = good (mostly)Same users visit often
Loyal visitors
Sticky Site
For games, content-sites, community sites, auction sites.. when you want habit or loyalty, you want high DAU/MAU rates.
Low DAU/MAU rates?
Customer service pages, .. ? ..
Average DAU/MAU and ”AAD”http://techcrunch.com/2009/10/29/how-to-measure-the-true-stickiness-and-success-of-a-facebook-app/
[An Average] [..] DAU/MAU ratio of 50% would mean that the average user of your app is using it 15 out of 30 days that month. [ correction mine ]
The sum of all DAU/MAU ratio’s in a period: Let’s call that “Average Active Days”: AAD
AAD / [number of days] = Average DAU/MAU
sum(DAU day 1, .., DAU day n) / MAU = 15
sum(DAU day 1 / MAU, … DAU day n / MAU) = 15
sum(DAU day 1 / MAU, … DAU day n / MAU) / n = 15/30 = 50%
So, how to calculate in Google Analytics?Static (once for a period)
period = 28 days (4 whole weeks)
Query 1: users per day (28 rows)
Query 2: users per period (1 row)
DAU / MAU for each day = Q1 day 1 / Q2 … Q1 day n / Q2
AAD = sum(Q1) / Q2
So, how to calculate in Google Analytics?Rolling (useful for segmented traffic (e.g. New Users), or to correct for period before peaks:
period = 28 days (4 whole weeks)
Query 1 28x (for every day in period): users per day (28 rows per query)use only 1 row per query
Query 2 28x (for every day in period): users per period (1 row per query)
Automate it (in R)library(rga)
i <- "12345" # Google Analytics View ID
mau <- ga$getData(i, start.date = s, end.date = e,
metrics = "ga:users", dimensions = "",
samplingLevel = "HIGHER_PRECISION")
dau <- ga$getData(i, start.date = s, end.date = e,
metrics = "ga:users", dimensions = ”ga:date",
samplingLevel = "HIGHER_PRECISION")
Automation is useful for rolling..dau.rolling <- data.frame()
for (day in seq(from = period.end – 27, to = period.end, by=1) {
q <- ga$getData(i, start.date = day, end.date = day + 27,
metrics = "ga:users", dimensions = "ga:date"
segment = "gaid:-101") #multi-session users (built-in)
# add the row we want
dau.rolling <- rbind(dau.rolling, q[ which(q$date == day),])
}
Plot it in ggplot
Multi-Session users compared to ALL traffic.
Logically, this differs.
Also plotted: the Average DAU/MAU (which is AAD)
Source: not-so-sticky website
Missing: absolute numbers
All sessions vs Customers: Big difference (Same site, all users vs. UID view)
Static vs Rolling: see the pre-peak difference(AAD higher)
Comments / Discussion
Would YOU use DAU/MAU? Is it useful?
How would you communicate what it means?
Useful segments to compare?
BTW: script available for R-lovers, ask me @zjuul