编辑:
现在有一种更简单的方法来计算使用指标- “评估 activity_engagement”:
union *
| where timestamp > ago(90d)
| evaluate activity_engagement(user_Id, timestamp, 1d, 28d)
| project timestamp, Dau_Mau=activity_ratio*100
| render timechart
--------
DAU 在 Analytics 中非常直接 - 只需使用 dcount。
棘手的部分当然是计算 28 天的滚动 MAU。
几周前我写了一篇文章,详细说明了如何计算应用程序分析中的粘性——诀窍是你必须使用 hll() 和 hll_merge() 来计算每天的中间 dcount 结果,然后将它们合并在一起。
最终结果如下所示:
let start=ago(60d);
let period=1d;
let RollingDcount = (rolling:timespan)
{
pageViews
| where timestamp > start
| summarize hll(user_Id) by bin(timestamp, period)
| extend periodKey = range(bin(timestamp, period), timestamp+rolling, period)
| mvexpand periodKey
| summarize rollingUsers = dcount_hll(hll_merge(hll_user_Id)) by todatetime(periodKey)
};
RollingDcount(28d)
| join RollingDcount(0d) on periodKey
| where periodKey < now() and periodKey > start + 28d
| project Stickiness = rollingUsers1 *1.0/rollingUsers, periodKey
| render timechart