数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(续)

简介: 数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(续)

(一)项目说明

1.1项目选题与背景

       本项目实现抖音用户浏览行为数据分析与挖掘。抖音是一款流行的短视频平台,用户在使用抖音时会产生大量的浏览行为数据,包括用户的观看视频、点赞、评论、分享等行为。本次项通过数据挖掘技术对抖音用户的浏览行为数据进行分析和挖掘,以获得有价值的信息和洞察,并将其应用于实际场景中,如用户个性化推荐、内容优化和广告定向投放等。

1.2项目意义

       在数据挖掘的背景下,抖音用户浏览行为数据分析与挖掘具有重要的意义,对抖音用户浏览行为进行数据分析与挖掘,可以了解用户的兴趣和偏好,优化用户体验,提高内容的质量和吸引力,同时也可以为广告商提供更准确的定向投放服务,实现数据驱动的运营决策。

1.3项目需要解决的问题或目标

       A.用户兴趣和喜好分析:通过分析抖音用户的浏览行为数据,了解用户对不同类型内容的偏好和兴趣。这可以帮助平台更好地了解用户需求,优化推荐算法,提供个性化的内容推荐,增加用户留存和活跃度。

       B.内容优化和创新:通过数据挖掘,识别和分析受欢迎的内容类型、创意和趋势。这可以为内容创作者和平台运营者提供指导,优化现有内容,改进内容质量,吸引更多用户参与,并发现新的创意和趋势。

       C.广告定向投放:利用用户浏览行为数据,了解用户的兴趣和偏好,为广告商提供精准的广告定向投放。通过分析用户行为模式,识别潜在的目标用户群体,并根据他们的兴趣和行为特征,将广告推送给最相关的用户,提高广告投放效果和转化率。

       D.运营决策和业务优化:通过数据挖掘和分析,了解用户行为的变化趋势、活跃度和留存率等指标。这可以为抖音平台的运营决策提供依据,优化平台的功能设计、内容策略、资源分配和运营活动等,提升用户体验和平台的竞争力。

       E.用户群体分析:利用用户浏览行为数据,对用户进行群体分析,识别不同用户群体的特征、行为模式和偏好。这可以帮助平台了解用户群体的多样性,为不同用户提供定制化的内容和服务,满足他们的个性化需求。

1.4从数据中获得什么类型的信息,以及如何将其应用于实际场景

       从抖音用户浏览行为数据中希望获得的类型信息包括用户兴趣和喜好、内容类型和创意趋势、广告定向投放指导、用户行为指标和用户群体特征。这些信息可以应用于实际场景,包括个性化推荐算法的改进、内容创作和运营策略的优化、广告投放的精准定向、平台功能设计的优化和用户体验的提升。

(二)数据收集

       首先,需要获取抖音用户的浏览行为的相关数据集,包括用户的观看记录、点赞记录、评论记录、分享记录等。这可以从数据库中提取数据、采集网络数据、使用API 访问数据源或与合作伙伴合作获得数据,也可以通过与抖音平台合作获得用户数据,使用API访问数据接口或其他合法的数据收集手段来实现。

2.1熟悉数据,查看数据结构和数据分布情况

数据集说明

字段名 解释 字段名 解释 字段名 解释
uid 用户id user_city 用户城市 item_id 作品id
author_id 作者id item_city 作者城市 channel 作品频道
finish 是否看完 like 是否点赞 music_id 音乐id
duration_time 作品时长 real_time 具体发布时间 H、date 时、天(发布)

数据集下载:抖音用户浏览行为数据集

2.2导入必要的Python Packages

       首先导入需要的python包,其中包括NumPy、Pandas,导入这些包能够使用相应库和模块的函数、类和方法来处理和分析数据、进行机器学习模型的训练和评估。

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import warnings
warnings.filterwarnings('ignore')
from pyecharts.charts import * 
from pyecharts import options as opts 
from sklearn.cluster import KMeans

(三)数据查看与预处理

3.1 数据查看

简单看一下前5行数据,确定需要进一步预处理的内容:数据去重、删除没有意义的第一列,部分列格式转换、异常值检测。

# 读取数据
df = pd.read_csv('douyin_dataset.csv')
df.head()

df.info()
• 1

3.2 数据去重

无重复数据

