- 基于用户位置信息的行为分析
1、位置信息获取和存储
-
传送位置信息时序:
-
基本技术方案步骤
- 服务端根据业务需求定时向客户端推送特定消息(需要服务端、客户端一起定)
- 客户端接收到推送的消息不向用户展示任何内容
- 客户端通过Baidu定位API得到用户当前的的地理位置
- 客户端把地理位置发送给服务端
- 服务端保存地理位置
- 服务端定时或者根据不同的需求分析用户的行为信息
- 客户端请求服务端相关的数据,服务端根据上次位置信息分析的结果给用户返回特定的数据
1.1 获取
用户位置信息主要通过Android或者IOS客户端调用
百度定位API
获取1.2 存储
-
客户端是否获取到定位信息后直接发送给服务端?
-
直接发送
会造成客户端电量浪费严重,服务端压力暴增。
客户端不存储任何用户位置信息 -
不直接发送
省电,减少服务端压力,但是增加客户端复杂度
客户端存储用户的位置信息
如果长时间没有向服务端发送存储的位置信息,可能造成较早数据丢失
-
-
服务端存储
数据库或其他方式存储,服务端需要存储海量用户位置信息
2. 位置信息分析
位置信息分析的工作主要在服务端。
2.1 用户基本信息。
如家和公司的位置。以坐标进行聚类,再辅助时间,假设白天为公司,晚上为家,可以得到该用户的家和公司的位置。如果根据坐标可以找到相应的小区、公司名、学校名,就可以粗略知道该用户的家庭住址和工作经历。
-
由于有一部分人会违反1中白天在公司,晚上在家的假设,可以根据某个原则,如晚上3点到4点,坐标变化很小的,认为是家,来把这部分人挑出来,重新分析。
-
特定时候的特定行为。如年假期间,可以猜测老家。
2.2 社交关系。
根据1中的用户标签,对用户进行关联分析。如公司标签相同的两个用户,如果饭点的运动轨迹相同,可以猜测他们关系不错。
2.3 用户行为分析。如社交活动。
如果有了用户的社交关系,结合地理标就可以进行行为分析了
2.4 用户行为预测。
- 比如你最近一个月每天中午都去某个饭馆吃饭,我可以预测你今天中午也会经过同样的路线到同样的地方吃饭。甚至预测你最近会结婚、生娃、离婚。
以后涉及到的隐私问题,就看企业自律了。一般来说只分析到家地理分区,而没有获取到具体门牌号时(无论是分析还是用户自己填写),是不会涉及隐私问题的。国外某公司的做法是,可能采集用户姓名、地址,但不会提供给商家(BlueKai.com)。
3. 算法
使用百度SDK或者使用特定的算法(当然要商用还得复杂地建模、复杂的算法)分析用户活动轨迹.
3.1 K-means算法
定义:
K-means
算法是硬聚类算法
,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。K-means
算法以欧式距离
作为相似度测度,它是求对应某一初始聚类中心向量V最优分类,使得评价指标J最小。算法采用误差平方和准则函数作为聚类准则函数。3.2 Apriori算法
Apriori算法
是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集。而且算法已经被广泛的应用到商业、网络安全等各个领域。 -
基于用户位置信息的行为分析