你好,我是悦创。
今天来聊聊在不同数据分析场景下,常见工具各自的用法和差异。
这节内容分成四块来讲:
- 数据分析标准流程
- Excel 的核心操作
- SQL 编写中易错点
- R 语言与 Python 的应用示例
1. 数据分析的标准步骤
做数据分析并不只是简单拉数据、做图表,背后其实有一套比较系统的流程。很多人分析报告做得不好,看似细节不到位,其实是没吃透这条流程线。
完整来看,这套流程分为九步:
- 定义问题:第一步不是看数据,而是先把问题问清楚、界定清楚。
- 搭建分析框架:确定核心问题后,要把相关问题扩充全面,找到一条贯穿全局的分析脉络。
- 数据提取:使用 MySQL、Hive 等工具从数据库里提取需要的数据。
- 数据处理:借助 Excel、R、Python 对数据进行清洗与加工。
- 开展分析:结合方法论对数据进行深入分析。
- 可视化呈现:用 Tableau、Excel、R、Python 把分析结果做成可理解的图表。
- 撰写报告:报告既考验文字表达,也考验思维逻辑。
- 报告分享:需要与相关方充分沟通,演讲展示时要能应对提问,避免被质疑卡壳。
- 形成闭环:这最后一步往往最难,也是最具价值的一环。
其中,数据提取、处理和可视化属于分析师的基础技能,主要靠熟练使用工具解决。而像明确问题、搭框架、写报告、做演讲和推动闭环,更依赖分析师的综合能力、沟通水平与逻辑思考。
为了把这九步做好,下面这些工具是必不可少的:

- MySQL、Hive:核心的数据提取工具。要想排查数据异常,还需要掌握一定的 Linux 命令。提数环节不能有误差,否则后面都白做。
- Excel:最常用的处理和可视化工具。很多紧急现场要出图,往往都是用 Excel 快速搞定。
- R:一门专注统计分析的语言,上手简单,但面对大规模数据时容易卡顿或死机。
- Python:一门通用脚本语言,扩展性极强,用得最多的是 pandas,也常用于爬虫、文本分析、算法等。
2. Excel 的典型用法
作为数据分析的起点和落地工具,Excel 功能虽简单,但组合起来非常实用。下面列几个高频场景。
2.1 对比分析(筛选、色阶)
对比分析是最常见的一种分析方法。任何一个指标放在那里没意义,只有和基准做对比,才有可参考价值。
举个例子:想对比自己 App 与竞品在某类用户上的表现,看看重合用户和整体用户的消费有啥不同,就要做数据对比。
下面这张表展示了微视与抖音的重合用户和微视大盘用户在不同内容分类下的消费 CTR:
微视与抖音的重合用户消费分类 | 消费CTR | 微视大盘消费分类 | 消费CTR |
---|---|---|---|
搞笑 | 0.08 | 搞笑 | 0.06 |
游戏 | 0.06 | 游戏 | 0.07 |
舞蹈 | 0.10 | 舞蹈 | 0.05 |
正能量 | 0.03 | 正能量 | 0.05 |
萌系 | 0.02 | 萌系 | 0.03 |
明星 | 0.08 | 明星 | 0.06 |
美食 | 0.03 | 美食 | 0.01 |
音乐 | 0.04 | 音乐 | 0.05 |
二次元 | 0.05 | 二次元 | 0.08 |
运动 | 0.03 | 运动 | 0.06 |
利用 Excel 的筛选、色阶功能,可以把 CTR 做差值,算出哪些分类在重合用户中表现更突出:
微视与抖音的重合用户消费分类 | 消费CTR | 微视大盘消费分类 | 消费CTR | diff相对值 |
---|---|---|---|---|
搞笑 | 0.08 | 搞笑 | 0.06 | 33% |
游戏 | 0.06 | 游戏 | 0.07 | -14% |
舞蹈 | 0.10 | 舞蹈 | 0.05 | 100% |
正能量 | 0.03 | 正能量 | 0.05 | -40% |
萌系 | 0.02 | 萌系 | 0.03 | -33% |
明星 | 0.08 | 明星 | 0.06 | 33% |
美食 | 0.03 | 美食 | 0.01 | 200% |
音乐 | 0.04 | 音乐 | 0.05 | -20% |
二次元 | 0.05 | 二次元 | 0.08 | -38% |
运动 | 0.03 | 运动 | 0.06 | -50% |
通过这个对比,就能发现重点偏好的内容方向,从而指导运营投放。
2.2 时间序列拆解(透视图)
很多时候,一个指标下滑,需要找出具体是哪个环节在拉低整体。
比如:新增用户的次日留存下降,想知道是所有渠道一起降,还是个别渠道掉得厉害。
假设原始数据如下:

