文档

电商行业

更新时间:

概述

电商行业数据规范,历史数据及实时数据的上传均需要遵守此规范

数据描述

如果您当前业务形态属于电商行业,启用智能推荐服务需要准备3张数据表。

  1. 物品表(item):此处即指商品。

    最近推荐场景内全部可以被推荐商品的全量表。由于item数量受配额限制,建议您上传前做去重处理。item_id与item_type二者同时唯一确定一条item。

  2. 用户表(user):最近系统的全部注册用户表。

    由于user数量受配额限制,建议您上传前做去重处理。根据您内部的用户标记方法,可以选择方案一均通过imei唯一确认一名用户,方案二通过user_id和imei组合确认一名用户(如登录用户使用user_id唯一标记,未登录用户使用imei唯一标记)。

    请务必确认用户的唯一性并在请求推荐结果时指定用户的唯一标识信息,否则将无法进行千人千面的推荐。

  3. 行为表(behavior):最近一段时间场景的行为数据。我们建议您提供1-2周的数据。

    如果是全新板块,没有历史数据;或者因为技术原因无法提供行为数据,建议使用我们提供的测试数据,但是在开始一段时间(大约两周)内,模型的效果会不太理想,但随着数据的积累,会逐渐上升并最终稳定。

对于这三张表的选填字段,我们建议您尽量上传。在保证选填字段有效性的条件下,这些选填字段越多越准确,模型的效果越好。未填写部分系统内部将渲染成默认值。

表结构

重要

1、下述表结构中,是否必填=”必填”的字段必须要上报到智能推荐。每个必填字段及建议填写字段影响较大,其字段具体作用请详细阅读”字段值说明”。

2、在采用历史数据启动的方式,在MaxCompute中建表时,选填字段的值可以为空,但是不可省去表字段,表中需要包含所有字段,具体建表语句参考文末。

item

字段名

字段类型

是否必填

字段含义

字段值枚举

字段值说明

字段值示例

item_id

string

必填

物品标识序号,仅支持英文字符(A~Z、a~z)及数字0~9的组合。

用户自填

1.item_id+item_type作为一条数据的唯一标识。

2.item_id的长度需限制在50字符以内。

重要

上报过来的item_id需要记录下来,以免后续无法删除此item_id。

34513

item_type

string

必填

物品类型。

image;

article;

video;

shortvideo;

item;

recipe;

audio;(如当前类型不满足,请联系技术人员沟通解决方案)

  1. 上报时请与枚举值类型对应(如果您有其他的类型维度,可进行枚举值的映射)。

  2. 多类型排布可参考混排策略

article

status

string

必填

物品推荐状态。

0/1

1.status=”1”时,item可推荐出来。

2.status=”0”时,item不会推荐出来。

3.注意:字段值上报为”0”,该item不会推荐出来。重新把值改为”1”(item重新上架),需要等一个小时的调度周期。

4.注意:item下架为实时下架,把status的值改为”0”即可。

1

scene_id

string

必填

场景ID。

物品投放的不同地方,可以理解成是对物品的一个分类的ID。不同的页面,用户访问类型不一样,都可以做成不同的场景ID。

用户自填

1、按照字母数字组合方式定义,建议使用首拼或英文与数字组合形式增强可读性。

2、场景ID中不能含有英文冒号。

3、场景ID不能为-102(内部预留值)。

4、当推荐仅有单场景时,该字段置1。

5、注意:item表中的场景ID可以为多值,用英文逗号分隔,如字段值示例。用于不同投放页面,投放场景使用详解

sy101(如代表首页),gwc102(如代表购物车页)

pub_time

string

必填

内容发布时的时间戳(秒级),本字段用于判断内容是否为最新发布

用户自填

对有时效性需求的用户,必填。(将用于新品的推荐策略)。

1520327038

expire_time

string

可选

内容失效时间戳,单位s

用户自填

1、当前服务器时间大于该字段时,item将不被继续推荐。

2、如果所有数据均失效,服务无法启动。

3、置为空代表永不失效。

1520327038

