Skip to content
← 返回项目

项目 · Forage 工作模拟

虚拟实习

十二个 Forage 工作模拟 · 2022.10 – 2023.08

十二个由企业设计的工作模拟,给我处理数据的方式带来了什么,以及我实际交出了哪些东西。

自主完成 · 业余时间

这些不是正式工作。Forage 上的每个工作模拟,都是一家公司为学生免费发布的一组任务,我利用业余时间完成了其中十二个。只有四个仓库保存了我自己的作业:KPMG、英国航空、Tata 和普华永道数字智能。另外八个仓库只留下了任务说明,因为作业是直接在 Forage 上提交的,所以这八个只按任务原本的要求来写,不声称任何结果。这些仓库都是私有的,本页也不收录任何标志、公司数据、任务说明或证书。

项目数
12
公司数
11
时间
2022.10 – 2023.08
保存了作业
12 个仓库中的 4 个

合起来意味着什么

十二个短短的工作模拟,不会让任何人就此成为咨询顾问或数据科学家,我也不这么说。它们给我的,是反复练习课程作业里很少要求的那部分工作:业务问题背后有一个真正要拍板的人,数据要先检查过才能信,答案要能放进一页幻灯片、一封邮件或者一段短视频里。

在十一家公司的任务里,同一套工作节奏反复出现,我到今天也还是按这个顺序做事。

  1. 先把问题想清楚

    大多数任务一开头给的是一个业务方和一个要做的决定,而不是一份数据。做 Tata 时,我在画任何图之前先替 CEO 和 CMO 写下八个问题。做 KPMG 时,我在建模之前先把工作拆成三个阶段。

  2. 先查数据,再用数据

    KPMG 的第一份交付物,是一封列出九个数据质量问题的邮件。做 Tata 时,我先去掉退货和无效价格,再开始做图。GE 的任务关键也在于有一家航空公司用了不同的温标记录温度。

  3. 先建模,再解释

    做英国航空时,我从抓取的评论一路做到预订预测模型。做普华永道时,我训练了一个判断该给哪些银行客户打电话的模型,再用 SHAP 解释它,既看整个测试集,也看单个客户。BCG、Cognizant 和标准银行的任务,则按题目要求练习了客户流失、库存和信用风险模型。

  4. 最后落到一页纸上

    几乎每个项目都以一页幻灯片、一封客户邮件或一段简短的录制汇报收尾,对象往往没有技术背景。写好这一页,是这些项目里我用得最多的能力。

能力分布

每一行是一个项目,每一列是它要求的一类能力。实心方块表示这部分我自己的作业保存在仓库里。空心方块表示任务要求了这部分,但仓库只留下了任务说明,所以除了任务本身我不声称别的。