日期 | 渠道 | 次留 |
---|---|---|
9月24日 | A | 0.38 |
9月24日 | B | 0.41 |
9月24日 | C | 0.26 |
... | ... | ... |
借助 Excel 的透视图功能,把不同渠道的留存做成矩阵:

行标签 | A | B | C |
---|---|---|---|
9月24日 | 0.38 | 0.41 | 0.26 |
... | ... | ... | ... |
再生成折线图:

一看图就清楚,A 渠道稳定,C 渠道还在涨,问题在 B 渠道,接下来就能对症下药。
2.3 相关性分析(函数与加载项)
在日常分析中,经常需要证明某功能对整体指标的贡献。
以"微信读书"里的"想法"模块为例,想知道它对大盘留存有多大影响。先做散点图:

趋势一致时,就要用分析工具库计算相关性。在 Excel 加载分析工具库后,直接跑相关性函数即可:

输出结果就像这样:

无论是做回归、相关性,甚至一些简单的机器学习,Excel 都能胜任。
2.4 临界点分析(插入复杂图表)
有时想找用户行为中的"关键点",就要做临界值分析(Magic Number)。
比如滴滴发现,新用户如果前三天叫专车超过 3 次,留存率会大幅提升,于是给新用户各种优惠券补贴,诱导多用几次车。
下面是示例数据:
优惠券使用次数 | 用户数 | 留存 |
---|---|---|
0 | 50000 | 0.10 |
1 | 40000 | 0.15 |
2 | 30000 | 0.16 |
3 | 10000 | 0.30 |
... | ... | ... |
做成柱状+折线的组合图:

图里能清晰看出使用次数超过 3,留存就会明显跳升,这就是典型的 Magic Number。
3. SQL:易错点与实用技巧
SQL 是数据分析的基础技能,做到信手拈来很重要。表多、条件复杂时,很多人会担心自己写错,下面几个常见坑要注意:
常见问题和解决思路:
-
Max 函数对字符串 :数字字段是字符串时,直接取最大值会出错,可在字段后加
+0
转为数值。sqlselect max(a+0)
-
日期处理混乱 :有时需要把时间戳转日期或取年月,建议先用
select
单独测试。sqlselect from_unixtime(time) select from_unixtime(cast(substr(time,1,10) as int))
-
先聚合后计数:要计算用户数时,先 group by imei,再 count。
sqlSelect city,count(1) as uv from (select city,imei from a group by imei,city) t1 group by city
-
字段列转多行:做 AB 测试打标签时,需要把一个字段拆成多行。
sqlSelect *,b from t1 Lateral view explode(a) table as b
-
Top 排序:想看分类下前 10 的子分类:
sqlSelect *,rank() over(partition by a order by b desc) as rank from table t1
-
避免倾斜:大表放右边,小表放左边,用 mapjoin 并过滤空值。
sqlSelect /*+mapjoin(a)*/ t1.city,t2.type,count(t1.imei) as uv From (select imei,city from a where imei != '' group by imei,city)t1 Join (select imei,type from a where imei != '' group by imei,type) t2 On t1.imei=t2.imei Group by t1.city,t2.type
4. R 与 Python 的实战示例
R:适合做统计建模、回归和分类。
比如想找出哪些因素影响用户是否流失,可用决策树、逻辑回归、随机森林。
样例:根据用户年龄、婚姻、教育、行为数据来预测是否流失:

简单写个决策树就能跑出来,看哪些变量最关键,如开通月数、电子支付等:

Python:在 R 的基础上,还多了爬虫、文本分析、UDF、个性化推荐、Web 等等应用场景。
- 爬虫:抓竞品内容,补充数据源。
- 文本挖掘:研究用户评论,为产品运营提供线索。
- Hive UDF:写自定义函数弥补 SQL 原生不足。
- 算法研发:个性化推荐、后端运维等都依赖 Python。
Python 的强大之处就在于第三方库丰富、可扩展性高。
5. 小结
这一节课,我梳理了数据分析从流程到工具的全局框架,还列举了 Excel、SQL、R、Python 在实操中的典型用法。
下一讲,我会聊数据分析师需要具备的宏观思维能力,欢迎关注我的公众号(微信搜索:AI悦创),持续学习更多高质量的分析内容。