print('去重前:',df.shape[0],'行数据')
print('去重后:',df.drop_duplicates().shape[0],'行数据')

3.3 删除列

删除没有意义的第一列

df = df.drop(df.columns[[0]],axis=1)

3.4 缺失值查看

无缺失值

print(np.sum(df.isnull()))

3.5 变量类型转换

real_time 和 date 转为时间变量,id、城市编码转为字符串,并把小数点去掉

df.info()

(四)基本画像

基本信息的可视化,面向用户、创作者以及内容这三个维度进行。

4.1 观众画像

数据中一个人对应多条观看数据,但一个人的基本信息是固定的,所以需要进行去重操作。去重后共 59232 条。

df.drop_duplicates(['uid']).shape[0]

user_info = df.drop_duplicates(['uid','user_city'])[['uid','user_city']]
user_info.info()

4.1.1 地区 - 用户
user_city_count = user_info.groupby(['user_city']).count().sort_values(by=['uid'],ascending=False)
x1 = list(user_city_count.index)
y1 = user_city_count['uid'].tolist()
len(y1)

覆盖到了387个城市,其中编号为99的城市用户比较多超过2000人,6、129、109、31这几个城市的使用人数也超过了1000。

可以关注用户较多城市的特点,对产品受众有进一步的把握。

用户较少的城市可以视作流量洼地,考虑进行地推/用户-用户的推广,增加地区使用人数。

4.1.2 观看时间

根据不同时间的观看视频数量来看:0,4-5,18-23,尤其是22-23是用户使用的高峰期,下午观看视频数量较少。

在用户高浏览的时段进行广告的投放,曝光量更高

在高峰段进行优质内容的推荐,效果会更好

根据不同时间的观看视频数量来看,11-18,20-21,尤其是13-16是用户使用的高峰期

可以看到在用户高浏览的时段进行广告的投放,曝光量更高

所以在高峰段进行优质内容的推荐,效果会更好

关注到点赞率和完播率,这两个与用户粘性、创作者收益有一定关系的指标。可以看到15点是两个指标的小高峰,2、4、20、23完播较高,8、13、18、20点赞率较高。但结合观看数量与时间段的分布图,大致猜测15点深度用户较多。

4.1.3 每周观看

在统计的时间内周一到周三观看人数较多,但总体观看次数基本在20-30w之间。

创作者选择在周一-三这几天分布可能会收获更多的观看数量

4.1.4 观看路径
df.groupby(['channel']).count()['uid']

观看途径主要以0为主,初步猜测为App。3途径也有部分用户使用,可能为浏览器。

考虑拓宽各个观看渠道,增加总体播放量和产品使用度

非主渠道观看,制定策略提升转化,将流量引入主渠道

针对主要渠道内容进行商业化策略投放,效率更高

4.2 创作者画像

4.2.1 发布地点

观看用户地区分布和创作者分布其实存在不对等的情况。4地区创作者最多,超5k人,33、42、10地区创作者也较多。

创作者与地区的联系也值得关注,尤其是创作内容如果和当地风俗环境人文有关

相邻近地区的优质的创作者之间互动,可以更好的引流

4.2.2 优质作者
4.2.2.1 高产作者top5
item_num = df.drop_duplicates(['author_id','item_id']).groupby(['author_id']).count().sort_values(by=['item_id'],ascending=False)['item_id']
item_num[:5]

4.2.2.2 高获赞作者top5
like_num = df.groupby(['author_id']).sum().sort_values(by=['like'],ascending=False)['like']
like_num[:5]

4.3 内容画像

4.3.1 基本信息
4.3.1.1 视频时长

视频时长主要集中在9-10秒,符合抖音“短”视频的特点。

官方提供9/10秒专用剪视频模板,提高创作效率

创作者关注创意浓缩和内容提炼

视频分布在这两个时间点的爆发也能侧面反映用户刷视频的行为特征

4.3.1.2 整体点赞、完播

内容整体完播率非常接近40%,点赞率在1%左右

用户更多是“刷”视频,挖掘吸引力和作品连贯性,能更好留住用户

点赞功能挖掘不够,可尝试进行ABtest,对点赞按钮增加动画,测试是否会提升点赞率

4.3.2 优质内容
4.3.2.1 高点击
df.groupby(['item_id']).count().sort_values(by=['uid'],ascending=False)['uid'][:5]