十二个 Forage 项目各自涉及的能力方向
项目界定准备分析建模可视化沟通
KPMG数据分析业务问题界定: 我的作业,保存在仓库里数据准备: 我的作业,保存在仓库里分析与实验: 任务要求,作业未保存建模: 任务要求,作业未保存可视化: 任务要求,作业未保存面向业务方的沟通: 我的作业,保存在仓库里
GE 航空数据分析业务问题界定: 不在该项目范围内数据准备: 任务要求,作业未保存分析与实验: 不在该项目范围内建模: 不在该项目范围内可视化: 任务要求,作业未保存面向业务方的沟通: 不在该项目范围内
Tata数据可视化业务问题界定: 我的作业,保存在仓库里数据准备: 我的作业,保存在仓库里分析与实验: 我的作业,保存在仓库里建模: 不在该项目范围内可视化: 我的作业,保存在仓库里面向业务方的沟通: 任务要求,作业未保存
埃森哲北美数据分析与可视化业务问题界定: 任务要求,作业未保存数据准备: 任务要求,作业未保存分析与实验: 任务要求,作业未保存建模: 不在该项目范围内可视化: 任务要求,作业未保存面向业务方的沟通: 任务要求,作业未保存
普华永道瑞士Power BI业务问题界定: 任务要求,作业未保存数据准备: 不在该项目范围内分析与实验: 任务要求,作业未保存建模: 不在该项目范围内可视化: 任务要求,作业未保存面向业务方的沟通: 任务要求,作业未保存
Quantium数据分析业务问题界定: 不在该项目范围内数据准备: 任务要求,作业未保存分析与实验: 任务要求,作业未保存建模: 不在该项目范围内可视化: 任务要求,作业未保存面向业务方的沟通: 任务要求,作业未保存
红牛现饮渠道销售业务问题界定: 不在该项目范围内数据准备: 不在该项目范围内分析与实验: 任务要求,作业未保存建模: 不在该项目范围内可视化: 任务要求,作业未保存面向业务方的沟通: 任务要求,作业未保存
英国航空数据科学业务问题界定: 不在该项目范围内数据准备: 我的作业,保存在仓库里分析与实验: 我的作业,保存在仓库里建模: 我的作业,保存在仓库里可视化: 我的作业,保存在仓库里面向业务方的沟通: 我的作业,保存在仓库里
普华永道数字智能业务问题界定: 不在该项目范围内数据准备: 我的作业,保存在仓库里分析与实验: 不在该项目范围内建模: 我的作业,保存在仓库里可视化: 我的作业,保存在仓库里面向业务方的沟通: 不在该项目范围内
BCG数据科学与分析业务问题界定: 任务要求,作业未保存数据准备: 任务要求,作业未保存分析与实验: 任务要求,作业未保存建模: 任务要求,作业未保存可视化: 不在该项目范围内面向业务方的沟通: 任务要求,作业未保存
Cognizant人工智能业务问题界定: 任务要求,作业未保存数据准备: 任务要求,作业未保存分析与实验: 任务要求,作业未保存建模: 任务要求,作业未保存可视化: 不在该项目范围内面向业务方的沟通: 任务要求,作业未保存
标准银行数据科学业务问题界定: 任务要求,作业未保存数据准备: 任务要求,作业未保存分析与实验: 任务要求,作业未保存建模: 任务要求,作业未保存可视化: 不在该项目范围内面向业务方的沟通: 任务要求,作业未保存
项目数7/1210/1210/126/129/1210/12
  • 我的作业,保存在仓库里
  • 任务要求,作业未保存
  • 不在该项目范围内

十二个项目,按能力方向分组

每张卡片写明业务问题、我交付了什么(或者任务要求了什么),以及它练出的能力。日期来自我在各个仓库里的提交记录。

数据质量与数据合并

有两个项目把数据本身当成交付物:找出数据哪里有问题,以及把彼此对不上的数据源合并起来。

KPMG · 数据分析

2022.10 – 2022.11

保存了我的作业

业务问题
自行车及配件零售商 Sprocket Central 提供了三张客户和交易数据表,以及一份 1,000 位新客户的名单。营销团队应该优先联系其中哪些新客户?
我交付了什么
我先用 pandas 逐一检查了四张工作表,然后给客户写了一封邮件,列出九个数据质量问题,比如缺失值、性别字段写法不统一、没有列名的字段,还有一个 1843 年的出生日期。第二个模块里,我做了一份简短的演示文稿,把工作分成数据探索、模型开发和结果解读三个阶段,建议引入澳大利亚统计局的人口数据等外部数据,并提出用排序指标来评估推荐效果。第三个模块是给客户的仪表板,仓库里没有保存,所以这部分我不作任何声称。
我的产出
  • 数据质量邮件
  • 数据探索 notebook
  • 分析思路演示文稿
练出的能力
把数据质量当作第一份交付物,并且写给客户时,要具体到每个问题,以及它对后续分析意味着什么。
工具
  • Python
  • pandas
  • Jupyter
  • PowerPoint

GE 航空 · 数据分析

2022.11 – 2022.12

只有任务说明 · 不声称结果

