讲数据故事,先从制作数据故事开始

毫不夸张的说,“讲故事”是当今职场最重要的技能之一。公开演说需要讲故事,销售交流需要讲故事,领导汇报需要讲故事,头脑风暴需要讲故事,即便一个数据工程师将Ta的成果让人听懂并赋予意义,也需要讲故事。介绍“讲故事”的书,这几年出版的特别多。对于人类为什么这么喜欢听故事,从人类学、演化学、大脑神经科学、心理学,书中都有各种解释。抛开那么多的科学,对于我们喜欢听故事的原因,我觉得最简单、直觉的解释,就是因为故事容易让人理解,用意外而产生情感波动,进而可以留下印象。

人人都喜欢听故事,但是我们绝大多数人并不擅长讲故事。有没有原创故事力,也是考究想象力和类比力。如果这个社会,我们从上小学一直到大学前,自己的家长、遇到的老师,都不是用说教的方式与我们对话,遇到问题都擅长说:“来,我给你讲个故事。。。”那我相信我们整个社会的故事力都会提升一大截。我不做假设了,时间不能倒流回少年时代,就算没有“原创”的故事力,套路的东西,即便上了年龄也是可以学。如果就推荐一本书,那许荣哲老师的《故事课12》,非常适合照着套路去练习的你我。

现在我们暂时把数据故事——storytelling with data的场景限定在职场中。我觉得中文语境对故事这个词并不那么“职场友好”。在英文中,如果有人说:“Now I have a story”,听众首先联想的是:Ta现在要呈现一串前后有联系的事实。而如果在中文的汇报、产品交流、谈判、问题协调会上,我说:“现在,我给大家讲一个故事。”听众潜意识中会觉得“故事”是假的,甚至是“编的”,对你后面要讲的内容可信度就要打折,甚至领导会直接打断你:“哪有时间听你讲故事”!我建议在这些职场场景中,大可不用“故事”这个中文词汇,而改成“现在,我要用数据展示一个重要的发现、解释、规律、现象。。。”,但是你要用讲故事的方法去阐述和展示。所以,故事只是讲说事实的方法和精髓逻辑,不必纠结于故事这个词本身。

数据故事之所以在受到重视,因为:1、用“数据说话”,已经成为共识;2、数据不借助故事很难说的清、听得懂;3、用数据讲故事容易做到。前两条就不用解释了。对于第三条,我为什么说讲数据故事容易——一个电影剧情中常见的完整故事,主角走完英雄之旅,故事要素要14个步骤,许荣哲老师将其简化为7个步骤,最最简单的版本也要3个步骤。而数据故事就抓住一点就行:用数据对比出不同!我就用极海公众号中文章《深扒 | 即便退市,瑞幸的4541家门店也够你好好学一课!》中用到的,从极海品牌监测下载的瑞幸门店数据做一个简单的数据故事。

第一步,将下载好的geeojson格式的数据上传到极海平台中:

第二步,新建一个项目:

第三步,添加两次刚上传的数据,将最上面的数据层做成气泡图,用avg_order这个字段,做自然分段,并在过滤条件中添加”avg_order”>500,用来突出显示那些单日杯量在500以上的门店,以及用气泡大小来对比500以上门店杯量的不同:

第四步、打开时态标签,用opendate字段作为时间序列,播放瑞幸的开店顺序,来对比不同时段,瑞幸的开店节奏和布局重点:

平台上如何制作地图,博客和帮助都有很多操作指南,本文不细说了。想要获取瑞幸的这份数据,打算自己动手做一个简单的数据故事,联系博主微信:wh_map。

数据故事容易,用地图讲数据故事更容易!地图从诞生那天起,就自带好故事。找邻近,看不同,作对比,想远方,这些都能给人的大脑带来想象。而且地图又是视觉化的,都说“一图胜千言”,如果一张图片曾经值一千个字,那么今天一幅有趣的地图就值一万个字!通过地图背后的地理数据,地图不仅代表一堆堆的点,还代表了对世界的特定地理想象。在过去的十年,地理信息技术已经从单纯的专家工具成为到处都可获得的在线软件服务。在极海平台的极客分享中,已经有上万幅地图,表达着作者对数据的解读,而大部分的地图作者都不是专业的地理信息软件从业者。这些地图故事从中国的产业结构,到全球的恐怖袭击,从城市形态,到全球航线,大家通过制作地图来讲述故事,来回答问题,建立空间上的人、地、物的联系。

