activity_engagement 插件

适用于:✅Azure 数据资源管理器

在滑动时间线窗口中,根据 ID 列计算活动参与比率。

activity_engagement 插件可用于计算 DAU/WAU/MAU(每日/每周/每月活动)。

语法

T | evaluate activity_engagement(IdColumn, TimelineColumn, [Start, End,] InnerActivityWindow, OuterActivityWindow [, dim1, dim2, ...])

详细了解语法约定

参数

客户 类型​​ 必需 说明
T string ✔️ 用于计算参与的表格输入。
IdCoumn string ✔️ 列的名称,其 ID 值表示用户活动。
TimelineColumn string ✔️ 表示时间线的列的名称。
Start datetime 分析开始时段。
End datetime 分析结束时段。
InnerActivityWindow timespan ✔️ 内部范围分析窗口时段。
OuterActivityWindow timespan ✔️ 外部范围分析窗口时段。
dim1, dim2, ... dynamic 维度列的数组,用于切分活动指标计算。

返回

返回一个表,该表具有某个内部范围窗口内 ID 值的非重复计数、某个外部范围窗口内 ID 值的非重复计数,以及每个现有维度组合的每个内部范围窗口时段的活动率。

输出表架构如下:

TimelineColumn dcount_activities_inner dcount_activities_outer activity_ratio dim1 .. dim_n
类型:自 TimelineColumn 起 long long Double .. .. ..

示例

DAU/WAU 计算

下面的示例通过随机生成的数据计算 DAU/WAU(每日活动用户/每周活动用户比率)。

// Generate random data of user activities
let _start = datetime(2017-01-01);
let _end = datetime(2017-01-31);
range _day from _start to _end  step 1d
| extend d = tolong((_day - _start)/1d)
| extend r = rand()+1
| extend _users=range(tolong(d*50*r), tolong(d*50*r+100*r-1), 1) 
| mv-expand id=_users to typeof(long) limit 1000000
// Calculate DAU/WAU ratio
| evaluate activity_engagement(['id'], _day, _start, _end, 1d, 7d)
| project _day, Dau_Wau=activity_ratio*100 
| render timechart 

图形显示查询中指定的每日活跃用户与每周活跃用户的比率。

DAU/MAU 计算

下面的示例通过随机生成的数据计算 DAU/WAU(每日活动用户/每周活动用户比率)。

// Generate random data of user activities
let _start = datetime(2017-01-01);
let _end = datetime(2017-05-31);
range _day from _start to _end  step 1d
| extend d = tolong((_day - _start)/1d)
| extend r = rand()+1
| extend _users=range(tolong(d*50*r), tolong(d*50*r+100*r-1), 1) 
| mv-expand id=_users to typeof(long) limit 1000000
// Calculate DAU/MAU ratio
| evaluate activity_engagement(['id'], _day, _start, _end, 1d, 30d)
| project _day, Dau_Mau=activity_ratio*100 
| render timechart 

图形显示查询中指定的每日活跃用户与月度活跃用户的比率。

使用附加维度计算 DAU/MAU

下面的示例使用附加维度 (mod3) 通过随机生成的数据计算 DAU/WAU(每日活动用户/每周活动用户比率)。

// Generate random data of user activities
let _start = datetime(2017-01-01);
let _end = datetime(2017-05-31);
range _day from _start to _end  step 1d
| extend d = tolong((_day - _start)/1d)
| extend r = rand()+1
| extend _users=range(tolong(d*50*r), tolong(d*50*r+100*r-1), 1) 
| mv-expand id=_users to typeof(long) limit 1000000
| extend mod3 = strcat("mod3=", id % 3)
// Calculate DAU/MAU ratio
| evaluate activity_engagement(['id'], _day, _start, _end, 1d, 30d, mod3)
| project _day, Dau_Mau=activity_ratio*100, mod3 
| render timechart 

图形显示模数为 3 的情况下查询中指定的每日活跃用户与月度活跃用户的比率。