编程语言
首页 > 编程语言> > 广电大数据用户画像及营销推荐策略(二)——Python实现

广电大数据用户画像及营销推荐策略(二)——Python实现

作者:互联网

本次大数据项目数据及分析均做脱敏化和保密化,主要分享思路体系,全程用Python实现,数据和代码均不提供。如有建议欢迎讨论!

2、数据准备

       由于数据中用户收视行为信息数据记录很大,如果对数据不进行分类处理,对所有记录直接采用推荐系统进行推荐,这样会存在以下问题。第一,数据量太大意味着物品数与用户数很多,在模型构建用户与物品的稀疏矩阵时,出现设备内存空间不够的情况,并且模型计算消耗大量的时间。第二,用户区别很大,不同的用户关注信息不一样,因此即使能够得到推荐结果,其推荐效果也会不好。为了避免出现上述问题,需要对其进行分类处理与分析,如图3所示。需要对用户的兴趣爱好以及需求进行分类,以用户观看的节目类型偏好进行分类,然后对每个类型中的内容进行推荐。

图 3 数据处理分析图

       在数据准备中主要包括数据获取、数据预处理、数据探索分析。

2.1 数据获取

       以用户的访问时间为条件,选取一个月内(05-12~06-12)用户的收视行为信息数据、账单数据、订单数据、收费数据及用户状态数据作为原始数据集。由于每个用户收视习惯以及兴趣爱好存在差异性,这里随机抽取2000个用户收视行为信息数据进行分析,其数据量总共有4246720条记录,其中包括用户名、观看时长、直播频道名称、开始观看时间、结束观看时间、设备名称、用户等级号、用户等级名称、清晰度、节目地区、语言、节目分类等。

       本项目是以构建用户画像与推荐算法为主导,其他推荐算法为辅,而为了让用户画像在不敏感的情况下尽可能地完整,除了推荐算法用到的用户与节目还需要所分析用户其他方面的数据集。因此,在数据抽取的过程中,尽量选择大量的数据,这样就能降低用户画像和推荐结果的随机性,能更好地发掘长尾节目中用户感兴趣的节目。

2.2 数据预处理

       本项目需要先在业务的基础上对原始数据集进行数据清洗、数据变换等预处理工作。通过这些处理方式,将原始数据处理成项目中所需要的应用数据。其分别对5份数据的处理方法如下。

(1)收视行为信息数据

       在业务角度来看,该广电运营商主要面向的对象是众多的普通家庭,而收视行为数据数据中(media_index)会有特殊线路和政企类的用户,即用户等级号为02,09,10的数据和用户等级名称为EA级,EB级,EC级,ED级,EE级的数据。其中特殊线路主要是起到演示、宣传等作用,这部分数据对于分析用户行为意义不大,并且会影响分析结果的准确性,因此这部分数据将会被删除;政企类数据暂时不做营销推荐,这部分数据也将被删除。

       如图4所示,发现收视行为信息数据中有同一用户开始观看时间和结束观看时间重复的记录数据,而且观看的节目不同,这可能是由于数据收集设备导致的。故基于数据中开始观看时间和结束观看时间的记录去重。

4 重复的收视数据

       如图5所示,在收视行为信息数据中存在跨夜的记录数据,如开始观看时间与结束观看时间为05-12 23:45与05-13 00:31。这样的数据的记录需要分为两条记录,便于后面用户画像的构建。

5 跨夜的收视数据

       在对于用户收视行为信息数据进行分析时发现,用户会存在观看时间极短的现象,如图6所示。这部分时间过短可能是因为用户在观看中换频道。选择观看时长小于4秒作为时间极短的判断阈值。

6 异常行为数据

       同时用户也会存在较长时间观看同一频道的现象。这部分数据时间过长可能是因为用户在收视行为结束后,未能及时关闭机顶盒或其他原因造成。选择将直播收视数据中开始观看时间和结束观看时间的单位秒为00的记录删除且不超过3小时。处理的原因是由于在未进行收视互动的情况下,节目开始观看时间和结束观看时间的单位秒为00的整点(秒)播放。

       最后,发现数据有下次观看的开始观看时间小于上一次观看的结束观看时间的记录,这种脏数据的产生是由于数据收集设备导致的,这里进行删除处理。

       综述上述业务数据处理方法,以下为具体实现步骤。

  1. 删除特殊线路的用户,用户等级号为02,09,10的数据。
  2. 删除政企用户,用户等级名称为EA级,EB级,EC级,ED级,EE级的数据。
  3. 基于数据中开始观看时间和结束观看时间的记录去重。
  4. 隔夜处理,将跨夜的收视数据分成两天即两条收视数据。
  5. 删除观看同一个频道累计连续观看小于4秒的记录,这些收视数据定为收视行为产生的无效数据。
  6. 删除直播收视数据中开始观看时间和结束观看时间的单位秒为00且不超过3小时的收视数据。
  7. 删除下次观看记录的开始观看时间小于上一次观看记录的结束观看时间的记录。

