500px的数据分析之路——中小创业公司零基础数据分析面临的挑战

时间:2021-05-20 17:01:45
当我以数据分析lead的身份加入500px,对我而言是一个很快的决定。有机会从零开始为一个创业企业构建一整套数据分析系统,而且是有远大抱负的企业,几乎是所有数据分析师羡慕得流口水的一件事情。在这里,我可以真正实践曾经憧憬的数据驱动的企业模式。它是这样的:

每个人都熟知公司的各项衡量指标,并且知道自己的工作如何在这个指标体系里得到衡量;

我们将衡量决策的效果进行量化,并承认他们是成功的还是失败的;
团队使用自助的工具来回答所有的问题;
我们可以通过深挖数据和探索核心指标来预测未来。我知道这并不容易,要给这个数据上相对不成熟的公司带来变化,我并不会得到太多的帮助。更重要的是我必须“改变一个行驶中的汽车*”,前提是公司所有现有的基础设施和流程仍然需要保持正常运转。但我一直为挑战而兴奋,所以此刻,我在这儿。如今我加入500px已接近一年。这期间,我在重建基础设施及报告流程的工作中取得了重大进展。我们现在的Redshift数据仓库 [注1]中有一个中心的数据源。我们已经推出了自己的商业智能工具——Periscope [注2],在那里决策者和分析师可以自助服务各种分析需求。现已有各种报告和仪表盘,会推到公司的每一个团队做为绩效考核。当然我们还有其他的任务没有做完。但是,当你走在办公室里面,看到所有的图表和数据出现在人们的屏幕上或者Slack [注3]里面,它清楚地表明,我们已经走了很长的路。我将从两个不同视角下的数据世界——技术视角和业务视角——进行描述。市面上有很多关于建立数据基础设施的内容,还有很多关于初创企业数据分析的文章,特别是关于哪些度量指标更重要的文章;但很少有人写关于实施和管理数据分析体系的相关内容,尤其是介绍把数据分析作为一个业务职能部门的文章。业务背景500px是一个照片分享社区和摄影交易市场。我们的平台主要是桌面和移动网站;同时在Android和iOS平台上都有我们的应用程序,同时第三方应用程序里也有我们的内容,比如Flipboard [注4]。 我们有世界级的投资者包括安德森霍洛维茨和FF的风险资本做为后盾。

我们的两条收入来源

1. 付费订阅,让用户可以上传更多照片;2. 一个摄影交易市场,在那里我们可以从每笔交易中获取提成。整个公司由几个职能团队来管理。我们的开发团队负责PC端、移动端和平台的开发。在非技术方面,我们有销售团队、市场团队、内容团队、客户服务团队和产品团队。在此之上,我们有一个执行领导小组。总的来说,公司的人数在60人以上。每个团队都有自己的工作风格,需要分析支撑以便他们更好的执行职能。例如,高管们每周二聚会一次讨论高层的策略。制定一个明确的关于各项指标的走向总结,是这次高层决策的重要基础。即使对技术人员来说,可以对数据进行分析也是很有帮助的。开发人员通过对产品指标及变化趋势的确认可以发现背后“为什么”要做这些工作,从而成为驱动后续高效开发的一个关键因素。技术维度我们所有的应用程序和网站在API服务上运行。在服务器上,我们成为一个整体的Rails [注5]应用程序以及微服务平台。后台由多个数据库支持,最主要的一个是MySQL。在MySQL中,我们存储的是应用程序需要的状态信息。其中最重要的两个数据表是:照片表和用户表。我们也有一个订阅购买记录和摄影作品交易记录的交易表。我们在后端记录了接口调用和状态更改。例如,一个照片的请求会被记录下来,像注册、上传、投票、跟随这样的动作。事实上你并不知道,因为日志只是文本文件。当我们记录一个动作时,只需追加一行代码,像这样:
2015–02–10 10:24:31.32444 23432423 photo_like 423223 123.132.623.123 /get?…
每一条记录可以包含时间戳、照片ID、用户ID、用户IP,行为及其他动作。日志数据提供了用户的历史行为记录,正好和我们MySQL数据库中的状态信息互补。这些日志汇总并存档在亚马逊S3上,按小时区隔。我们的产品每天生成大约20GB的日志文件。这两个数据源,MySQL和日志记录,是数据分析价值的基础。MySQL可以获取照片和用户信息,以及照片和订阅交易信息等;而日志是理解用户行为随时间变化的核心。现在,你知道一点关于我们公司背景和技术的内容了吧,然后让我们了解下分析的演变。通往更好的数据分析之路两个数据源第一步开始的时候,摆在我面前的有两个数据来源:Splunk [注6]和MySQL。MySQL可以提供类似某张照片被喜欢的总次数这样的信息,但它不能告诉我最近一个小时内某张照片新增的喜欢数。Splunk是基于日志数据的一个搜索引擎。那么,这意味着什么?日志可以告诉你很多用户行为。当一个用户喜欢一张照片,这一行为被写入日志文件并提供时间戳记录。因此,通过查看日志,你可以得到一个近一小时某张照片获得了多少次喜欢的答案,这个数据通过扫描全部日志行中有喜欢指定照片事件的条数得到。  但是日志文件只是文本文件。从文本中获取价值是困难的,因为他们需要被解析。这就是Splunk的价值。