last_modify_time

string

可选

物品信息的最后修改时间戳,单位s

用户自填

如果用户对已经发布了的物品做了较大的更新,又有时效性的需求,可以更新此字段。同pub_time功能类似,共同作用于新品链路。

1520327038

title

string

建议填写

物品标题

用户自填

将用于语义层面深入分析,置空会损失部分算法效果,建议填写。

小香风淑女连衣裙

weight

string

建议填写

item的权重值

用户自填

注意:1、要加权的商品填:100、不加权的商品填:1。

2、仅支持填入100或1,其他值是非法的。

3、建议加权的item数量<=item总数的10%。

4、设置了高权重的物品,会有更高的概率优先推荐出来。

5、加权将对模型造成干扰,请确认item被加权的合理性后操作。

1

category_level

string

建议填写

类目层级数,例如3级类目

用户自填

如果和category_path数据不匹配,会影响打散功能。

3

category_path

string

建议填写

类目路径,下划线联接

用户自填

1、类目路径,支持多级类目,用下划线联接

2、不可出现英文逗号,英文冒号(用于打散策略)。

12_1024_56

tags

string

建议填写

标签,多个标签使用英文逗号分隔。

用户自填

1、主要用于描述物品的特征,由业务方自行运营物品的标签库。

2、算法模型会基于标签进行特征分析。

3、单条商品标签数不能超过100个,标签池总个数建议不超过50000个 。

4、如果标签属于业务敏感数据,建议映射到数字脱敏上报。

著名演员,运动

share_cnt

string

可选

一个月内分享次数

用户自填

启动时,如果当前场景行为数据比较稀疏,可以将平台其他场景的行为统计数据放入这些字段,不要求实时性。模型稳定后,如果维护这些字段成本较高,可以低优先级处理

156

collect_cnt

string

可选

一个月内收藏次数

用户自填

不要求实时性,优先级可以放低

566

pv_cnt

string

可选

一个月内曝光次数

用户自填

不要求实时性,优先级可以放低

10292

origin_price

string

可选

物品原价,单位为元,如果是外币价格,需折算成人民币

用户自填

不要求实时性,优先级可以放低

1000,即1000RMB

cur_price

string

可选

物品折后价格,单位为元,如果是外币价格,需折算成人民币

用户自填

不要求实时性,优先级可以放低

900,即900RMB

buy_cnt

string

可选

平台月销量

用户自填

启动时,如果当前场景行为数据比较稀疏,可以将平台其他场景的行为统计数据放入这些字段,不要求实时性。模型稳定后,如果维护这些字段成本较高,可以低优先级处理

10

source_buy_cnt

string

可选

淘宝月销量

用户自填

不要求实时性,优先级可以放低

10000

comment_cnt

string

可选

评论数

用户自填

不要求实时性,优先级可以放低

1000

brand_id

string

建议填写

品牌ID

用户自填

不要求实时性,优先级可以放低

shop_id

string

建议填写

店铺ID

用户自填

不要求实时性,优先级可以放低

source_id

string

可选

物料经由哪个平台进入场景

用户自填

比如天猫,淘宝等,这个字段可以是平台的ID,例如淘宝1,天猫2

1

add_fee

string

可选

物料的其他附加费用

用户自填

比如邮费。可以用0代表包邮,1代表不包邮,或者用精确到分的具体钱数代表邮费

0

features

string

可选

物料特征(字符串型)

用户自填

英文逗号分隔的物料特征;该特征是描述性的

num_features

string

可选

物料特征(数值型)

用户自填

英文逗号分隔的数值型物料特征;必须保证所有物料的该字段逗号个数一致,且字段对齐

user

字段名

字段类型

是否必填

字段含义

字段值枚举

字段值说明

字段值示例

user_id

string

已登录用户必填

用户唯一ID

用户自填

1、注册用户必填。

2、user_id 可作为一个用户的唯一标识

1234567

user_id_type

string

可选

用户注册类型

1234

1:app注册账号,

2:手机号,3:微信号,4:其它

2

imei

