zoukankan      html  css  js  c++  java
  • 数据分析杂谈

    注:本文同步发布于微信公众号:stringwu的互联网杂谈 数据分析杂谈
    笔者只是一个客户端工程师,不是专业的数据分析师,只是碰巧在工作中与数据打交道比较多,做过客户端的数据传输SDK,客户端无埋点SDK,写过hive脚本,也折腾过spark,也做过不同通道数据的差异分析,仅此而已。本文试图从笔者自身有限的经历中,给大家普及些数据分析的入门知识。

    分割线
    ——————————————————————————

    什么是数据分析?数据分析说白了就是让数据变成生产力的一部分,是从海量的数据中窥视背后的业务逻辑,寻找出新的业务增长目标,或者及时发现业务潜在的问题。数据分析其实是服务于业务需求的,脱离了业务需求的数据分析就是在“打黑工”。

    本文会尝试从数据分析的流程,分析技能,名词,指标体系,分析方法,商业化模型几个方面简要介绍数据分析涉及到一些知识。

    1 数据分析流程

    数据分析流程是一个思维框架,主要帮助和指导我们如何去做数据分析。目前业务数据分析标准流程为CRISP-DM(Cross-industry standard process for data mining) 数据分析wiki;整个分析流程分为六个部分

    • 业务理解(business understanding)
    • 数据理解(data understanding)
    • 数据准备(data preparation)
    • 建立模型(modeling)
    • 评估模型(evaluation)
    • 部署(deployment)

    1.1 业务理解

    业务理解核心是理解业务的背景,并评估分析需求是否可落地为数据分析项目。比如如果想要分析push的到达率,则需要理解消息在整个push系统会经过哪几个路径,从在线push到第三方离线push,从客户端收到push消息,到push消息的处理,再到push消息的展现,这里的每一个行为路径都可能会引起到达率的变化。理解了push系统的运行机制,才有可能对push的到达率去进行分析落地。

    1.2 数据理解

    • 数据收集:抽取的数据必须能够正确反映业务需求,否则分析结论会对业务造成误解
    • 数据清洗:原始数据中存在数据缺失和脏数据,如果不处理会导致模型失效,因此对数据通过过滤“去噪”,从而提取出有效数据;
      还是以push到达率的分析为例子,数据收集则是收集到达每个路径时的push消息的数据,并且能用唯一标识对push在路径上的表现进行串联。

    1.3 数据准备

    • 数据探索:通过统计方法对数据进行处理分析,发现数据内部的规律;
    • 数据转换:为达到模型的输入数据要求,需要对数据进行转换,包括生成衍生变量、一致化、标准化等;

    如特征描述,分布特性

    1.4 建立模型

    • 选择方法、工具、建立模型:综合考虑业务需求精度,数据情况,成本等因素,选择最适合的模型,在实践中对于一个分析目的,往往需要运用多个模型,然后通过后续的模型评估,进行优化、调整,以寻求最合适的模型;
      如:
      • 分析与回归:svm算法,
      • 聚类分析
      • 关联分析
      • 时序模型
      • 结构优化

    1.5 模型评估

    • 建模过程评估:对模型的精度、准确性、效率和通用性进行评估;
    • 模型结果评估:评估是否有遗漏的业务,模型结果是否回答了当初的业务问题,需要结合业务进行评估;

    1.6 应用

    • 分析结果应用:将模型应用于业务实践,才能解决业务问题,并实现数据分析的真正价值
    • 分析模型改进:对模型应用效果的及时跟踪和反馈,以便后期的模型调整和优化;

    所有的数据分析问题,不管是技术数据,还是产品数据都可以按照这个流程去进行分析,该流程可以很清晰地指导每一步需要做什么,不会毫无头绪,不知道从哪里入手去进行分析;

    2 常用名词

    • ROI(return on investment):投资回报率
    • LTV(life time value):用户生命周期价值(用户在使用应用时能贡献多少收入)
    • ARPU(average revenue per user) :每个用户的平均价值
    • CTR(click through rate) :点击通过率(点击/曝光)
    • CPM(cost per mille) : 广告千次曝光成本
    • CPC(cost per click) :点击成本
    • CPA(click per action) :一个动作的点击成本

    3 数据指标体系

    数据指标体系是指针对一种具体的业务场景,为了完成该场景的分析目标(分析问题和解决问题),搭建的技术体系,将业务的不确定性的描述转化为确定性的数据描述。
    我们在建立数据指标体系时,最好需要包含一个指标文档,文档里需要有以下内容:

    • 指标:说明这是什么指标,如点击通过率;
    • 指标口径:该指标是怎样统计出来的,数据来源是哪里;
    • 代码计算:核心的sql语句
    • 备注:某些事项的文档化,如指标口径更改等;
    • 责任人:该指标是谁负责的,可包括具体的产品,研发,数据分析的同学;

    3.1 互联网常见的指标体系

    3.1.1 基础指标

    • 日活 :每日活跃的用户数(设备数),可区分UV 和PV
    • 新增 : 每日新增的用户数(设备数);
    • PV (page visit) :用户每浏览一次,则记录为一个PV,同一用户多次浏览会记录多个PV
    • UV (user visit) : 一个用户浏览算一次UV,同一用户多次浏览只会记录一个UV;
    • 时长和次数:如单次访问时长,人均访问时长,人均访问次数
    • 留存率:次日留存、7日留存、30日留存;

    3.2.1 内容指标

    • 请求数 : 每天该内容的请求数;
    • 曝光数 :每天该内容的实际曝光数(用户可见)
    • 点击数 :用户对该内容的互动点击数
    • 评论 :用户对该内容的互动评论数
    • 分享 :用户对该内容的互动分享数
    • 点赞:用户对该内容的互动点赞数

    3.2.2 渠道指标

    • 有效新增 : 每个渠道带来的实际用户数;(如通过该渠道进行首次注册,登录等行为)
    • 留存率(次日留存,7日留存,30日留存):主要用来评价该渠道的质量
    • 渠道单价 : 每带来一个用户的实际支付价格;
      我们可以根据这几个指标去衡量一个渠道的好坏,在投放时根据渠道的质量,对优质渠道增加投放,减少甚至不投放劣质的渠道。

    4 数据分析技能

    数据分析需要具备一定的理论知识和分析思维

    4.1 理论知识

    • 概率相关:独立事件、相关事件、期望、贝叶斯等
    • 概率分析:离散概率分布,连续概率分布;
    • 统计推断:置信区间、假设检验、抽样

    4.2 分析思维

    • 漏斗思维 :
    • 分类思维 : 对用户进行划分,如根据年龄,地域,爱好等进行划分分析;
    • 平衡思维
    • AB test : 实验行为;

    5 分析框架与方法

    5.1 数据分析方法

    • 结构分析法:如按人群划分;
    • 对比分析:同比,环比,需要有对应的柱状图;
    • 时序序列分析:按照事件时间分析,对应折线图;
    • 密度分布:服务什么分布,对应的分布图;
    • 相关分析法:如留存率与文章质量,对应散点图 + 折线图

    5.2 数据分析模型

    5.2.1 RFM模型

    RFM(Recency,Frequency,Money)模型一般是用于筛选出需要重点运营的用户:

    • Recency:最近一次消费时间 ,一般以周或双周为单位
    • Frequency : 消费频率,固定周期的消费次数,一般以月或者双月为单位;
    • Money:消费的金额,一般以月或者双月为单位

    一般可以通过对RFM数据进行标准化标准化,把RFM模型变为打分模型,通过可以有效圈选出可持续运营的高质量用户

    5.2.2 AARRR模型

    • Acquistion :获取(渠道分析,用户如何发现你的产品)
    • Activation :激活(启动运营分析,用户第一次使用体验如何)
    • Retention:提高留存:(留存分析,用户是否会重复使用产品)
    • Revenve :收入(商业化分析,怎样赚钱)
    • Reter : 自传播(裂变分析,用户是否愿意告诉其他用户)

    作用:找到增长的切入点,拉新,提频,收入;

    5.2.3 用户生命周期模型

    • 导入期 :已完成注册,但还没有深入体验产品功能或服务的用户(可通过登录次数和访问时长等指标是衡量)
    • 成长期:已经较深入体验产品相关的服务或功能,并完成首次关键行为的用户(关键行为可以是一个下载,一个互动,视业务而定);
    • 成熟期:已经发生多次付费行为的用户(每个用户价值的巅峰,能贡献最多的活跃时长和营收)
    • 休眠期:曾经是成熟用户,但一段时间内未产生有价值的行为(有价值的行为也视业务而定,可以是下载,互动,付费等行为);
    • 流失期:超过一段时间未登录和访问的用户(视业务形态而定,需要明确流失定义和关键行为,如超过一个月未登录等)

    可以通过对用户行为数据的分析,对用户进行分类,进而视当前产品所处阶段,采用不同的运营手段;

    6 总结

    本文只是笔者在工作时,作为业余的爱好进行的学习总结,相对比较基础,可视为小白了解数据分析的一个参考文章。如果需要深入数据分析领域还需要专门的系统化学习。

  • 相关阅读:
    [Go] golang 两个数组 list 的合并方式
    [Go] assignment count mismatch 1 = 2
    [Go] golang 时间格式化 12小时制 与 24小时制
    [Go] freecache 设置 SetGCPercent 的作用
    [FAQ] Vue 如何控制标签元素的某个属性的显示 ?
    [FE] 实时视频流库 hls.js 重载切换资源的方式
    [FE] 关于网页的一些反爬手段的解析思路,比如 58 等
    [Go] 让 go build 生成的可执行文件对 Mac、linux、Windows 平台一致
    [Go] go build 减小二进制文件大小的几种方式
    [Go] gin-jwt 业务逻辑中使用实例化的 middleware 的方式
  • 原文地址:https://www.cnblogs.com/WoodJim/p/13697301.html
Copyright © 2011-2022 走看看