(2)账单数据与收费数据

       对于账单数据(mmconsume-billevents)、收费数据(mmconsume-payevents)和用户状态数据(mediamatch-userevents),需要删除特殊线路和政企类的用户,且用户状态为正常,主动暂停,欠费暂停,主动销户4种情况之一。以下为具体实现步骤。

  1. 删除特殊线路的用户,用户等级号为02,09,10的数据。
  2. 删除政企用户,用户等级名称为EA级,EB级,EC级,ED级,EE级的数据。
  3. 用户状态只留下(正常,主动暂停,欠费暂停,主动销户)4个用户状态名称,其他不保留。

(3)订单数据

       根据订单数据(order-index)特有的产品方面的属性特征,除了删除特殊线路和政企类的用户外,还要选择用户状态为正常,主动暂停,欠费暂停,主动销户4种情况之一。同时保证用户购买的产品订购更新时间最大且当前时间仍在产品有效日期内。最后基于用户号,销售品名称去重,因为用户可能购买多次同样的产品,而数据中只保留一条记录即可。

       综述上述业务数据处理方法,以下为具体实现步骤。

  1. 删除特殊线路的用户,用户等级号为02,09,10的数据。
  2. 删除政企用户,用户等级名称为EA级,EB级,EC级,ED级,EE级的数据。
  3. 用户状态只留下(正常,主动暂停,欠费暂停,主动销户)4个用户状态名称,其他不保留。
  4. 选择产品订购更新时间最大且产品生效日期<=当前时间<=产品失效日期的数据。
  5. 基于用户号,销售品名称去重。

2.3 数据探索分析

       在数据探索过程中主要利用的方法是数据可视化,根据原始数据特点,对所有用户的收视行为信息数据数据进行可视化,得到用户的观看总时长分布图,付费频道与点播回看的周观看时长分布,工作日与周末的观看时长比例及分布,频道贡献度分布和排名前15的频道名称。

(1)分布分析

       分布分析是用户在特定指标下的频次、总额等的归类展现。它可以展现出单用户对产品(电视)的依赖程度,分析客户在不同时间周期的观看电视的总时长变化等,帮助运营人员了解用户的当前状态。

用户观看总时长

       根据业务的角度,需要先了解用户的观看总时长分布情况。本项目计算所有用户在一个月内的观看总时长并且排序,对其进行分布可视化。

       由分布图可以看出,1988个用户的观看总时长主要集中在100小时到300小时之间。

付费频道与点播回看的周观看时长

       周观看时长是指所有用户在一个月内分别在星期一至星期日的观看总时长。业务上付费频道与点播回看行为的观看是相关人员比较关心的部分,故分别对所有用户在周观看时长和观看付费频道与点播回看两部分进行分布可视化。

       由分布图可以看出,在周观看时长分布图上,用户在这个月内星期日与星期一的观看总时长明显高于其他时段;而在付费频道与点播回看的周观看时长分布图中周末两天与星期一的付费频道与点播、回看的时长明显高于其他时段。说明假日时间用户会对电视的依赖度会增加,更偏向于点播回看等方式的观看。

(2)对比分析

       对比分析是指把两个相互联系的指标进行比较,从数量上展示和说明研究对象规模的大小,水平的高低,速度的快慢,以及各种关系是否协调。特别适用于指标间的横纵向比较、时间序列的比较分析。在对比分析中,选择合适的对比标准是十分关键的步骤,选择合适,才能做出客观的评价,选择不合适,评价可能得出错误的结论。

       对比分析主要有两种形式。静态对比:同一时间条件下对不同总体指标进行比较,如不同部门、不同地区、不同国家的比较,也叫“横比”。动态对比:同一总体条件下对不同时期指标数据的比较,也叫“纵比”。

      本项目对工作日(5天)与周末(2天)进行了划分,分别显示所有用户以观看总时长的占比分布(计算观看总时长时需要除以天数),所有用户在工作日和周末的观看总时长的分布可视化。

       由对比图可以看出,工作日与周末的观看时长比例约为47.5/52.5;其中周末观看的用户时长集中在20小时到80小时之间,工作日观看的用户时长集中在50小时到200小时之间。虽然占比图中周末与工作日的比例相差不大,但是在分布图中工作日的观看总时长仍是比周末的观看总时长高的,并且趋势相似。

(3)贡献度分析

       贡献度分析又称帕累托分析,它的原理是帕累托法则又称20/80定律。同样的投入放在不同的地方会产生不同的效益。例如,对一个公司来讲,80%的利润常常来自于20%最畅销的产品,而其他80%的产品只产生了20%的利润。

       由所有收视频道名称的观看时长与观看次数分布图可以看出,随着观看各频道次数增多,观看时长也在随之增多,且后面近28%的频道带来了80%的观看时长贡献度(稍有偏差,但特征明显)。

       其中排名前15的频道名称为翡翠台、中央3台、中央新闻、广东体育、中央8台、CCTV5+体育赛事、广东珠江、广东南方卫视、江苏卫视、中央6台、凤凰中文、中央4台、广州电视、中央1台、中央5台。

 

 

文章未经博主同意,禁止转载!

标签:收视,Python,画像,广电,用户,观看,时间,总时长,数据
来源: https://blog.csdn.net/qq_40304090/article/details/113879961