业务问题
怎样把发动机、制造和机场数据合成一张分析师能直接用的表?加工出来的零件是否都在设计公差之内?
任务要求
第一个模块要求把四家航空公司的整段飞行发动机数据合并成一张表,合并前要先调整其中一家用不同温标记录的温度列,另有一个加分步骤,用查找函数把供应链表和物料清单表连接起来。第二个模块要求在 Tableau 里做运行图和 KPI 表,看每道工序的测量值是否落在规格范围内。
任务要求的交付物
  • 合并后的数据集
  • 运行图
  • KPI 表
任务练习的能力
在合并数据之前发现单位不一致,以及用运行图判断一个流程随时间的表现。
工具
  • Excel
  • Tableau

可视化与讲故事

有三个项目练的是为决策者挑选合适的图表,并围绕它把来龙去脉讲清楚。

Tata · 数据可视化

2022.10

保存了我的作业

业务问题
一家网店的 CEO 和 CMO 想知道收入靠什么驱动,下一步该往哪里扩张。
我交付了什么
动手画图之前,我先写下这两位高管可能会问的八个问题,四个定量、四个定性,再探索公开的 UCI Online Retail 数据,看哪些问题能用它回答。接着我为五个场景各选一种图表并写下理由,比如用折线图看月度季节性,用填色地图看各国需求。最后用 pandas 清洗数据,去掉退货和无效价格,把大约 541,900 行减到 530,100 行,再在 Tableau 里把要求的四个视图做成一个带仪表板的工作簿。最后一个模块是录制汇报,仓库里没有保存。
我的产出
  • 问题清单
  • 图表选择及理由
  • 数据清洗 notebook
  • Tableau 工作簿
练出的能力
先写下决策者的问题,再按每个问题去选图表,而不是从数据出发。
工具
  • Python
  • pandas
  • Tableau

埃森哲北美 · 数据分析与可视化

2022.11

只有任务说明 · 不声称结果

业务问题
一份客户简报提出了一个关于内容和用户反应的业务问题。七个相互关联的数据集里,哪些能回答它?答案又该怎样呈现给客户?
任务要求
共四个模块。第一个是测验,考的是业务问题、项目要求,以及团队里谁负责什么。第二个要求挑出相关的表,清洗后按主键合并成一份最终数据集。第三个要求做可视化和一份讲清楚来龙去脉的演示文稿,第四个要求录一段给客户的汇报视频。
任务要求的交付物
  • 合并后的数据集
  • 演示文稿
  • 汇报视频
任务练习的能力
先从客户简报里读出要求,再把数据模型精简到真正能回答这些要求的几张表。
工具
  • Excel
  • PowerPoint

普华永道瑞士 · Power BI

2022.11

只有任务说明 · 不声称结果

业务问题
一家电信客户想弄清楚三件事:呼叫中心表现如何,哪些客户可能流失,以及管理层的性别平衡为什么一直没有改善。
任务要求
在一段介绍之后,有三个案例任务,每个都要求从业务方的问题倒推出 KPI,再用 Power BI 仪表板呈现出来。呼叫中心任务关注满意度、接通和放弃的来电,以及应答速度。客户留存任务还要求写一封简短邮件,说明发现和改进建议。多元化任务则要求计算招聘、晋升、绩效和离职方面的指标,并分析进展缓慢的可能原因。
任务要求的交付物
  • 三个仪表板
  • 客户留存邮件
  • 原因分析
任务练习的能力
从业务方的问题倒推出能回答它的 KPI,最后才考虑怎么呈现。
工具
  • Power BI

商业分析

有两个项目把分析和一个商业决定绑在一起:门店试点到底有没有效果,以及怎样把一个客户争取回来。

Quantium · 数据分析

2022.10 – 2022.11

只有任务说明 · 不声称结果

