前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据分析师如何自力更生统计用户行为频次?

数据分析师如何自力更生统计用户行为频次?

作者头像
刘娟娟PRESSone
发布2019-10-25 17:27:34
7900
发布2019-10-25 17:27:34
举报

不懂数据分析的 growth hacker 不是好运营。近日我想要统计我家产品 xue.cn 用户的编程自学行为的频次,且在不给技术开发部门带来任何新需求的情况下自力更生。那么,我该如何定义并统计这个数据指标呢?

1、定义学习这个行为。

某些行为是单个事件,某些行为是多种事件的组合。

xue.cn 用户的编程自学行为包括:完成某书一个章节的阅读、完成一道习题、获得一个成就、提交一次评论,完成一次心得打卡等,未来还会有更多。不过,虽然我们有聊天室,但因为使用的是 gitter ,所以数据采集并不容易,这个行为就暂忽略。

以上编程自学行为事件数据分布在产品数据库的多个表中。

2、日志数据的初步筛选。

通过在多个表中联合查询 user_id,事件发生日期得到每个 user_id 有学习行为的日期数据,我的 sql 语句是这么写的:

代码语言:javascript
复制
with data_study as( -- 获取有学习行为的用户名单及学习事件发生时间
    select 
        date(created_at) as time,
        user_id
    from user_comment
    union all
    select 
        date(created_at) as time,
        user_id
    from user_activity
    union all
    select 
        date(created_at) as time,
        user_id
    from study_card
)
select -- 获取学习用户的学习日期数据
    user_id,
    min(time) -- 某天有多次学习行为,仅取一条即可
from data_study
group by user_id,time
order by user_id

3、统计的基准线

游客体验功能是近期刚上线的。已有的学习行为数据,属于较早版本,那时用户产生学习行为的前提是至少完成一次时长兑换或小额RMB充值,所以本次我以用户首次付费的日期作为统计的基准线。

从日志数据筛选获取用户的首次付费日期数据,我的 sql 语句是这么写的:

代码语言:javascript
复制
with data as( -- 获取用户付费日期
    select 
        user_id,
        used_at as 付费日期
    from 
        free_coupons 
    where 
        user_id is not null 
    union all
    select 
        user_id,
        created_at as 付费日期
    from 
        rmb_order
    where order_status = 'PAY_SUCCESS'
)
select  -- 筛选付费用户的首次付费日期
    user_id,
    date(min(付费日期)) as reg_date
from
    data
group by 
    user_id

4、统计与分析

至此,有用的数据已从日志中初步筛选统计得到。接下来,用学习日期 - 首次付费日期得到血虚行为发生于首次付费后的第N天。其后统计:

  • A:首次付费后的第N天仍有学习行为的用户数。
  • B:首次付费后的第N周(取值0至8),学习天数达到M天(取值1至7)的的用户数。

A可作为付费版留存率数据。B则是学习频次分布数据。

因为我对复杂的 sql 运算还不熟练,所以实操时把第 2 和 3 步的结果从 grafana导出为 csv 文件,然后采用excel,部分指标则采用 python pandas完成演算。

5、精细选择用户群体

虽然当前 xue.cn 功能已经完善很多,其实我们是上半年刚立项,这半年多持续开发,某些学习功能在早期并未提供。于是,为了获取更可信、有效的数据,需要剔除早期批次的用户。

具体来说,根据用户首次付费日期,按月拆分用户批次,再拆分统计学习行为数据较为完善的近期批次数据。

6、小结

以上就是我完成 xue.cn 用户学习频次指标的指定与统计分析的实操过程。这次数据洞察探索,帮我发现好几处增长线索。

笔记的第4、5步对于运营、市场人员都是常用操作,我就不详细贴步骤或演算方式啦。而前面的第2、3步,我是通过 grafana 直接用查询语句与我们家产品的数据库交互。之前我写过一篇 grafana 的上手笔记,它还是相当简易的。——具体到我的本次需求来说,是否采用 grafana 不关键,grafana 只是一种工具,关键是要能与产品数据库交互拿到原始数据。

笔记虽然解决的是编程自学行为,是我家产品为用户所提供价值的核心表现,但思路也可借鉴用于其它产品、其它行为频次的统计。如果对你有帮助或启发,那就点赞或留言告诉我,鼓励我分享更多笔记吧!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、定义学习这个行为。
  • 2、日志数据的初步筛选。
  • 3、统计的基准线
  • 4、统计与分析
  • 5、精细选择用户群体
  • 6、小结
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档