Skip to content

Latest commit

 

History

History
251 lines (197 loc) · 7.16 KB

行为检测配置文件说明.md

File metadata and controls

251 lines (197 loc) · 7.16 KB

行为检测 策略配置说明

一、使用举例

例子有些天马行空,目的是为了帮助大家更好的理解策略配置。

  1. 杭州市3天内点击店铺列表>=5次,且点击店铺图片>=2次的用户,当用户再次点击店铺时,延迟2秒触发指定操作。
  2. 全国范围5天内点击海底捞店铺>=3次,或者点击麦当劳店铺>=2次的用户,延迟2秒触发指定操作。
  3. 上海市用户单次访问APP时,点击同一种商品>=3次,就触发指定操作。
  4. 北京市用户30天内,累积5天以上都点击过朋友圈,当用户再次访问朋友圈时,就触发指定操作。

例子暂时就这么多,脑容量有限,大家各自尽情脑补吧!

二、语义详解

1、地理位置维度

城市信息

字段名:cityId

字段类型:整型

比如可以限定策略只发生在杭州市。

2、时间维度

整体说明

时间维度下的周期天数生效时间是否包含历史行为会综合作用,具体逻辑为:

if 包含历史行为
  完全参考`周期天数`

if 不包含历史行为
  通过`周期天数`确定天数时不得早于`生效时间`

周期天数

字段名:period

字段类型:整型

  • 0: 限定为本次访问
  • 1: 限定为当天访问
  • 2: 限定为两天内,即昨天和今天
  • ..依次类推。

生效时间

字段名:effectiveTime

字段类型:整型

注:秒级时间戳

是否包含历史行为

字段名:containHistory

字段类型:整型

  • 0: 不包含
  • 1: 包含

3、触发维度

触发时机

字段名:triggerMoment

字段类型:整型

  • 0: 满足条件后即可触发
  • 1: 满足条件后,触发基准点时才可触发。(基准点概念见 5、基准维度)

触发延迟

字段名:triggerDelay

字段类型:整型

注:单位秒

是否循环触发

字段名:cycleTrigger

字段类型:整型

  • 0: 不循环
  • 1: 循环

4、逻辑维度

与或关系

字段名:relation

字段类型:字符串

  • and: 与
  • or: 或

对比维度

字段名:type

字段类型:字符串

  • same_person_number: 点击次数
  • same_item_number: 任一item的点击次数
  • same_person_date: 访问天数
  • same_item_date: 任一item的访问天数

条件表达式

字段名:operator typeValue

字段类型:字符串 数组

operator为"gte"代表“大于等于”。

typeValue中的第0项代表具体数值。

5、基准维度

概念解释

通常我们会有类似这样的诉求:点击过3次A车型,并且在A车型详情(不能是A以外的车型详情)中点击过2次车型图片。

此时就需要基准维度来限定,点击A车型这个行为就是基准点,点击车型图片这个行为就需要参考基准点。

是否是基准点

字段名:basePoint

字段类型:整型

  • 0: 不是
  • 1: 是

注:每个策略中最多只能有1个基准点。

是否参考基准点

字段名:consultBasePoint

字段类型:整型

  • 0: 不参考
  • 1: 参考

6、行为指令描述

行为指令

字段名:instruction

字段类型:数组 (指令匹配时,数组元素之间默认为“或”的关系,意在兼容可能的新老版本指令)

详见:行为指令格式说明

行为指令参数

字段名:itemName

字段类型:字符串

扩展参数。

三、JSON格式说明及字段注释

{
    "rules": [
        {
            "ruleId": 1,
            "cityId": 0,  // 城市ID 大于0生效。
            "period":3, // 涵盖天数 0:本次访问 1:当天 2:今天和昨天 依次类推。
            "effectiveTime": 1603707142, // 策略生效时间 秒级时间戳
            "cycleTrigger": 0, // 是否循环触发 0:不循环 1:循环
            "containHistory": 0, // 是否包含历史行为 0:不包含 1:包含
            "triggerMoment": 0, // 触发时机 0:满足条件时触发 1:满足条件后,访问基准商品时触发
            "triggerDelay": 2, // 触发延迟,单位秒
            "ruleContent": {
              "relation": "and", // and为且关系,or为或关系。
              "rules": [{
                "instruction": [{
                  "vm": {
                    "value": ["",""], // 各元素之间是 且 关系。
                    "operator": "="  // =:等于 %:包含
                  },
                  "vp": {
                    "value": [""],
                    "operator": "%"
                  },
                  "vl": {
                    "value": [""],
                    "operator": "%"
                  },
                  "vq": {
                    "value": [""],
                    "operator": "%"
                  },
                  "vr": {
                    "value": [""],
                    "operator": "%"
                  },
                  "vf": {
                    "value": [""],
                    "operator": "%"
                  },
                  "e": {
                    "value": [""],
                    "operator": "%"
                  },
                  "h5": {
                    "value": [""],
                    "operator": "%"
                  }
                }],  // 元素之间是 或 关系。
                "itemName": "",
                "type": "same_person_number",  // same_person_number:点击次数 same_item_number:任一item的点击次数 same_person_date:访问天数  same_item_date:任一item的访问天数  same_person_category:访问种类数
                "operator": "gte", // 大于等于 当前版本仅支持这一种。
                "typeValue": [1],
                "basePoint": 1  // 是否是基准,0:不是 1:是
              }, {
                "instruction": [{
                  "vm": {
                    "value": ["",""], // 元素之间是 且 关系。
                    "operator": "="
                  },
                  "vp": {
                    "value": [""],
                    "operator": "%"
                  },
                  "vl": {
                    "value": [""],
                    "operator": "%"
                  },
                  "vq": {
                    "value": [""],
                    "operator": "%"
                  },
                  "vr": {
                    "value": [""],
                    "operator": "%"
                  },
                  "vf": {
                    "value": [""],
                    "operator": "%"
                  },
                  "e": {
                    "value": [""],
                    "operator": "%"
                  },
                  "h5": {
                    "value": [""],
                    "operator": "%"
                  }
                }],  // 元素之间是 或 关系。
                "itemName": "",
                "type": "same_person_number", // same_person_number:点击次数 same_item_number:任一item的点击次数 same_person_date:访问天数  same_item_date:任一item的访问天数  same_person_category:访问种类数
                "operator": "gte",
                "typeValue": [1],
                "consultBasePoint": 1  // 是否参考基准,0:不参考 1:参考
              }]
            }
        }
    ]
}