事件分析

方舟4.3.4版本中新增API

1. 接口地址

【POST】 /uba/api/events/analyze

2. 请求参数示例

接口请求参数,更多参数说明参照 查询API 中的 通用参数 说明。

{
    // 【必填】指标 可以输入多个
    "measures":[
        //这里的指标是 平台等于JS的任意事件的触发用户数
        {
            //【必填】事件/事件属性表达式
            "expression":"event.$Anything",
            // 【必填】聚合操作符
            "aggregator":"TRIGGER_USER_COUNT",
            // 针对于当前指标选择事件的过滤条件,非必填
            "filter":{
                "conditions":[
                    {
                        "expression":"event.$Anything.$platform",
                        "function":"EQ",
                        "params":[
                            "JS"
                        ]
                    }
                ],
                "relation":"and"
            }
        }
    ],
    // 针对于所有指标的过滤条件,非必填
    "filter":{
        "conditions":[
            {
                //【必填】属性表达式
                "expression":"event.$Anything.$platform",
                //【必填】条件操作符号
                "function":"EQ",
                "params":[
                    "JS",
                    "iOS",
                    "Android"
                ]
            }
        ],
        "relation":"AND"
    },
    //【必填】用户分群
    "crowds":[
        "$ALL"
    ],
    //【必填】 时间范围-开始时间
    "fromDate":"2019-06-18",
    //【必填】 时间范围-结束时间
    "toDate":"2019-06-25",
    //抽样 这里表示全量
    "samplingFactor":1,
    //使用缓存 这里表示是
    "useCache":true,
    //查看时间粒度 这里表示按日查看
    "unit":"DAY",
    //按XX维度查看,可以输入多个
    "byFields":[
        {
            "expression":"event.$Anything.$screen_width",
            //这里表示结果按照 无限小~600,600~800,800~无限大三个区间查看
            "buckets":[
                600,
                800
            ]
        }
    ]
}

特殊说明:

1、参数在示例中未标注必填的表示选填。

2、请求参数可以通过方舟产品生成,使用方法参照 接口请求参数获取

3、接口不支持日期对比和分群对比。

认证参数:接口必传token和appKey两个参数,详情见 项目接口认证

2.1 聚合表达式说明

aggregator:聚合表达式,根据指标表达式是事件和属性而不同。

  • 事件表达式支持的聚合操作符如下:

    • TRIGGER_USER_COUNT :触发用户数,触发选定事件的去重用户数,例如加入购物车的触发用户数。

    • TOTAL_COUNT: 触发次数,触发选定事件的总次数,例如加入购物车的触发次数。

    • AVG_COUNT:人均触发次数,平均每个用户触发选定事件的次数,例如加入购物车的人均触发次数。

  • 属性表达式支持的聚合操作符如下:

    • REMOVE_DUMPLICATE :表示去重数,支持所有数据类型。

    • SUM:总和,选定属性的属性值求和,例如加入购物车的商品金额之和,只支持数值类型。

    • AVG:均值,选定属性的属性值算数平均数,例如加入购物车的商品金额均值,只支持数值类型。

    • MAX: 最大值,选定属性的属性值最大值,例如加入购物车的商品最大金额,只支持数值类型。

    • MIN :最小值,选定属性的属性值最小值,例如加入购物车的商品最小金额,只支持数值类型。

    • AVG_PER: 人均值,选定属性的属性值人均值,例如人均加入购物车的商品金额,只支持数值类型。

3. 返回结果示例

{
    //查询的指标,和输入一致
    "measures":[
        "event.$Anything.unique"
    ],
    //查看维度,和输入一致
    "byFields":[
        "event.$Anything.$screen_width"
    ],
    //时间范围
    "series":[
        "2019-06-18",
        "2019-06-19",
        "2019-06-20"
    ],
    //返回结果
    "rows":[
        {
           //总和
            "sum":[
                50
            ],
            //用户数,根据数组下标和指标(measures)/维度(byFields) 和 时间(series)对应
            "values":[
                [
                    22,
                    18,
                    20
                ]
            ],
            //维度结果
            "byValue":[
                "800~+∞"
            ]
        },
        {
            "sum":[
                10
            ],
            "values":[
                [
                    9,
                    2,
                    0
                ]
            ],
            "byValue":[
                "-∞~600"
            ]
        },
        {
            "sum":[
                5
            ],
            "values":[
                [
                    4,
                    1,
                    0
                ]
            ],
            "byValue":[
                "未知"
            ]
        }
    ],
    //返回的结果行数
    "numRows":3,
    //查询时间
    "reportUpdateTime":"2019-07-01 15:55:43"
}

4. 接口调用示例

curl -H "Content-Type:application/json" -H "token:4113c9cad1c301113783f433e254888c" -H "appKey:31abd9593e9983ec" -X POST --data '{
    "measures":[
        {
            "filter":{
                "conditions":[
                    {
                        "expression":"event.$Anything.$platform",
                        "function":"EQ",
                        "params":[
                            "JS"
                        ]
                    }
                ],
                "relation":"and"
            },
            "expression":"event.$Anything",
            "aggregator":"TRIGGER_USER_COUNT"
        }
    ],
    "filter":{
        "conditions":[
            {
                "expression":"event.$Anything.$platform",
                "function":"EQ",
                "params":[
                    "JS",
                    "iOS",
                    "Android"
                ]
            }
        ],
        "relation":"AND"
    },
    "byFields":[
        {
            "expression":"event.$Anything.$screen_width",
            "buckets":[
                600,
                800
            ]
        }
    ],
    "crowds":[
        "$ALL"
    ],
    "fromDate":"2019-06-18",
    "toDate":"2019-06-20",
    "samplingFactor":1,
    "useCache":true,
    "unit":"DAY"
}' http://127.0.0.1:4005/uba/api/events/analyze

最后更新于