业务问题
在一家大型连锁超市里,谁在买薯片,是什么在驱动他们的消费?在三家门店试行的新陈列,有没有带动销售?
任务要求
共三个模块。第一个要求检查并清洗交易和客户数据,提取包装规格、品牌等特征,并做客户分群,最后给出建议。第二个要求用相关系数或量级距离之类的指标,为每家试点门店找一家对照门店,再检验试点期间销售有没有变化、变化从何而来。第三个要求按金字塔原理写一份给客户的报告。
任务要求的交付物
  • 客户分群
  • 试点与对照分析
  • 客户报告
任务练习的能力
设计试点与对照的比较,以及写客户报告时先给结论,而不是先讲方法。
工具
  • Python
  • R

红牛 · 现饮渠道销售

2022.11

只有任务说明 · 不声称结果

业务问题
哪些酒吧和餐厅客户在增长,哪些在下滑?一个销量明显下降的客户,要怎样争取回来?
任务要求
第一个模块要求在 Excel 里,用随机生成的五年客户数据计算销量的复合年增长率,按客户类型、年份、促销计划和产品组合做比较,并整理成一份简短的演示文稿。第二个模块要求录一段简短的视频留言,用积极倾听的方法回应一位酒吧老板对价格和需求的顾虑。
任务要求的交付物
  • 复合年增长率分析
  • 结论演示文稿
  • 视频留言
任务练习的能力
用商业眼光看客户层面的趋势,以及在回应异议时先倾听、再换个角度,然后才提出自己的理由。
工具
  • Excel
  • PowerPoint

模型与可解释性

有五个项目要求做预测模型。我保存下来的两个,从原始数据一路做到能解释的结果,另外三个则按题目要求练习了客户流失、库存和信用风险模型。

英国航空 · 数据科学

2022.11

保存了我的作业

业务问题
旅客在公开评论里怎么评价这家航空公司?哪些因素会让客户最后完成预订?
我交付了什么
我用 requests 和 BeautifulSoup 写了一个多线程爬虫,按 Skytrax 的航空公司索引逐个抓取评论,保存了 485 家航空公司的评论,约占所列航空公司的 89%。然后清洗了 1,200 条英国航空的评论,用一个预训练的 Hugging Face 模型标注情感,并把机型、旅客类型、舱位和情感分布汇总成一页幻灯片。预订任务里,我整理了 50,000 条预订记录,先拟合一个 OLS 基线,再训练一个神经网络分类器,并检查每个特征和完成预订之间的关系。这部分结论同样收在一页幻灯片里。
我的产出
  • 评论爬虫
  • 情感分析 notebook
  • 预订模型 notebook
  • 两页总结幻灯片
练出的能力
自己采集并清洗杂乱的网页文本,再把每项分析压缩成一页给非技术读者看的幻灯片。
工具
  • Python
  • requests
  • BeautifulSoup
  • pandas
  • Hugging Face Transformers
  • scikit-learn
  • statsmodels
  • Plotly

普华永道 · 数字智能

2023.08

保存了我的作业

业务问题
一家大型银行用模型决定给哪些客户打电话推销定期存款。管理层想知道,这样的模型是怎样做出判断的,既要看整体,也要看单个客户。
我交付了什么
我在公开的 UCI Bank Marketing 数据(41,188 条营销记录)上训练了带交叉验证的逻辑回归,用混淆矩阵和分类报告检查效果。然后用 SHAP 给整个测试集上影响预测的特征排序,再为任务指定的两位客户画出 force plot,解释模型对他们的判断。在这两位客户身上,就业人数、三个月 Euribor 利率这类经济指标都排在最前面。这个项目还列了其他模块,但仓库里只有这个负责任 AI 任务,所以我只声称这一部分。
我的产出
  • 分类模型
  • 全局 SHAP 汇总
  • 两个单例解释
练出的能力
把解释模型(既解释整体,也解释单个人)当作完成一个模型的必要部分,而不是锦上添花。
工具
  • Python
  • pandas
  • scikit-learn
  • SHAP

