这是我参与「第四届青训营 」笔记创作活动的的第19天。
本节课程主要分为 4 个方面:
-
***基础篇*** 1.为什么做行为数据分析 2.数据分析的各个环节 3.数据分析的流程和案例 4.总结与思考题 -
***进阶篇*** 1.机器学习 2.特征工程 3.聚类算法 4.聚类画像分析
用户数据分析与最佳实践(基础篇)
一.为什么做行为数据分析
1.1.为什么要做用户数据分析
在企业竞争越来越激烈,获客成本越来越高的背景下,如何高效地优化产品和精细化投放运营是当前企业竞争的关键,而用户数据分析正是我们保持此竞争力的重要手段,我们通过数据来驱动用户增长、降低成本和提高收益。
二.数据分析的各个环节
2.1.数据分析全景图
2.2.指标体系和指标分级
◉ 结合业务战略目标和业务场景,系统化梳理构建的指标集合。
2.3.手游业务指标体系示意
2.4.搭建指标体系的价值
◉ 衡量经营状况
◉ 统一口径和统一认知
◉ 团队牵引
◉ 支撑后续指定目标和衡量目标
◉ 发现问题
◉ 定位问题
2.5.数据分析的各个环节
2.5.1.埋点简介
◉ 埋点数据是什么?
◌ 埋点数据是指上报的记录着触发原因和状态信息的日志数据。按照上报方式来看,可以划分为“服务端埋点”和“客户端埋点”按照上报形式,可以划分为“代码埋点”、“可视化埋点”。
◉ 埋点包含哪些要素?
◌ who when how what how_much
◉ 在哪里埋点呢?
◌ 在你要做数据分析的缓解来埋点
2.5.2.分析工具
◉ 数据表与SQL
◌ 表的基本构成:表名、表字段、表字段类型等。
◌ SQL:结构化查询语言,用来操作表的语言。细分为DDL(数据定义语义)和DML(数据操纵语义)等。
◉ 指标和维度
◌ 指标的数据的量化统计,维度是数据分组的方式。
2.5.3.数据可视化
◉ 表格
◉ 折线图
◉ 堆叠面积图
◉ 柱状图
◉ 组合图
◉ 饼图
三.数据分析的流程和案例
3.1.分析流程
◍ 明确目的
◌ 验证有没有问题
◌ 定位问题原因
◌ 做数据探索
◌ 评估工作重心
◍ 经验猜想
◌ 整体上就是大胆假设,小心求证。
◍ 数据准备
◌ 采集
◌ 摸底
◌ 清洗
◍ 数据分析
◌ 维度对比下
◌ 指标拆解
◍ 产出报告和优化建议
◍ 验证
◌ AB测试
◌ 调查问卷
◌ 舆情分析(放风)
◍ 全量实施和总结复盘
◌ 评估收益
◌ 总结经验
3.1.1.分析思路
◍ 获取
◌ 广告素材
◌ 投放渠道
◌ 定向人群
◌ 反作弊
◍ 激活
◌ 新手引导
◌ 推荐冷启动
◍ 留存
◌ 产品优化
◌ 运营活动
◌ 内容生态
◍ 收入
◌ 促销活动
◌ 经济系统
◌ 黑产代充
◍ 自传播
◌ 分享裂变
◌ 口碑评分
3.2.案例
用户数据分析与最佳实践(进阶班)
一.机器学习概览
1.1.为什么要机器学习?
▢ 人工智能时代已经到来
◌ 个性化推荐
◌ 机器翻译
◌ 人脸识别
▢ 大数据成为热议的内容
◌ 数据多
◌ 产生快
◌ 形式杂
◌ 组织乱
▢ 解决实际的业务决策问题
◌ 数据价值
1.2.什么是机器学习?
▢ 机器学习就是把无序的数据转换为有用的信息
▢ 从数据中自动分析获得模型,并利用模型对未知数据进行预测
▢ 机器学习算法流程:获取数据、数据探测、特征工程、构建数据集、建模调参、模型评估
1.3.机器学习算法有哪些?
机器学习有非常多的种类及相应的算法,主要可以分成三大类:
▢ 监督/非监督学习:取决于训练是否需要人类的监督
▢ 批量/在线学习:取决于系统是否能持续地从数据流中学习并更新
▢ 基于实例/模型学习:取决于系统是直接把新数据于旧数据比较,还是通过建模来预测
1.4.机器学习地挑战有哪些?
▢ 在机器学习中,面临的挑战主要来自两大模块:糟糕的算法和糟糕的数据。
1.算法地问题主要有以下两种:
◎ 过拟合(Overfitting)
◎ 欠拟合(Underfitting)
2.数据地问题具体表现为:
◎ 训练数据太少
◎ 训练数据不具备代表性
◎ 数据本身质量很差
◎ 选取地特征没有相关性
▢ 在大数据场景下,对资源的要求非常高,比如存储和算力。
二.特征工程
2.1.概述
▥ 定义:特征工程是将原始数据转化成更好的表达问题本质的特征的过程。
▥ 意义:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。
2.2.流程
▥ 特征工程包含以下几个过程:数据理解、数据预处理、特征构造、特征选择
2.3.Embedding概述简介
▥ Embedding,即嵌入,起先源自于NLP领域,称为[词嵌入(word embedding)],主要是利用信息构建词汇的分布式标识,最终可以得到一种词的向量化表达,即用一个抽象的稠密向量来表征一个词。
2.4.Embedding产生过程
2.5.Embedding意义作用
▥ 解决维度灾难,降低复杂度
▥ 解决稀疏容易造成的梯度消失的问题
▥ 增加语义信息,能够很好地挖掘嵌入实体间地内部关联
2.6.Embedding应用场景
▥ 在深度学习网络中作为Embedding层
▥ 作为预训练地Embedding特征向量
▥ Embedding可以直接作为推荐系统或计算广告系统地召回层或者召回方法之一
三.聚类算法
3.1.概览简介
聚类算法是一种无监督地机器学习算法。在给定地数据集中,我们可以通过聚类算法将具有相似特征地数据分成一组,不相似特征地数据分成不同组。
◾ 常用聚类方法:
◌ K-means
◌ DBSCAN
◌ 层次聚类
◾ 常用聚类特征:
◌ 人口属性:性别、年龄、地域等等;
◌ 常用指标:活跃度、时长、消费次数等等;
◌ 消费偏好:用户使用不同功能的时长占比、点击占比,每天进入该app的启动方式等等。
3.2.应用场景
◾ 指标波动场景
◾ 精细化运营
◾ PMF(Product-Market Fit)
3.3.K-means
◾ 首先,我们确定要聚类的数量,并随机初始化它们各自的中心点
◾ 通过计算当前点与每个簇中心之间的距离,将每个数据点归到与之距离最近的中心的簇中
◾ 基于迭代后的结果,计算每一簇内,所有点的平均值,作为新簇中心
◾ 迭代重新这些步骤,或者直到簇中心在迭代之间变化不大
四.聚类画像分析
4.1.概览简介
一个基于聚类的用户画像分析工具,以对用户群体进行标注及定位
◯ 洞察群体用户在站内的消费、投稿内容生态情况
◯ 研究用户与内容的关系和演变,理解业务增长的变化,制定用户与内容的增长策略。
4.2.流程
4.3.分析过程-样本选定
1.定义条件筛选样本,条件都是比较通用的,比如年龄、性别、vv_finish_1w(过去一周用户的完播次数,用来保证用户兴趣的显著性),缺点是条件比较少。
2.上传圈选ID列表,主要服务于用户所需的条件并不在第一种方式里,可以直接离线圈选好用户,然后通过上传csv文件即可。这种方式更多的是用于一次性实验分析,如果设置成周期调度,但由于已是上传固定的用户,没法根据你离线选好条件随时间动态变化用户,所以就成了固定用户的周期任务。
3.输入hive表名称,也是服务于用户所需的条件并不在第一种方式里,但是你需要有hive表的写权限,调度频次可设置成一次性实验分析,也可周期调度。如果需要周期调度,请将hive表对应的任务设置成天级调度(由表里的数据来决定哪些用户需要参与聚类)。平台会在周期调度时间到来时读取表里的数据,完成任务的执行。
4.3.1.向量获取
选择Embedding作为聚类算法特征的依据
◯ 具有用户行为的语义特征,能学习到用户行为数据之间的关联
◯ 离线分析用到线上推荐特征,可作为线上推荐效果的debug工具,反映其效果好坏
4.3.2.聚类算法
选择K-means算法作为分群的依据
◯ 用户推荐向量满足凸优化函数求解问题
◯ 算法的复杂度、数据量、以及机器资源的trade-off
◯ 可理解性和算法稳定性
4.3.3.cluster level可视化分析
核心指标层面可分为:
◯ 定性指标:从内容角度理解cluster人群偏好的兴趣,比如Top播放视频、Top收藏视频、投稿的随机抽样、词云、头像等
◯ 定量指标:从数量角度理解cluster人群的具体表现,优劣情况,比如年龄/性别/操作系统的数量分布,视频播放次数、视频完播次数、分享/评论/点赞/收藏率、活跃天数、留存率等。
4.3.4.人工标注
◯ 通过将用户在Cluster可视化分析中得出的定性+定量的结论进行标注cluster与tribe是一对多的关系,标注逻辑会被保存至之后周期性运行的任务中,方便用户快速查看标注后的指标数据,但是用户有必要每周确认匹配逻辑是否发生了迁移。
4.4.应用场景
◯ 用户群体的兴趣偏好,帮助理解站内人群的结构
◯ 内容消费情况,帮助理解哪些内容更受欢迎
◯ 发现核心群体,基于其喜欢的内容,指定增长策略