4. 数据采集与处理:一手数据与二手数据来源、行业报告与数据库的使用、数据清洗与结构化方法
做产业链分析,说白了就是跟数据打交道。我见过太多人,一上来就急着画图、找节点,结果数据源没搞对,后面全白干。今天咱们就聊聊数据怎么来、怎么挑、怎么洗。
4.1 一手数据 vs 二手数据:别搞混了
先分清楚这两个概念。我刚开始做分析时,也犯过糊涂——把二手数据当宝贝,结果被老板怼了一顿。
| 类型 | 定义 | 典型来源 | 我的经验 |
|---|---|---|---|
| 一手数据 | 你亲自采集的原始数据 | 实地调研、专家访谈、企业走访 | 贵,但真香 |
| 二手数据 | 别人整理好的数据 | 行业报告、政府统计、学术论文 | 便宜,但要会挑 |
一手数据,比如你去工厂门口蹲点数卡车,或者打电话给供应商问价格。这玩意儿费时费力,但准确度高。我在做光伏产业链时,亲自跑了三家硅料厂,发现公开报告里的产能数据至少虚报了20%。
二手数据,说白了就是别人嚼过的馍。行业报告、统计局数据、券商研报都算。好处是现成的,坏处是——你想想看,写报告的人可能也没去过现场,数据怎么来的?
我的建议:能拿一手就别用二手。实在拿不到,至少交叉验证三个以上来源。
4.2 行业报告与数据库:你的弹药库
做产业链分析,手头没几个靠谱的数据库,就像上战场没带枪。我个人习惯用这几类:
4.2.1 行业报告怎么找
- 券商研报:东方财富、同花顺、Wind 终端。注意看发布日期,别拿三年前的当宝贝。
- 咨询公司报告:麦肯锡、BCG、艾瑞咨询。贵,但框架好。
- 政府公开数据:国家统计局、工信部、海关总署。免费,但更新慢。
- 行业协会:比如中国光伏行业协会、中国汽车工业协会。数据相对权威。
我记得有一次做新能源汽车产业链,找了五份报告,同一家企业的市占率数据差了8个百分点。嗯,这时候就得靠交叉验证了。
4.2.2 数据库怎么用
数据库不是拿来就用的。我见过新手直接拉数据画图,结果口径对不上。举个例子:
# 错误示范:直接拉数据
import pandas as pd
data = pd.read_csv('industry_data.csv')
# 没检查单位、没看口径,直接画图
# 正确做法:先看数据字典
# 1. 确认数据单位(万吨?吨?千克?)
# 2. 确认统计口径(规模以上?全行业?)
# 3. 确认时间范围(月度?季度?年度?)
避坑指南:我曾经因为没注意海关数据的HS编码版本,把2017年和2022年的数据混在一起,结果趋势线画出来是断的。后来花了三天重新清洗。
4.3 数据清洗与结构化:脏活累活,但必须干
数据清洗,说白了就是给数据洗澡。我见过最夸张的一次,一个Excel表里日期格式有八种:2023/01/01、2023-01-01、2023.01.01、20230101……你想想看,这怎么分析?
4.3.1 常见的数据脏问题
- 缺失值:某个月份的产量数据是空的
- 异常值:突然冒出一个-9999
- 重复值:同一家企业录入了两次
- 格式不统一:上面说的日期问题
- 单位不一致:有的用吨,有的用千克
4.3.2 我的清洗流程
我一般按这个顺序来,少一步都不行:
- 去重:先干掉重复行
- 格式统一:日期、数字、文本全部标准化
- 缺失值处理:能补的补,不能补的标记
- 异常值检测:用箱线图或3σ原则
- 单位转换:全部统一到同一个单位体系
# 一个简单的清洗示例(Python)
import pandas as pd
import numpy as np
# 读取数据
df = pd.read_csv('supply_chain_data.csv')
# 1. 去重
df = df.drop_duplicates()
# 2. 日期统一
df['date'] = pd.to_datetime(df['date'], format='mixed')
# 3. 缺失值处理(用前向填充)
df['output'] = df['output'].fillna(method='ffill')
# 4. 异常值检测(3σ原则)
mean = df['price'].mean()
std = df['price'].std()
df = df[(df['price'] > mean - 3*std) & (df['price'] < mean + 3*std)]
# 5. 单位转换(假设原始单位是吨,需要转成千克)
df['weight_kg'] = df['weight_ton'] * 1000
4.3.3 结构化:从杂乱到有序
数据清洗完了,还得结构化。说白了,就是把数据装进合适的「格子」里。我常用的结构:
- 时间序列结构:每一行是一个时间点,适合做趋势分析
- 面板数据结构:每一行是一个实体(企业/地区)在一个时间点的数据
- 关系型结构:用多个表格关联,适合做产业链上下游分析
关键点:结构化不是越复杂越好。我见过有人把简单的数据搞成十几个关联表,结果查一个数据要写三页SQL。够用就行。
4.4 知识体系总览
下面这张图,是我做产业链数据采集时脑子里始终绷着的一根弦。你可以把它当成一个检查清单:
这张图把整个流程串起来了。从数据来源到采集,再到清洗和结构化,每一步都不能跳。我见过太多人急着要结果,跳过清洗直接分析,最后得出个「垃圾进,垃圾出」的结论。
一个小技巧:每次拿到新数据,先花20%的时间做清洗和结构化。这20%的时间,能省掉后面80%的返工。
好了,数据采集与处理这块,核心就是这些。记住一句话:数据质量决定分析质量。你花在清洗上的每一分钟,后面都会加倍还给你。