Splunk是一个工具,允许你搜索和分析日志数据。我可以问一些关于用户行为问题

平均而言,每个用户上传了多少张照片?上个月有多少安卓用户使用了我们的平台?Splunk将通过快速检索日志、计数和指定事件匹配的日志条数。 两个困扰貌似查询这两个来源足够简单。如果我想要状态信息,我会查询MYSQL;如果我想知道历史用户行为,Splunk查询就够了。当你需要问的问题,包括状态信息和行为信息的时候,比如上个月有多少用户喜欢某张照片(Splunk),然后需要细分到用户订阅的类型(MySQL),那么你需要一个离线的方法分别查询两个数据源然后整合结果。 比如用Python [注7]脚本来同时调用MySQL和Splunk。  以上只是一个小困扰。用个性化的代码来实现数据获取是没有效率的。此外还有更头痛的事情。这两个工具对用户不友好。Splunk需要特殊查询语言,而且线上相关介绍资源很少。MySQL的schema [注8]文档不齐全。结果获取数据的重担最后都压到数据分析师身上了。当一个公司有60多人需要访问数据,但却无法访问,从而将这个任务留给唯一个分析师的话,那么最糟糕的时代来临了!管理层(Exec)仪表板 - 逃之夭夭在指标报告中的情况不太好。我们使用Splunk来就算事件数(注册、上传等),可以按照日期和客户端(Web、iPhone、Android等)进行细分。 这些Splunk搜索结果存储在一个表格中,被称为Exec仪表板,它于夜间进行脚本运营: 500px的数据分析之路——中小创业公司零基础数据分析面临的挑战想象一下,当你面对密密麻麻的一千个数字,想了解每日活跃用户的基本指标是如何走向的的时候。我们团队中只有最有经验的MBA可以跟得上。很显然,有些事情需要改变。第一个问题,数据不可访问。在头四个月,我很难从泛滥成灾的数据中获得脱身,几乎在做着和Data Monkey [注9] 一样的事情。作为新人,我很难去责怪基础设施。其次,很难知道产品和公司的表现如何。很少有人能理解我们的指标。执行仪表板是一个灾难。我不得不采取行动。我需要重建基础设施,并保持现有的报告流程。同时,我还需要管理来自公司周围的数据流的要求,确保数据仍然是流动的,我有足够的时间用于基础设施工作。基础设施建成后,我需要重新完成报告流程,并在公司内部推广新的系统。公司在这个节骨点上,一个新的基础设施项目,并没有导致指标甚至是细微的变化,这是管理层最不想听到的。但这是必要的,我打赌我能做到这一切,在他们失去耐心之前证明价值。这就是为什么我爱初创企业,因为你可以像这样来做事。

基础设施方面,我需要两点

1.一个数据库,结合日志和MySQL,易于查询;2.便捷的数据库前端。任何人都可以自助查询数据模型;有了这个,我可以让自己从所有的数据分析中脱身,从而推动公司内的数据分析。幸运的是,我们不必重新发明*。市面上已经存在的产品正好解决了这两者的需求。在接下来的两个部分中我将讨论实现Redshift数据仓库和Periscope。还有,如何使用Google Sheet(谷歌表格)和Periscope重建指标报告系统。备 注[注1] Amazon Redshift 是一种快速、完全托管的 PB 级数据仓库,可方便您使用现有的商业智能工具以一种经济的方式轻松分析您的所有数据。[注2] Periscope直译为潜望镜。[注3] Slack是一款集合聊天群组+大规模工具集成+文件整合+统一搜索的企业聊天工具。[注4] Flipboard(飞丽博)是一款免费的第三方应用程序。[注5] Rails是一种web开发框架。[注6] Splunk是机器数据的引擎,可收集、索引和利用所有应用程序、服务器和设备(物理、虚拟和云中)生成的快速移动型计算机数据。[注7] Python是一种面向对象、解释型计算机程序设计语言。[注8] schema是数据库对象的集合,一个用户一般对应一个schema。[注9] Data monkey是一个强大的数据传输和转换应用程序。 诸葛io,是一款基于用户洞察的 精细化运营分析工具。由北京诸葛云游科技有限公司于2015年2月推出。 诸葛io旨在以用户跟踪技术和简单易用的集成开发方法,帮助移动应用的运营者们挖掘用户的真实行为与属性、优化留存与活跃度、提升用户价值。目前,诸葛io支持Android、iOS和HTML(JS)三个平台。
【诸葛翻译】500px的数据分析之路——中小创业公司零基础数据分析面临的挑战
http://zhugeio.com/news/?p=1446