基于SLS中台的数据分析实战:带你玩转埋点数据

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 增长!增长!增长!业务增长是每一个创业者每天面临的最大问题。无论你的产品是APP,还是web,或者是小程序,只能不断的维持用户的增长,才能向资本市场讲出一个好故事,融资活下去。活到最后的产品,才有机会盈利。日志服务提供了强大的数据采集和分析的能力,然你轻松搞定运营分析数据,给业务插上一对翅膀!!!

增长关乎产品的存亡

增长!增长!增长!业务增长是每一个创业者每天面临的最大问题。无论你的产品是APP,还是web,或者是小程序,只能不断的维持用户的增长,才能向资本市场讲出一个好故事,融资活下去。活到最后的产品,才有机会盈利。

为了获取用户的增长,可以投放广告,也可以内容营销、社交传播、销售地推,或者持续的专注于产品优化。无论哪一种方式,我们都面临这几个问题:

    1. 运营活动,覆盖了多少用户?
    1. 多少用户,开始使用产品?
    1. 多少用户付费?
    1. 多少用户持续的活跃?
    1. 下一步,我们应该把精力放在哪些方面?是持续运营?还是开发新功能?

image.png

如果不能回答这些问题,无疑我们的运营活动或者开发就是盲人摸象,完全靠运气。为了解答这些问题,我们不妨关注一下growth hacking这种数据驱动的手段。

image.png


(快速增长只是冰山一角,冰山之下是各个需要优化的细节。)

改变思维行为、拥抱GrowthHack

“增长黑客”是一个跨越营销漏斗、产品开发、销售部门和业务其他领域的快速试验过程,以确定最有效的方式来发展业务。增长黑客团队由市场营销人员、开发人员、工程师和产品经理组成,他们专门致力于建立和吸引企业的用户群。

一种通过创造性的方法、科学的数据分析工具,可以用极低的费用在短时间内吸引数以百万计的用户的增长方法。

1. 转化率思维

转化率思维指的是将一件事情看作触达量与转化率之乘积。一个广告触达到100w人,最终1w人做出了购买决定,这个过程转化率就是1%,100w×1%=1w。这种思维方式告诉大家

    1. 很多事情都要敢于尝试,说不定有人愿意买账
    1. 永远不要去用自己的想法推测大众,因为你的想法不能代表全部
    1. 不要希望让所有人满意,而要考虑让尽量多的人满意

2. 定量化思维

GH离不开定量化思维。GH的基本任务是回答以下几个问题:

    1. 我的这项做法,能够让目标量增长百分之多少?
    1. 我执行过的做法,已经让目标量增长了百分之多少?

在GH中采取的不同的措施该如何评价,则是完全取决于这些措施所带来的目标量改变的比较。在GH中,只有定量化思考的对象,才能获得提高。

3. 迭代化操作方式

迭代化的方式就是上面提到过的“小步快跑,知错就改”。

    1. 小步快跑指每次尝试的改变都是很小的改变,小到措辞,排版,颜色等等细节。如果一次计划中需要做出大规模的改变,则最好把这种大改变划分成诸多小步骤来做
    1. 知错就该,指的是获取反馈的思想。每次尝试小改变之后,都要敏锐的捕捉这次改变带来的定量效果,如果目标量得到提高,则保留这种改变,甚至加强这种改变;否则就要抛弃这种改变。其实这种做法很像自然界生物进化的过程,每次突变都是极小的改变,改变之后受到优胜劣汰的筛选,将优秀的改变保留。

image.png

采集哪些数据?

所谓埋点就是在应用中特定的流程收集一些信息,用来跟踪应用使用的状况,后续用来进一步优化产品或是提供运营的数据支撑,包括

  • • 访问数(Visits)
  • • 访客数(Visitor)
  • • 停留时长(Time On Site)
  • • 页面浏览数(Page Views)
  • • 跳出率(Bounce Rate)
  • • 渠道导流质量(网页/网站跳转、搜索跳转、扫码进入等)

这样的信息收集可以大致分为两种:

  • • 页面统计(track this virtual page view)
  • • 统计操作行为(track this button by an event)

image.png
image.png

