属性模型

事物的性质和人的特征

简介

属性是用于描述一个事物与性质的关系。事物与属性是不可分的,事物都是有属性的事物,属性也都是事物的属性。脱离了事物谈属性,属性也失去了它应有的色彩和意义。

GrowingIO系统中支持三种事物模型,分别为事件模型、物品模型和用户模型,其对应的属性如下:

事物模型

属性类型

事件模型

预定义属性、事件属性

物品模型

物品属性

用户模型

用户信息、用户属性

根据描述的事物不同,事物的属性也千差万别。我们拿以下场景举例:

在电商业务中,我们经常会关注订单支付成功这一行为。为了更清晰的描述这一行为,谁在什么时间做什么什么事情,我们会用以下几个属性描述订单支付成功事件。

属性

属性值

时间

2015-05-01

用户ID

3325103

订单ID

62531631501961032

订单支付金额

2999.00

是否使用优惠券

优惠券名称

新人大礼包

为了满足不同事物的属性描述,我们支持四种属性类型,分别为字符串、整数、小数和日期。根据事物的差异,上述属性分别支持以下几种属性类型:

属性

字符串

整数

小数

日期

预定义属性

--

--

--

--

事件属性

✔️

✔️

✔️

物品属性

✔️

用户信息

--

--

--

--

用户属性

✔️

✔️

✔️

事件属性仅支持非负整数和非负小数

注意:创建属性时可选择属性类型,创建成功后属性类型不可更改

属性说明

属性名称

说明

预定义属性

系统预置的事件属性,SDK配置成功后自动采集

事件属性

自定义配置的事件属性

物品属性

自定义配置的物品属性

用户信息

系统预置的用户属性,需要主动上传数据

用户属性

自定义配置的用户属性

属性管理

GrowingIO系统支持对事件属性物品属性用户属性的创建、编辑和查看功能,详情请点击对应文字链接。

预定义属性用户信息为系统预置信息,仅支持查看,详情请点击对应文字链接。

属性关联

事件属性和物品属性创建成功后,需要主动关联事件,关联成功后才能在事件中使用相应的事件属性和物品属性。

注意:如果事件没有关联或取消关联事件属性或物品属性,即使数据正常上传也无法解析,且不支持计算对应属性的统计数据

用户属性创建成功后无需额外配置即可在系统中使用。

配置方法:事件属性物品属性

数据格式

GrowingIO支持多种语言的SDK,不同语言的SDK上报数据和导入数据都使用统一的数据格式。不同属性类型的数据格式说明如下:

属性类型

格式限制

示例

字符串

非空字符串

'GrowingIO'

整数

以字符格式传入

'1234567'

小数

以字符格式传入,

小数点后最多包含四位有效数字

'3.1415'

日期

以字符格式传入,

yyyy-mm-dd 或 时间戳(毫秒)

'2040-05-01' 或

'2219414400000'

如上传数据不符合上述格式要求,GrowingIO系统会对部分数据类型上传的数据进行强制格式转换,具体说明如下:

属性类型

转化规则

示例

整数

上传数据为小数时,按高斯取整处理,仅保留整数部分

上传: 9.99

存储: 9

小数

上传数据为高精度小数(超四位)时,按四舍五入保留四位小数

上传: 3.1415926

存储: 3.1416

日期

上传数据为整数或小数时,按毫秒时间戳转成日期格式存储

上传: 1588262400

存储: 1970-01-19

注意:日期属性如按时间戳格式上传时,需使用毫秒级时间戳(13位);如上传秒级时间戳(10位)时存储时间会发生错误