string

未登录用户必填

安卓:MD5(imei),IOS:MD5(idfa)

用户自填

1、非注册用户必填。

2、按照指定要求,mac地址,设备号等无效,会无法使用内部用户画像信息,仅保留曝光过滤功能。

3、32位MD5值。

imei358800091015835md5后74f25e604e1a9dde7471fe2e25ae54d0idfa41B2FD07-695A-4A27-8D26-C30ECE6F7EADmd5后06e1565409c9fc4887036b974421****

third_user_name

string

可选

第三方用户名称

用户自填

jack

third_user_type

string

可选

第三方平台名称

用户自填

wechat

phone_md5

string

可选

用户手机号的md5值

用户自填

d41d8cd98f00b204e9800998ecf8****

gender

string

可选

性别

male/female/unknown

male

age

string

可选

年龄

用户自填

22

age_group

string

可选

年龄段

用户自填

20-25

country

string

可选

国家编码

用户自填

ISO3166-1 alpha-3 编码

“CHN”(中国)

city

string

可选

城市名称

用户自填

杭州

ip

string

可选

最后登录IP

用户自填

202.113.XX.XX

device_model

string

可选

设备型号

用户自填

iphoneX

tags

string

可选

用户tags,多个tag使用英文逗号分隔

用户自填

对用户的标签描述

足球,健身,户外

source

string

可选

用户来源

用户自填

今日头条引流

content

string

可选

用户描述

用户自填

features

string

可选

用户特征(字符串型)

用户自填

英文逗号分隔的用户描述性特征,比如画像等

num_features

string

可选

用户特征(数值型)

用户自填

英文逗号分隔的数值型用户特征;必须保证所有物料的该字段逗号个数一致,且字段对齐

register_time

string

可选

注册时间戳,单位s

用户自填

1520007038

last_login_time

string

可选

上次登录时间戳,单位s

用户自填

1520017038

last_modify_time

string

可选

用户信息的最后修改时间戳,单位s

用户自填

1520327038

behavior

字段名

字段类型

是否必填

字段含义

字段值枚举

字段值说明

字段值示例

item_id

string

必填

内容ID

用户自填

需要与item表中的item_id相匹配

34513

item_type

string

必填

商品的类型

image;

article;

video;

shortvideo;

item;

recipe;

audio;

需要与item表中的item_type相匹配

article

bhv_type

string

必填

行为类型,例如曝光、停留、点击、收藏、下载、购买、加购、评价等,详见behavior type

expose/click/ buy/cart/ evaluate

正例数据click的条数需要小于负例数据expose的条数,否则系统会判断数据异常,无法启动服务

expose

trace_id

string

必填

请求追踪/埋点ID。用于在AB实验时区分调用了阿里推荐引擎

Alibaba/selfhold

1、调用了阿里推荐引擎而产生的行为数据,填Alibaba;基于自研/运营推荐产生的行为数据,填selfhold。

2、主要用于控制台报表分析,效果对比。

Alibaba

trace_info

string

必填

请求埋点信息。一次推荐接口调用时会返回该信息,日志记录时带上即可

阿里推荐接口返回字段值

1.trace_id=selfhold时,trace_info填1即可。

2.trace_id=Alibaba。在获取推荐结果时,会返回此item的trace_info。trace_id=Alibaba说明这条行为数据,是对从AIRec推荐出来的这条item而产生的行为。回传行为数据时把这个item对应的trace_info原样回传即可。

1007.5911.12351.1002000:::::

scene_id

string

必填

场景ID

用户自填

1、用户产生行为的场景,在对应的item的场景ID中,单值。

2、行为表的scene_id要包含于item表中的scene_id。

3、无场景区分需求,默认填1,若无法追踪到行为的具体场景ID,填-102。具体参考投放场景使用指南

a1001

bhv_time

string

可选

行为发生的时间戳,单位s

用户自填

用户实际产生行为的时间。

1520327038

bhv_value

string

必填

行为详情,例如点击次数,停留时长,购买件数、购买金额等,详见behavior type

