对于一个网站来说,分析用户属性,并标记属性标签对后续用户的潜在价值开发是很有必要的。下边结合一些工作的经验谈谈自己的见解。
一:首先用户的属性归类目的要明确,针对不同的目的用途归类应该分开。
自然属性:
性别、年龄、归属地、职业。。。
偏好属性:
购物狂、宅男、暴力。。。
粘着属性:
回头客、常客、新客户、活跃分子。。。
活动属性:
自定义活动标签。。。。
二:尽量让客户来标榜自己或好友的属性
例如、QQ的好友印象,认识的人对认识的事物做标记往往更有说服力。
三:通过事件活动的属性来标记参与者的属性
例如、买卫生巾的90%都是女性。。。
这个非常重要,通过不断的搞活动可以积累自己的用户标签,从而锁定目标人群。同时活动标签类型也是在不断扩展与合并的。
这些属性当中有些来自用户的注册信息,有些来自活动信息。最好的作法,就是将多种属性标记方法综合运用。达到多维度判断人群属性的效果。
现在我简单举例偏好属性和活动属性结合分析的一个数据处理思路。
假设每个人身上都被打了两组标签:hobby_tags,active_tags(标签数组、是变动的)
在分析某件事或某个活动对那些属性的人群产生效果时,根据标签就能很好的分析获取到需要的信息。
而更有用的是,根据上次的活动结果,下次我们就可以针对之前的分析结果针对效果受众做定向服务,将有限的营销精力投放到精准目标用户上。
实现这个精准投放我们只要在投放的时候设置一组投放属性来匹配包含相关属性的用户。
假设有一张活动与投放属性关联记录表actives_attributes字段
(active_id , atrribute_ids) 注:此表中的atrribute_ids对应某次活动的设定标签组。
另外假设用户表users用两个数组类型字段,记录属性hobby_tag_ids和active_tag_ids
分析一个活动的受众类型大概思路可以这样处理:
SELECT
B.user_name,
UNNEST(B.hobby_tag_ids::int[]||B.active_tag_ids::int[]&C.arr)::int AS use_atrribute_id
from
user_actives A
left join
users B on A.user_id=B.id
left join
(select array_agg(atrribute_ids)arr, active_id from actives_attributes GROUP BY active_id) C
on A.active_id=C.active_id
UNNEST(B.hobby_tag_ids::int[]||B.active_tag_ids::int[]&C.arr)是将用户所有属性做并集,再和当前活动设置属性做交集。然后属性数组用UNNEST函数变为多行。
在做属性类型指标分析的时候再group by 一下use_atrribute_id则得出不同属性人群的指标集合。(*使用的greenplum数据仓库)