产品更新迭代往往离不开数据。需求不是拍脑袋想的,效果不是用嘴吹的。用数据说话才靠谱。
本文摘要:
初入产品岗,怎么数据分析
求人不如求己:sql大法好
为什么要数据分析?
pm与数据的日常:
(1)完成日常数据报表,通过KPI来观测产品情况;
(2)数据变动时,进行归因分析;
(3)上线功能,从数据来进行评估;
(4)预测分析,为公司下一步布局提供决策依据。
怎么数据分析?
1.明确分析目标——
在数据分析前不妨问问自己:
此次的数据分析要针对什么问题?
分析后要达到什么目的?
对产品有什么实际意义?
2.对数据需求进行细化分析:
以此为例:【电商行业】你负责的网站新增了一项付费增值功能,该功能可帮助商家寻找潜在客户,并发出定制化私信,帮助商家精准定位用户,提升订单量。商家可自行选择是否开通。现在功能上线已有一段时间,想评估该功能的实际效果。
(1)确定分析指标:
产品的形态是电商网站(面向商家),那么反应新功能效果的指标有以下几个方面:
<1>反应网站收入变化的数据(实验桶与对照桶的diff)——评估收入影响
<2>商家对该功能使用情况——评估是否还有提升空间
<3>功能效果的相关指标:如商家ROI\商家订单量\私信点击率等——评估上线功能的效果,方便对策略进行调整
(2)确定分析范围。尤其是你需要分析的关键性指标,一定要明确你的分析范围,太泛泛的分析达不到实际效果。
例如——
需要每日数据还是周均数据?
需不需要对客户进行分类?以此观测同一策略对不同客户群体的影响,如行业划分、地域划分、消费能力划分。
3. 数据分析操作:
(1)获取数据
常见的数据来源:
<自己产品>
产品运营数据(online通过服务器上数据库——用户信息数据、产品信息数据、行为数据)
用户反馈、数据调查(offline)
<竞争产品>
网站流量(Alexa,艾瑞网)
公司财报
<行业>
行业分析报告(Alexa,艾瑞网)
热点大数据披露
(2)数据预处理(比如调查问卷,剔除无效问卷)
(3)数据统计与描述(趋势分析,比较分析,细分分析)
(4)得出结论,归因改进
(5)持续监控和反馈
那么问题来了,作为pm的你怎么开始最基础的一步-获取数据呢?
分析产品数据是常态,部分公司有专门可视化的数据平台供产品同学获取数据,但是当你需要的数据维度过细或者目前数据平台不支持你需要的字段时,你该如何?
向数据平台产品提出需求,增加你所需要的数据维度?——可是,远水救不了近火,项目迫在眉睫,此方法不可行。。。
求RD协助,从数据库中直接取数?——需要排期,同时还有沟通成本。
求人不如求己,PM会sql还是很必要的。不论是用hive sql 在服务器日志中获取数据,还是通过access做数据提取与分析,sql都是必备技能。
hive sql 与sql还是有一些区别的,本文暂且不表。
hive sql入门5例,基本可以解决常规的简单取数:
(1)create external table A (A1 string,A2 string); ---创建表A,其字段为string类型的A1与string类型的A2。
(2)drop table A;---删除表A,含A的全部数据
(3)select A1 from A where A2='CSDCF' ; ---查询表A中的A1字段,过滤条件为A2的值为CSDCF
(4)再举个通俗点的例子 表customer是一张存储客户信息的表,下面的语句表明找出北京用户中消费额top100的客户并列出姓名与消费额
select name,costs from customer where city ='北京' order by costs desc limit 100;
ps:order by 字段名 asc/desc 表示按该字段升序/降序排列
(5)select a.name ,b.talnumber from customer a join customdetail b on(a.name = b.name) where a.city ='北京' ;
想要获取北京用户的名字以及电话号码——customer表中没有电话字段,通过join将表customdetail与customer通过名字相同进行连接
JOIN连接组合两个表中的字段记录,包括三种:
INNER JOIN运算式:连接组合两个表中的字段记录。
LEFT JOIN运算式:连接组合两个表中的字段记录,并将包含了LEFT JOIN左边表中的全部记录。
RIGHT JOIN运算式:连接组合两个表中的字段记录,并将包含了RIGHT JOIN右边表中的全部记录。
通过使用 SQL,可以为列名称和表名称指定别名(Alias)。
方法一、直接在字段名称后面加上别名,中间以空格隔开。--本例 将customer起名为a
方法二、以as关键字指定字段别名,as在select的字段和别名之间。
select sum(costs) as costsall from customer ;