用户自填

1、点击行为填1即可。

2、曝光行为视业务需求,也可不填。

3、其它行为类型请联系技术开发。

1

user_id

string

已登录用户必填

用户ID

用户自填

1、注册用户需要与user表中相匹配。

2、未登录用户访问可不填。

1234567

platform

string

可选

客户端平台。

用户自填

iOS/Android/H5

iOS

imei

string

未登录用户必填

用户设备ID,安卓(imei),IOS(idfa)

用户自填

1、非注册用户必填

2、按照指定要求,mac地址,设备号等无效,会无法使用内部用户画像信息,仅保留曝光过滤功能.

3、32位MD5值

e2fcdb0f4dce45e35fe2823d7973****

app_version

string

可选

app的版本号

用户自填

4.1.10

net_type

string

可选

网络型号

用户自填

2G/3G/4G/WIFI

4G

ip

string

可选

客户端IP信息

用户自填

234.45.XX.XX

login

string

可选

是否登录用户

01

0:未登录1:登录

1

report_src

string

可选

上报来源类型

12

1:服务端。2:客户端。

2

device_model

string

可选

设备型号

用户自填

iphoneX

longitude

string

可选

位置经度

用户自填

128.4

latitude

string

可选

位置纬度

用户自填

78.1

module_id

string

可选

模块ID

用户自填

114

page_id

string

可选

页面ID

用户自填

4

position

string

可选

内容所在的位置信息

用户自填

5

message_id

string

可选

一条行为的唯一标识

用户自填

若不填写内部将取item_id、item_type、user_id、imei、bhv_type、bhv_time等字段组合去重

5

behavior type

下表为电商行业支持的9种行为类型,如果您需要支持其他行为类型,请联系技术人员沟通解决方案。

重要

上报的数据类型与模型优化的目标强相关,如果仅上传点击相关的行为类型,将以点击率为主要的优化目标;

如果上传消费类数据如加购、购买,也会相应地在优化目标中加入对消费数据的考量与优化。注意,此处将以优化点击率为核心目标。如果无法定位到加购、购买行为发生的具体场景,在填写scece_id时请填写为-102。

scene用法见:投放场景使用指南

序号

行为释义

bhv_type

bhv_value

说明

1

曝光

expose

置空即可

必填行为,且曝光行为数量要大于点击行为

2

点击

click

1

必填行为

3

点赞

like

置空即可

/

4

unlike

置空即可

/

5

评论

comment

置空即可

/

6

收藏

collect

置空即可

/

7

停留时长

stay

时长

单位不限,请注意每条数据中具备相同单位约定。

8

加购

cart

