悟冥
2020-08-28
678浏览量
增长!增长!增长!业务增长是每一个创业者每天面临的最大问题。无论你的产品是APP,还是web,或者是小程序,只能不断的维持用户的增长,才能向资本市场讲出一个好故事,融资活下去。活到最后的产品,才有机会盈利。
为了获取用户的增长,可以投放广告,也可以内容营销、社交传播、销售地推,或者持续的专注于产品优化。无论哪一种方式,我们都面临这几个问题:
如果不能回答这些问题,无疑我们的运营活动或者开发就是盲人摸象,完全靠运气。为了解答这些问题,我们不妨关注一下growth hacking这种数据驱动的手段。
(快速增长只是冰山一角,冰山之下是各个需要优化的细节。)
“增长黑客”是一个跨越营销漏斗、产品开发、销售部门和业务其他领域的快速试验过程,以确定最有效的方式来发展业务。增长黑客团队由市场营销人员、开发人员、工程师和产品经理组成,他们专门致力于建立和吸引企业的用户群。
一种通过创造性的方法、科学的数据分析工具,可以用极低的费用在短时间内吸引数以百万计的用户的增长方法。
转化率思维指的是将一件事情看作触达量与转化率之乘积。一个广告触达到100w人,最终1w人做出了购买决定,这个过程转化率就是1%,100w×1%=1w。这种思维方式告诉大家
GH离不开定量化思维。GH的基本任务是回答以下几个问题:
在GH中采取的不同的措施该如何评价,则是完全取决于这些措施所带来的目标量改变的比较。在GH中,只有定量化思考的对象,才能获得提高。
迭代化的方式就是上面提到过的“小步快跑,知错就改”。
所谓埋点就是在应用中特定的流程收集一些信息,用来跟踪应用使用的状况,后续用来进一步优化产品或是提供运营的数据支撑,包括
这样的信息收集可以大致分为两种:
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
• 先明确我们的北极星指标
“North Star Metric” 北极星指标,又叫做“OMTM” One metric that matters, 唯一重要的指标。
之所以叫北极星指标,是因为这个指标一旦确立,就像北极星一样,高高闪耀在天空中,指引着全公司上上下下,向着同一个方向迈进。
明确我们当前的现状是什么?每周的AU是多少?每天的UV是多少?同前一天的比较?同前一周的比较?
* |
select
uv,
1000000.0 as total
from
(
select
approx_distinct(uid) as uv
from
log
)
• 通过同比函数我们能较为容易的实现对比前一天的观测指标的差异大小
* |
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
)
)
同理,本周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
• 接下来我们针对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
)
留存的重要时点:
留存指标重要的核心原因
• 七日留存率的计算
* |
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
漏斗分析是一套流程式数据分析,它能够科学反映用户行为状态以及从起点到终点各阶段用户转化率情况的重要分析模型。漏斗分析模型已经广泛应用于流量监控、产品目标转化等日常数据运营与数据分析的工作中。
例如在一款产品服务平台中,直播用户从激活APP开始到花费,一般的用户购物路径为激活APP、注册账号、进入直播间、互动行为、礼物花费五大阶段,漏斗能够展现出各个阶段的转化率,通过漏斗各环节相关数据的比较,能够直观地发现和说明问题所在,从而找到优化方向。
(
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"
)
事件分析法的应用领域非常广泛,不同学者从本领域视角对其进行了阐述。事件研究是根据某一事件发生前后的资料统计,采用特定技术测量该事件影响性的一种定量分析方法。
运营当中的事件分析,是追踪或记录的用户行为或业务过程的。举个栗子,一个电商产品可能包含如下事件:用户注册、浏览商品、添加购物车、支付订单等。
事件细分:对某一行为的无限细分,定位影响行为的因素,也是对用户分群的过程。
• 浏览事件分析
• 注册事件分析
• 扫码事件分析
大家在使用SLS中遇到的任何问题,请加钉钉群,我们有专门的日志服务机器人24小时在线答疑,还有火锅哥和烧烤哥专业支持!~ SLS微信公众号定期会发布各类日志、监控领域的技术分享文章并定期举行抽奖,欢迎小伙伴们关注~
另外欢迎对大数据、分布式、机器学习等有兴趣的同学加入,转岗、内推,来者不拒,联系邮箱 wuming.lgy@alibaba-inc.com !~
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。