device.first_time:  1597393921
device.height:  1098
device.id:  ffffffffffffffffffffffffffff0b38
device.language:  CN
device.width:  720
event.type:  ScanQrCode
ip:  100.68.107.134
os.platform:  Android
os.user_agent:  Mozilla/5.0 (iPhone 4; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 MQQBrowser/7.5.1 Mobile/11A465 Safari/8536.25 MttCustomUA/2 QBWebViewType/1
referer:  http://www.host8.com/def
referer.type:  
session.id:  ffffffffffffffffffffffffffff0b383
session.start_time:  1597393921
site.host:  www.aliyun.com
site.title:  日志服务文档中心
site.url:  http://www.aliyun.com/page_2
uid:  985912

GrowthHacking运营大盘

1. 数字化北极星指标

• 先明确我们的北极星指标

“North Star Metric” 北极星指标,又叫做“OMTM” One metric that matters, 唯一重要的指标。

之所以叫北极星指标,是因为这个指标一旦确立,就像北极星一样,高高闪耀在天空中,指引着全公司上上下下,向着同一个方向迈进。
明确我们当前的现状是什么?每周的AU是多少?每天的UV是多少?同前一天的比较?同前一周的比较?

image.png


在上面的描述数据中,我们可以较为方便的使用SLS计算出对应的指标
• 通过下面的SQL和刻度盘的配合使用我们可以得到WAU的计算结果
* | 
select 
  uv, 
  1000000.0 as total 
from 
  (
    select 
      approx_distinct(uid) as uv 
    from 
      log
  )

image.png

• 通过同比函数我们能较为容易的实现对比前一天的观测指标的差异大小

* | 
select 
  diff[1], 
  diff[2], 
  round(diff[3] * 100 - 100, 2) 
from 
  (
    select 
      compare(uv, 86400) as diff 
    from 
      (
        select 
          approx_distinct(uid) as uv 
        from 
          log
      )
  )

image.png

同理,本周AU和上周AU之间的对比图可以通过调整数据观测的时间范围就可以实现了
• 我们也要关注下最近两个月,每天的DAU的变化

* | 
select 
  date_format(t, '%Y-%m-%d') as t, 
  uv 
from 
  (
    select 
      date_trunc('day', __time__) as t, 
      approx_distinct(uid) as uv 
    from 
      log 
    group by 
      t 
    order by 
      t
  ) 
limit 
  10000

image.png

• 接下来我们针对DAU这个维度进行展开,去分析下,相邻两周的DAU增长情况

* | 
select 
  from_unixtime(diff[4]), 
  coalesce(diff[1], 0) as "本周", 
  coalesce(diff[2], 2) as "上周", 
  round(
    coalesce(diff[3], 0)* 100 - 100, 
    2
  ) as "增长比例" 
from 
  (
    select 
      ts_compare(uv, 604800) as diff 
    from 
      (
        select 
          date_trunc('day', __time__) as t, 
          approx_distinct(uid) as uv 
        from 
          log 
        group by 
          t
      ) 
    group by 
      t
  )

image.png

2. 留存分析

留存的重要时点:

  • 1.0 次日留存
  • 2.0 周期(一个完整的使用周期)留存

留存指标重要的核心原因

  • 1.0 拉新、渠道的优化等:也许会提高一定的留存率。
  • 2.0 产品功能设计能否满足客户的核心需求:上一步的留存到底能不能留下来。
  • 3.0 产品设计更好的、更快的、更方便地满足客户的核心需求。

    image.png

image.png
image.png

• 七日留存率的计算

* | 
select 
  date_format(x.day, '%Y-%m-%d') as "日期", 
  x.regist_num as "新用户数", 
  round(y.day2 * 100.0 / x.regist_num, 1) as "次日留存", 
  round(y.day3 * 100.0 / x.regist_num, 1) as "3日留存", 
  round(y.day5 * 100.0 / x.regist_num, 1) as "5日留存", 
  round(y.day7 * 100.0 / x.regist_num, 1) as "7日留存" 
from 
  (
    select 
      date_trunc('day', __time__) as day, 
      count(DISTINCT uid) as regist_num 
    from log 
    group by day 
    order by day desc
  ) x 
  join (
    select 
      a.day as day, 
      count_if(
        date_diff('day', a.day, b.day)= 1
      ) as day2, 
      count_if(
        date_diff('day', a.day, b.day)= 2
      ) as day3, 
      count_if(
        date_diff('day', a.day, b.day)= 4
      ) as day5, 
      count_if(
        date_diff('day', a.day, b.day)= 6
      ) as day7 
    from 
      (
        select 
          uid, 
          date_trunc('day', __time__) as day 
        from log 
        group by day, uid
      ) a 
      join (
        select 
          uid, 
          date_trunc('day', __time__) as day 
        from log 
        group by day, uid
      ) b on a.uid = b.uid 
      and (
        date_diff('day', a.day, b.day) = 1 
        or date_diff('day', a.day, b.day) = 2 
        or date_diff('day', a.day, b.day) = 4 
        or date_diff('day', a.day, b.day) = 6
      ) 
    group by day 
    order by day
  ) y on x.day = y.day 
order by y.day

• 留存率曲线的计算

* | 
select 
  days, 
  counts, 
  round(
    counts * 100.0 /(
      min_by(counts, days) over()
    ), 
    2
  ) as "留存率%" 
from 
  (
    select 
      date_diff('day', a.day, b.day) as days, 
      count(1) as counts 
    from 
      (
        select 
          uid, 
          date_trunc('day', __time__) as day 
        from log 
        group by day, uid
      ) b 
      join (
        select 
          * 
        from 
          (
            select 
              *, 
              min(day) over() as m 
            from 
              (
                select 
                  uid, 
                  date_trunc('day', __time__) as day 
                from log 
                group by day, uid
              )
          ) 
        where 
          day = m
      ) a on a.uid = b.uid 
      and (
        date_diff('day', a.day, b.day) >= 0 
        and date_diff('day', a.day, b.day) <= 7
      ) 
    group by days 
    order by days
  )

• 不同省份留存率曲线的计算

* | 
select 
  province, 
  days, 
  counts, 
  round(
    counts * 100.0 /(
      min_by(counts, days) over()
    ), 
    2
  ) as "留存率%" 
from 
  (
    select 
      province, 
      date_diff('day', a.day, b.day) as days, 
      count(1) as counts 
    from 
      (
        select 
          uid, 
          date_trunc('day', __time__) as day 
        from log 
        group by day, uid
      ) b 
      join (
        select 
          * 
        from 
          (
            select 
              *, 
              min(day) over() as m 
            from 
              (
                select 
                  ip_to_province(ip) as province, 
                  uid, 
                  date_trunc('day', __time__) as day 
                from log 
                group by province, day, uid
              )
          ) 
        where 
          day = m
      ) a on a.uid = b.uid 
      and (
        date_diff('day', a.day, b.day) >= 0 
        and date_diff('day', a.day, b.day) <= 7
      ) 
    group by days, province 
    order by days
  ) limit 10000

3. 漏斗分析

漏斗分析是一套流程式数据分析,它能够科学反映用户行为状态以及从起点到终点各阶段用户转化率情况的重要分析模型。漏斗分析模型已经广泛应用于流量监控、产品目标转化等日常数据运营与数据分析的工作中。

例如在一款产品服务平台中,直播用户从激活APP开始到花费,一般的用户购物路径为激活APP、注册账号、进入直播间、互动行为、礼物花费五大阶段,漏斗能够展现出各个阶段的转化率,通过漏斗各环节相关数据的比较,能够直观地发现和说明问题所在,从而找到优化方向。

image.png

(
  os.platform : iOS 
  or os.platform :Android
) 
and event.type :click 
and (
  event.target : register 
  or event.target : button_19 
  or event.target :button_18 
  or event.target : button_17 
  or event.target : button_16 
  or event.target : button_15 
  or event.target : button_14 
  or event.target : button_13 
  or event.target : button_12 
  or event.target : button_11
) | 
select 
  "event.target" as target, 
  count(1) as click_count 
group by 
  target 
order by 
  strpos(
    'register,button_19,button_18,button_17,button_16,button_15,button_14,button_13,button_12,button_11', 
    "event.target"
  )

4. 事件分析

事件分析法的应用领域非常广泛,不同学者从本领域视角对其进行了阐述。事件研究是根据某一事件发生前后的资料统计,采用特定技术测量该事件影响性的一种定量分析方法。

运营当中的事件分析,是追踪或记录的用户行为或业务过程的。举个栗子,一个电商产品可能包含如下事件:用户注册、浏览商品、添加购物车、支付订单等。
事件细分:对某一行为的无限细分,定位影响行为的因素,也是对用户分群的过程。

• 浏览事件分析

image.png
image.png

• 注册事件分析

image.png

• 扫码事件分析

image.png

广告时间

大家在使用SLS中遇到的任何问题,请加钉钉群,我们有专门的日志服务机器人24小时在线答疑,还有火锅哥和烧烤哥专业支持!~ SLS微信公众号定期会发布各类日志、监控领域的技术分享文章并定期举行抽奖,欢迎小伙伴们关注~

另外欢迎对大数据、分布式、机器学习等有兴趣的同学加入,转岗、内推,来者不拒,联系邮箱 wuming.lgy@alibaba-inc.com !~

image.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
自然语言处理 小程序 数据挖掘
数据分析实战-Python实现博客评论数据的情感分析
数据分析实战-Python实现博客评论数据的情感分析
95 0
|
2月前
|
数据采集 存储 数据挖掘
Python 爬虫实战之爬拼多多商品并做数据分析
Python爬虫可以用来抓取拼多多商品数据,并对这些数据进行数据分析。以下是一个简单的示例,演示如何使用Python爬取拼多多商品数据并进行数据分析。
|
2月前
|
数据采集 数据挖掘 API
主流电商平台数据采集API接口|【Python爬虫+数据分析】采集电商平台数据信息采集
随着电商平台的兴起,越来越多的人开始在网上购物。而对于电商平台来说,商品信息、价格、评论等数据是非常重要的。因此,抓取电商平台的商品信息、价格、评论等数据成为了一项非常有价值的工作。本文将介绍如何使用Python编写爬虫程序,抓取电商平台的商品信息、价格、评论等数据。 当然,如果是电商企业,跨境电商企业,ERP系统搭建,我们经常需要采集的平台多,数据量大,要求数据稳定供应,有并发需求,那就需要通过接入电商API数据采集接口,封装好的数据采集接口更方便稳定高效数据采集。
|
2天前
|
供应链 搜索推荐 数据挖掘
Pandas实战案例:电商数据分析的实践与挑战
【4月更文挑战第16天】本文通过一个电商数据分析案例展示了Pandas在处理销售数据、用户行为分析及商品销售趋势预测中的应用。在数据准备与清洗阶段,Pandas用于处理缺失值、重复值。接着,通过用户购买行为和商品销售趋势分析,构建用户画像并预测销售趋势。实践中遇到的大数据量和数据多样性挑战,通过分布式计算和数据标准化解决。未来将继续深入研究Pandas与其他先进技术的结合,提升决策支持能力。
|
2天前
|
存储 数据可视化 数据挖掘
实战案例:Pandas在金融数据分析中的应用
【4月更文挑战第16天】本文通过实例展示了Pandas在金融数据分析中的应用。案例中,一家投资机构使用Pandas加载、清洗股票历史价格数据,删除无关列并重命名,将日期设为索引。接着,数据被可视化以观察价格走势,进行基本统计分析了解价格分布,以及计算移动平均线来平滑波动。Pandas的便捷功能在金融数据分析中体现出高效率和实用性。
|
16天前
|
人工智能 监控 数据可视化
【Python】Python商业公司贸易业务数据分析可视化(数据+源码)【独一无二】
【Python】Python商业公司贸易业务数据分析可视化(数据+源码)【独一无二】
|
1月前
|
存储 数据采集 数据挖掘
python数据分析——数据分类汇总与统计
数据分类汇总与统计是指将大量的数据按照不同的分类方式进行整理和归纳,然后对这些数据进行统计分析,以便于更好地了解数据的特点和规律。
56 1
|
1月前
|
存储 SQL 数据挖掘
python数据分析——数据的选择和运算
在数据分析中,数据的选择和运算是非常重要的步骤。数据选择和运算是数据分析中的基础工作,正确和高效的选择和运算方法对于数据分析结果的准确性和速度至关重要。
42 0
|
1月前
|
JSON 数据挖掘 数据格式
python数据分析——数据分析的数据的导入和导出
数据分析的数据的导入和导出是数据分析流程中至关重要的两个环节,它们直接影响到数据分析的准确性和效率。在数据导入阶段,首先要确保数据的来源可靠、格式统一,并且能够满足分析需求。这通常涉及到数据清洗和预处理的工作,比如去除重复数据、处理缺失值、转换数据类型等,以确保数据的完整性和一致性。
36 0
|
1月前
|
数据采集 数据可视化 数据挖掘
python数据分析——业务数据描述
业务数据描述将从统计学角度来分析这指标。利用统计方法,数据分析人员可以通过相应统计模型开展数据分析。数据分析过程包括数据收集,数据处理,数据探索,模型方法应用,分析结果数据展现及形成分析报告。 业务报表是指对业务内容和数据的统计分析图表。统计图表代表了一张图像化的数据,形象地呈现数据。我们常常提到的可视化分析图表一般包括比较类图表,占比类图表,相关类图表和趋势类图表。
36 1

相关产品

  • 日志服务