极海平台极客分享栏目,按浏览量排序的地图

地图是数据故事的一种载体,地理数据本身,如果没有可视化,就是冷冰冰的,一串串的数字和字符。所以现在基本上认为数据故事必须得有可视化,没有可视化,怎么描述数据都成问题,更何况要用数据讲一个有前后逻辑的故事?在极客分享中,有一幅中国所有村庄位置点的地图。如果单纯的就是将这些坐标撒到地图上,毫无故事可讲;但是如果将村庄名字中的庄、堡、沟、湾用不同的颜色表达,有意思的现象就能立刻展现出来。所以数据还是那个数据,怎么表达是按照故事的设计者有意为之的。设计的核心思想还是找不同、作对比。

东北、川陕甘尽是“沟”,华中华南“湾湾”多,鲁豫苏“庄子红”

地图可以被看做是可视化的一类图表(chart),和其它图表一样,要想讲好一个数据故事,就一定会涉及到图表的制作和表达。职场的必备技能工具,如果我说是Excel,我猜只有仅会Word而不会Excel的人士会出来反对吧。即便是Excel最初级的使用者,总还是能做一点柱状图、饼状图。图表的好看与否姑且不论,用图表讲数据故事,你首先一定要考虑的还是要通过数据表达出什么不同的发现,这个发现让听众、读者能理解、信服你说的什么道理,能将这个道理留下一个什么印象。

Andy Kirk的可视化图表分类

再举一个例子,我从网上下载到全球按国家分布的新冠最新的疫情数据,打开的CVS文件就是这样的。

按国家分布的新冠疫情数据(下载数据制作图表的时间为2020-07-08)

如果想将这份数据快速用地图的形式表达,你打算怎么做?除了用极海这样的非代码工具,还可以编程写少量的代码来实现。我选择在Python notebook下,用不到20行的代码,实现下面的地图效果。

借助Pyecharts包,在Python notebook中生成的地图

在这个例子中,用地图讲故事,效果就一般般。因为人口大国在大规模疫情中,本来就是风险大,这样的结果对读者来说一点也不意外。但是如果加上时间维度,让图动起来,就会对数据产生更多的理解和解读。下图之所以叫做racing bar,就好像代表各个国家的条形图在竞赛一样:中国在很长一段时间都领先,后来意大利赶超了,在美国远远落下其他国家许久以后,巴西和印度开始迅速的逼近。速度不同、排序不同,人的大脑就会刺激产生理解和记忆。同样的一份数据,可以做成不同的形式,也就有了不一样的故事。

用竞赛条形图(racing bar)的形式制作的动态效果


怎么选择图表、做好图表、美化图表,以及各种图表工具的使用,网上精彩的课程非常多,也有不少权威的书籍可以学习。如果让我提好图表的原则,我认为最最重要的就是:用少量的颜色突出重点。还是刚才提到的疫情数据,这次用死亡病例数量的折线图来做时序发展趋势的图表。让全球所有国家,像一团乱麻一样从左到右张牙舞爪,我相信没有谁能一下子就产生对这份数据的理解。所有的数据都罗列其上,即便是用了图表的形式,不经过有意设计的、没有通过数据内含的逻辑,都不会产生一个印象深刻的好故事。

现在修改一下,如果只用彩色的线条表现死亡病例数量最多的几个国家,而将其它国家全部都用很浅灰色表现,那些线条一样也是在发生发展,但不作为视觉的焦点,读者和听众就能自己有所侧重的理解和解读。这就是一个有设计的故事了。

总结:


能讲精彩的故事,并不容易,需要刻意的练习,就像绘画、书法、摄影一样,看似都是我们日常接触最多、也容易起步的技能,但要想自然的发挥出来,离不开长久人所不知的训练和不断的精进。我们人人都可以从套路开始。而讲述数据故事也不那么复杂,但你得先会学会制作出故事的素材——数据图表和可视化效果。地图可以是你的首选入门,极海的平台邀请您来淘淘宝,看看别人用到了哪些数据,又怎么将其表达成了地图。至于我强调的从”不同和对比“中提炼数据故事的精华,可以从下图——故事中的常见七种冲突类型找灵感:1、数据故事主体自己的过去和现在的冲突;2、主体与竞争对手的冲突;3、主体与周边情况的冲突;4、主体与同类别共性之间的冲突;5、主体与先进榜样的冲突;6、主体与未来愿景的冲突;7、主体与假设情况的冲突。