件数,单价((英文逗号隔开)示例:1,10000

单价:RMB,可精确到百分位(分)。

9

购买

buy

件数,单价(英文逗号隔开)示例:1,10000

单价:RMB,可精确到百分位(分)一条购买行为中,只能对应一个item_id,一个订单多个item_id,需要进行拆分。

10

评价

evaluate

离散的递增或递减的整数

举例:若使用星级评价,1-5星表示好评度递增,则可设置对应关系为1星值取1,2星2,5星5。务必保证增减逻辑与实际好差评趋势对应。

11

负反馈

dislike

具体使用参考负反馈功能详解

建表语句

如使用MaxCompute服务进行启动数据上报,可参考如下的建表语句:

---创建电商型的行为表
DROP TABLE IF EXISTS behavior_table;
CREATE TABLE IF NOT EXISTS `behavior_table`
(
    trace_id STRING COMMENT "请求追踪/埋点ID"
    ,trace_info STRING COMMENT "请求埋点信息"
    ,platform STRING COMMENT "客户端平台"
    ,device_model STRING COMMENT "设备型号"
    ,imei STRING COMMENT "设备ID"
    ,app_version STRING COMMENT "app的版本号"
    ,net_type STRING COMMENT "网络型号"
    ,longitude STRING COMMENT "位置经度"
    ,latitude STRING COMMENT "位置纬度"
    ,ip STRING COMMENT "客户端IP信息"
    ,login STRING COMMENT "是否登录用户"
    ,report_src STRING COMMENT "上报来源类型"
    ,scene_id STRING COMMENT "场景ID"
    ,user_id STRING COMMENT "用户ID"
    ,item_id STRING COMMENT "内容ID"
    ,item_type STRING COMMENT "商品的类型"
    ,module_id STRING COMMENT "模块ID"
    ,page_id STRING COMMENT "页面ID"
    ,position STRING COMMENT "商品所在的位置信息"
    ,bhv_type STRING COMMENT "行为类型"
    ,bhv_value STRING COMMENT "行为详情"
    ,bhv_time STRING COMMENT "行为发生的时间戳"
)
PARTITIONED BY 
(
    ds STRING
)
LIFECYCLE 30
;


---创建电商型的用户表
DROP TABLE IF EXISTS user_table;
CREATE TABLE IF NOT EXISTS `user_table`
(
    user_id STRING COMMENT "用户唯一ID"
    ,user_id_type STRING COMMENT "用户注册类型"
    ,third_user_name STRING COMMENT "第三方用户名称"
    ,third_user_type STRING COMMENT "第三方平台名称"
    ,phone_md5 STRING COMMENT "用户手机号的md5值"
    ,imei STRING COMMENT "用户设备ID"
    ,content STRING COMMENT "用户内容"
    ,gender STRING COMMENT "性别"
    ,age STRING COMMENT "年龄"
    ,age_group STRING COMMENT "年龄段"
    ,country STRING COMMENT "国家"
    ,city STRING COMMENT "城市"
    ,ip STRING COMMENT "最后登录IP"
    ,device_model STRING COMMENT "设备型号"
    ,register_time STRING COMMENT "注册时间戳"
    ,last_login_time STRING COMMENT "上次登录时间戳"
    ,last_modify_time STRING COMMENT "用户信息的最后修改时间戳"
    ,tags STRING COMMENT "用户tags"
    ,source STRING COMMENT "用户来源"
    ,features STRING COMMENT "附加用户特征(字符串型)"
    ,num_features STRING COMMENT "附加用户特征(数值型)"
)
PARTITIONED BY
(
    ds STRING
)
LIFECYCLE 30
;


---创建电商型的商品表
DROP TABLE IF EXISTS item_table;
CREATE TABLE IF NOT EXISTS `item_table`
(
    scene_id STRING COMMENT "场景id"
    ,item_id STRING COMMENT "内容唯一标识ID"
    ,item_type STRING COMMENT "内容的类型"
    ,category_level STRING COMMENT "类目层级数"
    ,category_path STRING COMMENT "类目路径"
    ,title STRING COMMENT "内容标题"
    ,content STRING COMMENT "内容正文"
    ,pub_time STRING COMMENT "发布时间"
    ,tags STRING COMMENT "标签"
    ,share_cnt STRING COMMENT "分享次数"
    ,collect_cnt STRING COMMENT "收藏次数"
    ,pv_cnt STRING COMMENT "浏览次数"
    ,status STRING COMMENT "是否可推荐"
    ,expire_time STRING COMMENT "内容失效时间戳"
    ,last_modify_time STRING COMMENT "内容信息的最后修改时间戳"
    ,origin_price STRING COMMENT "原始价格"
    ,cur_price STRING COMMENT "折扣后的价格"
    ,buy_cnt STRING COMMENT "平台月销量"
    ,source_buy_cnt STRING COMMENT "源头购买数量"
    ,comment_cnt STRING COMMENT "评论数"
    ,brand_id STRING COMMENT "品牌id"
    ,shop_id STRING COMMENT "商店id"
    ,source_id STRING COMMENT "物料来源"
    ,add_fee STRING COMMENT "附件费用"
    ,features STRING COMMENT "附加用户特征(字符串型)"
    ,num_features STRING COMMENT "附加用户特征(数值型)"
    ,weight STRING COMMENT "内容加权, 默认为1"
)
PARTITIONED BY
(
    ds STRING
)
LIFECYCLE 30
;