layout | category | tags | title | |||
---|---|---|---|---|---|---|
post |
datascience |
|
Data Usage - User Behavior Analysis Note |
-
产品数据分析
-
增长黑客
- 增长黑客是介于技术和市场之间的新型团队角色,主要依靠技术和数据的力量来 达成各种营销目标,而非传统意义上靠砸钱来获取用户的市场推广角色。
- 提出基于产品本身的改 造和开发策略,以切实的依据、低廉的成本、可控的风险来达成用户增长、活跃度上升、收 入额增加等商业目的。简单来说,就是低成本甚至零成本地用“技术”来让产品获得有效增长。
-
精益数据分析
-
数据分析离不开对企业关键指标的跟踪
-
好的数据指标是比较性的/简单易懂的/一个比率
-
好的数据指标是用来改变行为
-
定量数据排斥主观因素;定性数据吸纳主观因素
-
选择可付诸行动的指标,放弃虚荣指标
- 总用户数 - 虚荣指标
- 总活跃用户数 - 虚荣指标(如何定义活跃)
- 活跃用户与总用户数的占比 - 可行动指标(用户参与度)
- 新用户增速 - 可行动指标(单位时间内新用户数量)
-
为什么增速比总量更有价值?
-
先见性数据指标与后见性数据指标
-
用户流失量是非常重要的指标
-
相关性指标与因果性指标
-
如何证明因果关系:找到一个相关性,进行控制变量试验并测量因变量的变化
-
数据分析测试就是通过市场细分,同期群分析,A/B测试与多变量分析
- 细分市场就是寻找一群拥有共同特征的人
- 比较的是相似群体随时间的变化(趋势)
- 同期群分析使你能够观察处于生命周期不同阶段客户的行为模式
- 假如其他条件保持不变,仅考虑体验中的某一属性对被试用户的影响,就是A/B测试
A/B 测试,网站活跃率提升的法宝
所谓 A/B 测试,简单说来就是针对想调研的问题提供两种不同的备选解决方案(比如两个下 单页面),然后让一部分用户使用方案 A,另一部分用户使用方案 B,最终通过数据观察对 比确定最优方案。
提供两个方案并行测试。 不同方案之间只存在一个变量,排除其他干扰因素。 以某种标准判定结果优劣,筛出最优方案。
移动APP如何做A/B测试?
问题:什么是好的数据指标?你们现有的数据指标哪些是有效的,哪些可能是无效的?
人类提供灵感,机器负责验证 优化的核心是找到给定函数的最大值与最小值
需要关注的指标:
- 获取用户(Acquisition)
- 提高活跃度(Activation)
- 提高留存率(Retention)
- 获取营收(Revenue)
- 自传播(Referral)
黏性性增长引擎
让用户成为回头客,衡量黏性最重要的KPI就是客户留存率
病毒式增长引擎
关键指标是指每个用户所带来的新用户数
种子用户/内容营销
内容营销的作用:吸引流量、培养潜在用户、劝诱转化。
有效的品牌曝光
产品的易获得性-二维码out 免费WIFI怎么样
付费式增长引擎
客户终生价值(CLV)和客户获取成本(CAC)
长漏斗分析法
漏斗模型-转化漏斗
OMTM(One Metric That Matters-第一关键指标)
营销就是更频繁地向更多人销售更多的商品,从而更有效地赚到更多的钱
如果新用户获取的边际成本很低,免费增值的商业模式效果更佳,前提是能够区分深度用户与普通用户
流程:确认商业模式->选择合适的数据指标->用户行为数据分析->获取可行动的指标->执行优化产品收入
商业模式一:电子商务
转化漏斗-Omniture和Google Analytics
年度重复购买率
用户获取模式 <40%
混合模式 40%-60%
忠诚度模式 >60%
商业模式二:Saas
客户获取成本(CAC)和客户终身价值(CLV)的两个必备指标
商业模式三:免费移动应用
安装量
开机率
活跃用户比例
用户平均每月营收(ARPU)
病毒传播性
流失率
商业模式四:媒体网站
访客浏览与流失率
广告点击与效果
商业模式五:用户生成内容UGC
参与度漏斗
商业模式六:双边市场
是搭平台还是自己玩
买卖双方的人数增长-活跃度
搜索有效性
转化漏斗
变现方式导致计算客户终身价值(CLV)的方式不同
移情->是否足够了解目标客户
黏性->关注黏性与参与度->目标留存率
病毒性->
原生病毒性
人工病毒性
口碑病毒性
病毒传播系数
黑客式营销(增长黑客)->
可在用户生命周期早期开始测量的指标
找到先行指标
一个月内至少访问一次的'活跃'用户,以及一个月至少访问七次的'核心'用户
先行指标应与商业模式的某部分明显相连
可以通过市场细分和同期群分析找到先行指标
营收-> 规模性->
确定商业模式,通过数据分析跟踪并优化当前的产品第一关键指标
如何制定数据指标的阈值
- 客户月流失率低于5%
- 客户获取成本(CAC)和客户终身价值(CLV)的比值小于1/3 0.2%~2%
- 每周增长率5%~7%良好,优秀10%以上
- 病毒式增长前要有黏性,而扩张前要有病毒性
- 参与度:要致力于让30%的注册用户每月都访问一次,让10%的注册用户每天都来访问
- 病毒性:每个现有用户成功邀请了多少新用户(即病毒式传播系数)和他花多长时间才会邀请用户(即病毒传播周期)
- 成功的营销活动应达到20%-30%的打开率和超过5%的点击率
流失率,参与度和追加销售指标
最优方案是根据用户行为分析,针对客户调整市场营销方案 免费增值模式通常用于让产品获得认可和注意力
- 流失率:阈值在5%,优秀的应用的月均用户流失率通常在1.5%-2%
- 参与度:活跃用户定义-在最近一个月的时间里使用过产品的用户
- 如何提高用户的产品转换成本,增大产品黏性
参与度 黏性 转化率 访客/用户/客户转化漏斗
平均每位客户营收=客户终身价值-客户获取成本 客户获取成本 病毒性 系统正常运行时间和可靠性 流失率 客户终身价值
客户获取成本(CAC)和客户终身价值(CLV)的两个必备指标
1.采集产品用户行为数据-如何采集/埋点 2.设计应用数据指标与数据模型 3.分析数据指标判定 4.使用常用分析工具解析 5.BI数据分析与数据可视化 6.营销优化与数据挖掘特征提取 7.详细分析应用价值
数据分析三重境界:
- 统计计数
- 多维分析
- 机器学习
Google Analytics
- 页面浏览量(Page View):网站在某一段时间内的页面浏览量是多少。
- 用户浏览量(User View):网站在某一段时间内的用户浏览量是多少。
- 渠道来源(Traffic Sources):用户流量来源于哪些不同的渠道。
- 访客特征(User Demographics):访问用户具有哪些特征值,可用来做用户分类。
- 访问路径(Flow Report):用户在网站上的访问行为,各个页面的进入率和跳出率。
点击行为热点图
Mixpanel/KissMetrics
- 用户动态分析(Trends):你关心的用户行为发生了多少次,占总比例多少。
- 行为漏斗模型(Funnels):某些关键行为是怎么发生了,每一步有多少的留存率和流失率。
- 用户活跃度(Cohorts):网站用户的活跃度如何,可以用来区分忠实用户和普通用户。
- 单用户行为分析(People):单个用户在网站上做了哪些操作,过程是如何的。
UserCycle
- 统计分析(Trends)和用户分组(Cohorts)
- 分组实验测试(Split-Test Experiments)
Optimize.ly
Optimize.ly 是 A/B 测试的利器
Optimize.ly 会根据用户行为的不同,给出不同的测试报告,让我们能 真真切切地了解页面变化对于转化率的影响
http行为监控 - 友盟/百度指数/淘宝指数
友盟
友盟统计分析平台是国内最大的移动应用统计分析平台之一,能帮助移动应用开发者
统计和分析流量来源、内容使用、用户属性和各种细分的行为数据。
- Web用户分析工具 - GrowingIO / 诸葛IO / 神策数据
BI数据分析与数据可视化B
- 永洪BI/QuickBI/Superset/Kylin
- echart/D3.js
数据分析的统计计数和多维分析,我们通常称之为数据探索式分析,这个步骤旨在了解数据的特性,有助于我们进一步挖掘数据的价值。而基于我们对数据的理解,再引入机器学习的算法对数据做出预测就变得水到渠成了。
现实世界里,大部分的公司更多时间其实没有这个精力去搭建复杂的数据分析平台,面对快速变化的业务需求,很多数据工程师都把自己的青春埋葬在SQL里了。(其实我也是埋葬在SQL里的)
- 架构设计
看到如此惊艳的数据产品,想必你也很想自己动手做一个吧!让我们一起看看整体的架构。
- 后端
整个项目的后端是基于Python的,用到了Flask、Pandas、SqlAlchemy。
Flask AppBuilder(鉴权、CRUD、规则)
Pandas(分析)
SqlAlchemy(数据库ORM)
此外,也关注到Superset的缓存机制值得我们学习:
采用memcache和Redis作为缓存
级联超时配置
UI具有时效性控制
允许强制刷新
-
前端
自然前端是JS的天下,用到了npm、react、webpack,这意味着你可以在手机也可以流畅使用。 d3 (数据可视化) nvd3.org(可重用图表)
-
局限性
Superset的可视化,目前只支持每次可视化一张表,对于多表join的情况还无能为力 依赖于数据库的快速响应,如果数据库本身太慢Superset也没什么办法 语义层的封装还需要完善,因为druid原生只支持部分sql。
- 常规用户行为分析
- 深度用户行为分析
- 常规行为指标分析
- 行为Event分析
- 漏斗分析
- 留存分析
- 用户分布分析 (活跃度分析)
- 用户数据管理
漏斗分析模型已经 泛应 于渠道来源分析、 用户激活转化等 日常产品运营作中。
DAU与用户分布:日活只能告诉你用户数的变化,分布分析却能揭示单个用户对产品依赖程度的变化。
- 用户行为路径分析 (漏斗分析是一种特殊的行为路径分析)
- 用户分群与分层
- 用户画像分析
- 用户行为预测分析
- 行为数据类型
- 用户实时数据分析
用户分群与用户分布的差异
- 用户分布是针对用户的特定行为或事件进行人群分布
- 用户分群是针对用户个体行为特征添加同类别属性
漏斗模型可以看作是路径分析中的一种特殊情况,是针对少数人为特定模块与事件节点的路径分析 路径分析是对每一个用户的每一个行为路径进行跟踪与记录
用户行为路径分析的作用
- 用户典型路径识别与用户特征分析
- 产品设计的优化与改进
- 产品运营过程的监控
sunburst partition example
用户行为路径算法
较常用的用户行为路径算法:
- 基于关联分析的序列路径挖掘方法
- 社会网络分析
普通分群是依据用户的属性特征和行为特征将用户群体进行分类.
预测分群是根据用户以往的行为属性特征,运用机器学习算法来预测他们将来会发生某些事件的概率。
客户金字塔模型
5%/15%/20%/25%/35%
产品行为数据/交易行为数据/运营商行为数据
预测用户未来时间内的活跃用户和流失用户
- 预测部分1:现有客户的模型 通过将一个或多个生存模型应用到所有客户来起作用
- 即 第100天的留存率(1-风险概率(没有退出)) x 第101天的风险
- 预测部分2:新客户对于预测的影响
- 如何对新用户的开始情况的预估 (可通过已有用户相似性类比和行为特征进行分解)
未来活跃用户=用户活跃用户占比 x (1+活跃用户增速)
- 产品运营如何提高转化率和留存率 案例1 客户流失模型
- 如何让用户参与度增加 案例2 用户行为路径分析
- 客户获取成本如何计算 案例3 渠道分析与留存分析
- 客户终身价值如何计算 案例4 用户属性分析
NLP=通信系统+隐含马尔可夫模型(Hidden Markov Models)
该马尔可夫链服从马尔可夫性质:即无记忆性。也就是说,这一时刻的状态,受且只受前一时刻的影响,而不受更往前时刻的状态的影响。
数据挖掘算法模型的基础所在
哪些算法是基于规则算法? 为什么机器学习那么火?
挖掘算法模型是规则,统计信息和模式的集合 数据挖掘模型的选择 • 分类算法 - 逻辑回归/决策树/朴素贝叶斯/神经网络 = 基于数据集中的其他属性预测一个或多个离散变量。 • 最近邻算法 - 用户推荐/协同过滤 = 将数据划分为组或分类,这些组或分类的项具有相似的属性。 • 回归算法 - 线性回归 = 基于数据集中的其他属性预测一个或多个连续变量,如利润或亏损。 • 关联算法 - 关联分析 = 查找数据集中不同属性之间的相关性。 此类算法通常用于创建关联规则。 关联规则可用于购物篮分析。 • 时间序列分析算法 = 汇总数据中的常见序列或事件,如用户在浏览网站时所遵循的路径序列分析。
- 内容推荐与协同过滤
- 基于ItemCF的协同过滤
- 基于UserCF的协同过滤
- 基于机器学习的协同过滤
ItemCF与UserCF差异
- ItemCF是个性化,用户兴趣特征 (增长期:用于商品类目少)
- UserCF是社会化小群体相似度特征 (活跃期:用于用户多)
SparkMLlib中ALS算法实现协同过滤
行为离散需要分类
基于机器学习的协同过滤技术:目标在于填充“用户-商品”联系矩阵中的缺失项。 Spark.ml目前支持基于模型的协同过滤。Spark.ml使用交替最小二乘(ALS)算法(回归算法)来学习这些潜在因子。
显式与隐式反馈
基于矩阵分解的协同过滤的标准方法中,“用户-商品”矩阵中的条目是用户给予商品的显式偏好,例如,用户给电影评级。然而在现实世界中使用时,我们常常只能访问隐式反馈(如意见、点击、购买、喜欢以及分享等),在spark.ml中我们使用“隐式反馈数据集的协同过滤“来处理这类数据。本质上来说它不是直接对评分矩阵进行建模,而是将数据当作数值来看待,这些数值代表用户行为的观察值(如点击次数,用户观看一部电影的持续时间)。这些数值被用来衡量用户偏好观察值的置信水平,而不是显式地给商品一个评分。然后,模型用来寻找可以用来预测用户对商品预期偏好的潜在因子。
正则化参数
我们调整正则化参数regParam来解决用户在更新用户因子时产生新评分或者商品更新商品因子时收到的新评分带来的最小二乘问题。这个方法叫做“ALS-WR”它降低regParam对数据集规模的依赖,所以我们可以将从部分子集中学习到的最佳参数应用到整个数据集中时获得同样的性能。
客户流失分析分层
- 针对已流失的客户的特征分析习得
- 针对流失风险概率高的客户的行为预测
1.流失客户特征分析:
通过决策树算法,分析流失客户特征,然后通过这些特征,定义特征规则分类,得到用户流失的相关变量生成风险系数(活跃度/付费/用户内容等)
2.通过对对所有用户的风险系数评估得出用户流失的风险概率,把超过风险阈值的用户打标签为潜在流失客户
ln(P/1-P)=B + BX, 获取风险概率
3.逻辑回归:基于流失风险概率的行为预测(逻辑函数 S型)
最大拟然法拟合模型(计算公式取决于对数据的各种假设)
4.A/B测试验证客户流失分析效果
关联分析
从大规模数据中寻找物品间的隐含关系
提取用户关联的特定行为路径
前置:所有项目的组合概率值
-
支持度(Support)计算: 包含所有项目的组合情况在所有组合中的占比
-
置信度(Confidence)计算: 支持度 / 只包含左侧项目的情况在所有组合中的占比
-
提升度(Lift)计算: TGI = 置信度 / 只包含右侧项目的情况在所有组合中的占比
-
卡方验证计算
-
最小支持度:表示项目集在统计意义上的最低重要性
-
最小置信度:表示关联规则的最低可靠性
Aprior算法应用
先验原理(Apriori) 使用支持度对候选项集进行剪枝,系统地控制候选项集指数增长。 先验原理:如果一个项集是频繁的,则它的所有子集也一定是频繁的
找出存在于事务数据集中的最大频繁项集,在利用得到的最大频繁项集与预先设定的最小置信度阀值生成强关联规则
最大频繁项集是各频繁k项集中符合无超集条件的频繁项集。
FP-Growth算法(频繁模式增长)
使用了频繁模式树(Frequent Pattern Tree)的数据结构。 FP-tree是一种特殊的前缀树,由频繁项头表和项前缀树构成。所谓前缀树,是一种存储候选项集的数据结构,树的分支用项名标识,树的节点存储后缀项,路径表示项集。
FP-growth算法生成频繁项集相对Apriori生成频繁项集的主要好处就是速度快,能快到几个数量级;另一个好处就是用FP树存储数据可以减少存储空间,因为关联挖掘的数据集往往是重复性很高的,这就能带来很高的压缩比。
SparkMLlib: FPGrowth Library
用户在产品中产生的网络链接 每一个模块事件看作一个个节点,节点与节点之间通过各自的方式连接组成了一个特定的网络图,以下将基于这些网络结构的分析方法统称为社会网络分析。
- PageRank算法
- HITS算法(Hypertext-Induced Topic Search)
- Hilltop算法=PageRank算法+HITS算法
- ARC算法(automatic resource compilation)
- Hub平均算法(Hub Averaging Kleinberg)
这个价值评估模型如何设计?