做了六个月的 Data Scientist
我已经工作六个月了。
刚刚工作的时候:
- 我的职位是 data scientist,按照工作描述,我应该是基于统计学习的 data scientist,并且要以 dashboard 的形式提供结果。
- 刚刚开始的时候,我觉得工作很多方面都很新奇。
- 我预想的人际关系是要比学术界复杂很多。
- 对于自己在一个公司能起到什么作用完全不了解。
六个月过去了,有些想法变了,有些还没有,虽然可能将来还会变。
为啥现在要写呢?因为德国这边都是有六个月的 probation time 的,这六个月之内,如果辞退或者离职,需要提前两周通知,过了这个之后,是提前三个月通知。并且还要涨一下工资。
工作内容
工作内容跟工作描述不一样。我的工作内容其实是一个 Full Stack Data Scientist. 实际的工作内容太乱了。这也是为啥标题的 “Data Scientist” 加了引号,同时也是为啥我做了这么多不同的 project,因为都是小的 project,没有很复杂的内容。
我觉得,我必须快点作出转变,集中精力做一类事情,而不能继续什么都做,我觉得这是没有出路的。我经常想 data science 里面这个 science 是什么意思。它不仅仅是说要用可重复的方法,要基于证据,要深入研究。它也暗示了这个领域的复杂性,有很多话题,有很多方法。我觉得,对于个人来说,那么多方向,应该选好了一个然后深入去做。
刚来的时候,我觉得我是来做分析的,但是工作了一段时间之后,我把自己重新定位了一下。我自己的定位是,帮助公司从一个基于经验做决策的公司转变成一个基于数据做决策的公司。
Data Warehousing
我刚刚来的时候,公司连 data warehouse 都刚刚建起来,一共只有两条内部数据的 pipeline,都是 CIO 一个人和之前没待几天的 data engineer 写的. 我来了之后,刚开始一个月尝试做一些描述性的统计分析,但是整个 warehouse 太原始了,而且发现了很多错误。
所以就停下来,从头过了一遍原来的 pipeline 设计,改了错误,添加新的 pipeline. 分析中用到的外部数据,也写了一些的爬虫,也有跟别的公司合作的数据,这些统一都放在了 data warehouse 里面。
我还制定了添加 pipeline 的基本工作流程,写了 cookie cutter 模板,这样做的目的是保证代码结构的一致性。然后写了两个专门用于 data warehousing 的 Python Package 和它们对应的文档,这样保证数据定义的一致性。
为了干这些还专门读了 Data Mining 这本书,验证了一下这本书里面很多都是过时的。
数据分析
这部分主要是预测和算法。因为公司业务的内容,经常需要解答的几个问题。第一个是时间序列上公司业务的几个指标的预测,第二个是不同城市的需求的预测,第三个是不同城市 supply 的预测,第四是 AB test 的算法测试,另外还有一个正在做的所谓的 lead scoring system (说白了就是公司获取的潜在客户打分系统,方便 sales 根据分数来跟这些客户接洽)。
我觉得这部分是很好玩的,经常需要读一些博客和论文,也常常需要针对公司情况自己脑洞一些方法。然而我也遇到了一些问题,比如我真的遇到了听了很多次的所谓的基于分析做出的结论强化数据的 bias 的情况。
广义相对论里面,spacetime tells matter how to move; matter tells spacetime how to curve;数据告诉决策如何前行,决策反过来扭曲数据。
Dashboard
主要做过两类,一类是作为产品的,就是一个让 supply 提供方能够获取统计结果以及我们对于需求的预测,另一类就是公司内部使用,基本只有对历史数据和当前状态的描述,这个是让大家决策的时候能够更好地利用数据验证一些猜想,然后再做决策。过去一周我什么都没做,就一直在制作和验证 dashboard.
其实这件事情是很枯燥的,然而我觉得这个枯燥的事情是有意义的。很多时候这个 dashboard 只需要做一次,做这一次的目的真的能够站在决策者的角度思考,能够了解不同层次的人是怎么思考和做决策的。反过来,了解了不同人的职能,就能更好地了解他们需要什么样的 dashboard. 就像一个相互推进的过程。
新奇感
目前倒是没有一开始的新鲜的感觉了。有一段时间觉得很无聊很枯燥。
人际关系
我还没有感觉到公司里面人际关系更复杂。公司总部目前100人左右,其他荷兰,英国和西班牙的办公室都很小,加上来也不到120人。所以其实公司很小,一共最高到四个层级,大部分人处在第三层(类似于 CEO+Cofounder -> CxO/Head -> employee)。政治斗争的空间很小,毕竟小公司嘛,不爽就走了,没人花费经历在这里斗争吧。反正我没看到。
我遇到过一次有人拎不清楚状况,对我采用命令式口气以及用他的上司来强制我提高他的 ticket 的优先级的情况,只能对他说,朋友,能不能眼光放长远一些。
很多人不理解 data scientist 这个职位,有些人会觉得那么简单把数据拿过来就好了。他们不理解数据嗯重要性,有的分析结果必须反复验证的,特别是 dashboard 这种东西,做出来可能半小时,验证数据的准确性可能需要一周。对于这样的人,教育一次就懂了。
我在公司是干啥的
我个人感受是(小公司里的)data scientist 的优势应该就是能够看到比所有其他人能看到的更多的数据,所以原则上来讲,应该可以比决策层更早的意识到问题并且作出正确的决策。
这件事情在我的工作中验证过多次。我有一个笔记本专门记录我对公司的当前状况的分析以及解决方案。比如当前扩张和巩固应该如何分成,应该扩张到哪些城市,在这些问题上,我自己提前用数据作出的决策跟他们 CxO 们作出的决策是一致的。
不过这就很值得思考了,这些人很多是基于经验的,如果数据分析/算法没有提供新的不同的结论,那么要这个分析/算法干啥用呢?
我的理解是,如果做这个决策需要用到 10 个猜想,那么这是个猜想里面,如果是更多基于数据的,就有更多的猜想可以被验证,这样的结论正确的可能性就更大。比如说,如果只看了一些数字,然后可以验证3个猜想,然后做了决策。如果用了更多的数据,可能可以验证 6 个猜想。如果可以做到这样,我觉得就是有意义的。
目前在推动公司作出更多的基于数据的决策,我就是基于这个想法来做的。比如给伦敦分部的 country head 做了一个 dashboard,那么这个 dashboard 有两个作用,一个是一眼看上去,可以知道目前的发展情况,第二个作用是,验证猜想,比如要在 UK 继续扩张,经验告诉我们人口多的城市,住房市场就更大,这个是可以通过我们网站的搜索数据验证的,所以这部分数据是要提供给 country head 的。诸如此类。
自己已经追踪记录个人数据很多年了,然而最近突然才想起来,不只是关于自己的数字很有趣,关于自己的人生的文字记录也非常有趣。所以关于工作,还是应该记录一下。比如关于工作的第一篇,真是觉得新的人生篇章的设想啊,很多都是脑补的。工作了一段时间之后,会遇到一些问题,也会有新的感想。自己的这些变化真的很奇妙。