BCG · 数据科学与分析

2022.11

只有任务说明 · 不声称结果

业务问题
欧洲燃气与电力公司 PowerCo 的中小企业客户在不断流失。这种流失是不是由价格敏感度驱动的?给最可能流失的客户 20% 的折扣,能不能把他们留住?
任务要求
四个模块把这个问题从一个假设一路带到指导委员会。任务先要求给副总监写一封邮件,说明检验这个假设需要哪些数据和模型。接着探索客户和价格数据,并给出价格敏感度的定义。然后以 12 月与 1 月非高峰电价之差为基础构造特征,训练随机森林预测流失,并说明评估指标为什么这样选。最后做一页高管摘要。
任务要求的交付物
  • 给副总监的邮件
  • 探索性分析 notebook
  • 随机森林模型
  • 高管摘要幻灯片
任务练习的能力
把一个商业假设变成可以检验的数据科学问题,并且从客户利润的角度去评判模型。
工具
  • Python
  • pandas
  • scikit-learn

Cognizant · 人工智能

2022.11

只有任务说明 · 不声称结果

业务问题
Gala Groceries 卖的大多是容易变质的生鲜。能不能用销售数据和传感器数据按小时预测库存,从而更聪明地向供应商订货?
任务要求
五个模块从探索一路走到上线。任务先要求探索样本销售数据,并用一封邮件汇报。接着用一页幻灯片规划要从数据模型里用哪些表,再把销售、库存和温度数据合在一起建模,并用业务语言在一页幻灯片上解释结果。然后要求写一个带注释的 Python 模块,负责训练模型并输出性能指标,最后是一个关于如何改进已部署模型的质量保证测验。
任务要求的交付物
  • 邮件
  • 规划幻灯片
  • 模型与结果幻灯片
  • Python 模块
任务练习的能力
把模型从 notebook 搬进一个其他团队也能运行、带说明的模块,并且不用技术指标来描述模型表现。
工具
  • Python
  • pandas
  • scikit-learn
  • Google Colab

标准银行 · 数据科学

2022.11

只有任务说明 · 不声称结果

业务问题
信贷员处理一份房贷申请要两到三天。机器学习能不能预测申请人是否会违约,让他们一提交申请就能得到答复?
任务要求
整个项目按 CRISP-DM 流程走。任务包括一个关于数据理解阶段的 SQL 选择题测验,一个回答房贷经理关于数据的问题、并比较 AutoML 与自建模型的 notebook,一份围绕数据科学生命周期的演示文稿,以及一段讲给技术背景有限的经理听的五到十分钟视频。
任务要求的交付物
  • SQL 测验
  • AutoML 与自建模型对比 notebook
  • 演示文稿
  • 视频
任务练习的能力
权衡 AutoML 和手工搭建的模型,并把其中的取舍讲给不懂技术的项目负责人听。
工具
  • SQL
  • Python
  • AutoML

回头看

为了写这一页,我重新翻了自己的 notebook,有三件事现在我会换一种做法。

  • 先看基线

    英国航空的数据里,大多数预订最后都没有完成,所以我那个分类器的准确率,和一直猜“不会预订”差不多。现在我报告任何指标时,都会把类别比例和一个朴素基线放在旁边。

  • 事后才知道的信息不要放进模型

    我在普华永道任务里的模型保留了通话时长这个特征,而 UCI 的数据说明特别提醒过,通话时长要等电话打完才知道。如果真要用来决定给谁打电话,我会去掉它,再重新解释一遍模型。

  • 回答对方真正问的问题

    做 KPMG 时我提议做推荐系统,但任务问的是 1,000 位新客户里该优先联系谁,而这些客户没有任何购买记录。按潜在价值给客户排个序,会更直接地回答这个问题。

公司和项目名称只以文字出现。仓库是私有的,所以没有源码链接,本页也不收录任何标志、公司提供的数据、任务说明、证书或分数。

返回项目