最近读到一篇非常好的文章: Doing Data Science at Twitter, 感触颇深. 写几个摘抄和随笔
Type A/B Data Scientist
这个观点也是引用的Quora中著名的回答见这里:
**Type A Data Scientist: **The A is for Analysis.
Type A 主要是统计学背景, 更专注于分析. 但也要cover 一些技能: data cleaning, methods for dealing with very large data sets, visualization, deep knowledge of a particular domain, writing well about data, and so on.
毕竟不会有公司有这种条件: 要什么数据就像点菜一样有人恭敬的呈上来, 还保证干净卫生, 不管需求如何变, 数据瞬间有.
用我的话说: 大家都是从自己 下厨房自己摘菜
**Type B Data Scientist: **The B is for Building.
**Type B ** 更多的是软件工程师, 要的是服务线上用户. ship it
很重要.
DS工作的四个方面:
Product Insights
主要做的就是根据用户行为分析出insights. 做事的第一步就是logging
或者说 instrumentation
, 也就是我们常说的打点
/埋点
. 这里非常重要的一点就是打点数据非常烦, 可能会有各种问题, 比如定义不明确, 打点bug等. 关键不仅仅是定义需求, 更多的要根据数据与工程师沟通, 发现数据问题, 所谓的 消灭Data Gaps
Question: 不知道Twitter是如何维护打点需求的, 有时间可以聊聊我们是如何做的
Data Pipeline
也就是做数据管道开发. 根据现有结构, 开发需要的ETL job, 并且接入统一的调度系统. 不得不说, twitter的Data Scientist还是通吃型的, 国内有多少DS 是不会写这种代码的, 需要单独的Data Engineer(ETL engineer) 做好数据table 给他们用. 这种事情一旦沦落到 提需求 -> 等资源开发上线
的loop 效率就肯定不如自己来得快.
别的我可能不知道, 但上述两个工作(Data Pipeline 和 Product Insights) 效率是严重依赖公司现有的数据平台的成熟度的. 比如ETL 有没有现成的可以接入调度和报警的调度平台, 打点文档需求如何管理, 打点数据如何验证等.
Experimentation (A/B Testing)
A/B Test, 不多说, 但移动设备上做A/B Test 还是很要新的一套基于移动设备的平台的. 毕竟Web端的A/B Test 比较容易实现, 移动端都是native 代码, 版本发布也不是那么随意...
Modeling
Oops, 建模, 懂的人自己看吧...
最后还是给了好些个链接, 都不错, 尤其这个Building Analytics at 500px 对创业公司尤其有实践意义, 只不过Redshift 至今AWS中国区还不能用.考虑一下presto 也是不错的 LOL~