4.3.2.2 高点赞
df.groupby(['item_id']).sum().sort_values(by=['like'],ascending=False)['like'][:5]

4.3.2.3 高频使用音乐
music = df.drop_duplicates(['item_id'])[['item_id','music_id']]
music.groupby(['music_id']).count().sort_values(by = ['item_id'],ascending = False)[:5]

(五)进阶分析

5.1 相关性分析

因为变量非连续,采取spearman相关系数,制作相关性热力图。由于数据量比较大的缘故,几个数量性变量之间的相关性都比较小,其中看到finish和点赞之间的相关系数稍微大一些,可以一致反映用户对该视频的偏好。

5.2 留存率

5.2.1 pv/uv

在2019.10.18进入用户使用高峰阶段,目标用户单人每天浏览多个视频。

关注高峰时间段,是否是当下推荐算法起作用了

5.2.2 7/10 留存率

用户留存率保持在40%+,且没有跌破30%,说明获取到的数据中忠实用户较多。

存在一定可能性是因为数据只爬取了特定用户群体的行为数据,结合创作者数量>用户数量可得到验证

但一定程度可以反映软件留存这块做的不错

(六)深度分析

6.1 客户价值判断

通过已观看数、完播率、点赞率进行用户聚类,价值判断

四类

三类

比较三类、四类的轮廓系数,确定聚为3类

可以大致对三类的内容做一个描述。

  • 紫色:观看数量较少,但点赞完播率都非常高的:对内容观看有耐心,愿意产生额外性行为。因此通过观看兴趣内容打散、可以刺激用户观看更多视频。e.g.多推荐有悬念、连续性的短视频
  • 绿色 :观看数量适中,点赞率、完播率有所下滑,对这类用户的策略可以中和先后两种。
  • 蓝色 :观看数量非常多,点赞、完播率教室,这类用户更多会关注到视频前半段的内容,兴趣点可通过停留时间进行判断,但使用时间相对较长,反映产品依赖性,一定程度上来说算是核心用户。e.g.利用停留时间判断喜好,优化推荐算法,重点推荐前半段内容吸引力大的。


目录
相关文章
|
3天前
|
数据可视化 数据挖掘 Java
深度挖掘数据,智慧决策,VeryReport报表软件引领数据分析新潮流
深度挖掘数据,智慧决策,VeryReport报表软件引领数据分析新潮流
|
1月前
|
数据采集 数据可视化 数据挖掘
数据挖掘实战:使用Python进行数据分析与可视化
在大数据时代,Python因其强大库支持和易学性成为数据挖掘的首选语言。本文通过一个电商销售数据案例,演示如何使用Python进行数据预处理(如处理缺失值)、分析(如销售额时间趋势)和可视化(如商品类别销售条形图),揭示数据背后的模式。安装`pandas`, `numpy`, `matplotlib`, `seaborn`后,可以按照提供的代码步骤,从读取CSV到数据探索,体验Python在数据分析中的威力。这只是数据科学的入门,更多高级技术等待发掘。【6月更文挑战第14天】
71 11
|
5天前
|
数据采集 数据挖掘 数据处理
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
【7月更文挑战第14天】Python的Pandas和NumPy库是数据分析的核心工具。Pandas以其高效的数据处理能力,如分组操作和自定义函数应用,简化了数据清洗和转换。NumPy则以其多维数组和广播机制实现快速数值计算。两者协同工作,如在DataFrame与NumPy数组间转换进行预处理,提升了数据分析的效率和精度。掌握这两者的高级功能是提升数据科学技能的关键。**
12 0
|
1月前
|
数据采集 机器学习/深度学习 数据可视化
数据挖掘实战:Python在金融数据分析中的应用案例
Python在金融数据分析中扮演关键角色,用于预测市场趋势和风险管理。本文通过案例展示了使用Python库(如pandas、numpy、matplotlib等)进行数据获取、清洗、分析和建立预测模型,例如计算苹果公司(AAPL)股票的简单移动平均线,以展示基本流程。此示例为更复杂的金融建模奠定了基础。【6月更文挑战第13天】
221 3
|
1月前
|
JSON 数据挖掘 API
数据分析实战丨基于pygal与requests分析GitHub最受欢迎的Python库
数据分析实战丨基于pygal与requests分析GitHub最受欢迎的Python库
28 2