人工智能和数据科学的分析技能-全-
人工智能和数据科学的分析技能(全)
原文:
zh.annas-archive.org/md5/2ca35319c86af0cecd486f43e63c6cf3译者:飞龙
前言
为什么需要 AI 的分析能力?
从 2010 年代下半叶的头条新闻和社交媒体评论来看,人工智能时代终于带来了其自动化和价值创造的承诺。不久之前,大数据革命开始于 2005 年左右也曾带来类似的承诺。尽管确实有一些公司通过 AI 和数据驱动的商业模型成功颠覆了行业,但很多人仍未实现这些承诺。
这种缺乏可测量结果的几种解释,每一种都有一定的合理性,但本书提出的一个解释是,对于这些新技术,普遍缺乏与之互补的分析能力。
本书的核心前提是,企业的价值是通过做决策而不是仅仅靠数据或预测技术来创造的。尽管如此,我们可以借助大数据和人工智能革命,开始以系统化和可扩展的方式做出更好的选择,通过将我们的公司转变为现代化的 AI 和数据驱动决策的企业来实现。
要做出更好的决策,我们首先需要提出正确的问题,迫使我们从描述性和预测性分析转向规定性行动。我将在开头几章详细阐明这些概念,并解释如何提出适合这种类型分析的更好商业问题。然后,我将深入探讨决策的解剖学,从我们想要实现的结果或后果开始,向后推导我们可以采取的行动,并讨论由干预的不确定性和因果关系所带来的问题和机会。最后,我们将学习如何提出和解决规定性问题。
用例驱动方法
由于我的目标是帮助从业者利用这种分析技能集从 AI 和数据科学中创造价值,因此每一章都会说明如何通过一系列用例来运用每一种技能。这些用例之所以被选中,是因为它们在工作中被证明有价值,因为它们在各行业间普遍适用,因为学生们发现它们特别有趣或有用,或者因为它们是工业中常见更复杂问题的重要基础。但最终这种选择是主观的,根据你所在的行业,它们可能更或者更少相关。
这本书不是什么
这本书不是关于人工智能或机器学习的。这本书讨论的是成功利用这些预测技术创造价值所需的额外技能。
我在附录中提供了机器学习的简介,目的是为了自我完备,但它并不是机器学习相关材料的详细展示,也不是预先计划的。为此,你可以参考许多优秀的书籍(附录的进一步阅读部分中提到了一些)。
适合谁读这本书
这本书适合希望从机器学习中创造价值的任何人。我曾将这些材料的部分用于商业学生、数据科学家和商业人士。
最先进的材料涉及不确定性和优化的决策,因此具有概率论、统计学或微积分背景的读者肯定会受益匪浅。对于没有这些背景的读者,我试图使介绍自成体系。初次阅读时,你可以跳过技术细节,专注于发展直觉并理解每章的主要信息。
-
如果你是商业人士,对自己不进行机器学习毫无兴趣,这本书至少应该帮助你重定向你希望数据科学家回答的问题。商业人士有很多好主意,但可能难以表达他们希望传达给技术人员的内容。如果你想开始在自己的工作中使用 AI,这本书将帮助你制定和转化问题,使其他人可以着手解决方案。我希望它也能激励你解决那些你认为无法解决的新问题。
-
如果你是数据科学家,这本书将全面展示你如何接触利益相关者并生成应用技术知识的想法的整体视角。依我看,数据科学家在解决预测问题方面确实非常擅长,但很多时候难以提供预设的行动方案。结果是,你的工作没有创造出你期望和希望的那么多价值。如果你因为利益相关者不理解机器学习的相关性而感到沮丧,这本书或许能帮助你转变解决问题的方式,将其“更贴近业务”。
-
如果你不属于这些人群,但却觉得这本书的标题吸引人,那表明你对人工智能感兴趣。请记住前一节的免责声明:这本书不会教你如何开发 AI 解决方案。我的目标是帮助你将业务问题转化为使用 AI 作为输入的预测性解决方案。
所需的是
我在这本书中采用了一种可以被不同读者群体轻松阅读的风格。我不期望读者具有概率论、统计学、机器学习、经济学或决策理论的任何先验知识。
具有这些背景的读者将会发现更多技术材料都是入门级别,这其实很好。在我看来,通过这些技术创造价值的关键是专注于业务问题,而不是技术细节。我希望通过专注于使用案例,你能找到许多新的解决问题的方法。
对于这些主题没有背景的读者,我尝试提供一个非常基础的介绍,以便开发每个用例。如果您有兴趣深入了解,我还提供了一些我认为有用的参考文献清单,但我相信您在互联网上还可以找到更多。如果您对深入了解不感兴趣,那也没关系。我的建议是专注于更广阔的视野,并增强您的直觉。这样,您将能够向您公司的合适人士提出正确的问题。
要从本书中获取最大价值,真正需要的是好奇心。如果您已经读到这一段,您很可能在这方面已经很好地配备了。
本书使用的约定
本书使用以下排版约定:
斜体
表示新术语、URL、电子邮件地址、文件名和文件扩展名。
等宽
用于程序清单,以及段落内引用程序元素,如变量或函数名称、数据库、数据类型、环境变量、语句和关键字。
等宽粗体
显示用户应按字面意义输入的命令或其他文本。
等宽斜体
显示应由用户提供值或由上下文确定值的文本。
提示
此元素表示提示或建议。
注意
此元素表示一般说明。
警告
此元素表示警告或注意事项。
使用代码示例
补充资料(代码示例、练习等)可在https://github.com/dvaughan79/analyticalskillsbook下载。
本书旨在帮助您完成工作。一般来说,如果本书提供了示例代码,您可以在您的程序和文档中使用它。除非您复制了大量代码,否则无需联系我们以获得许可。例如,编写一个使用本书中几个代码块的程序不需要许可。销售或分发 O’Reilly 书籍的示例需要许可。通过引用本书并引用示例代码回答问题不需要许可。将本书中大量示例代码整合到您产品的文档中需要许可。
我们感激,但不需要,署名。一般的署名包括标题、作者、出版商和 ISBN。例如:“AI 与数据科学的分析技能,作者丹尼尔·沃恩(O’Reilly)。版权 2020 年丹尼尔·沃恩,978-1-492-06094-9。”
如果您认为您使用的代码示例超出了合理使用范围或上述授权,请随时联系我们,邮箱:permissions@oreilly.com。
致谢
这本书有三个灵感来源。首先,它成为墨西哥城 Tecnologico de Monterrey 的大数据管理课程的支柱。因此,我感激这所大学和 EGADE 商学院;他们为思考、讨论和讲授这些理念提供了一个很好的场所。每一届学生都帮助改进了材料、展示和用例。对他们我无比感激。
我的第二个灵感来源来自我在 Telefonica Movistar 墨西哥的数据科学主管的工作,以及在我任职期间那里的出色数据科学家团队。他们帮助营造了一个非常充满活力的氛围,我们可以跳出常规思维,向我们的业务利益相关者提出新项目。
我对我职业生涯中遇到的不同商业人士以及在墨西哥电信 Movistar 的任职期间尤为感激。要推销这些理念从未容易,而不断的挑战帮助我提升了对他们如何看待业务的理解,迫使我在这两个看似无关的世界之间架起了桥梁。
我对我的家人和朋友在始终如一的支持表示感激。最后,我对我的狗狗 Matilda 和 Domingo 无限感激。它们是陪伴我工作书籍的无数个漫长小时的完美伙伴,总是愿意给我打气。现在我们终于有更多时间去公园了。
最后但并非最不重要的,我对我的编辑 Michele Cronin 深表感激。她的建议极大地帮助改善了这本书的表现。我还要感谢 Neal Ungerleider 和 Tom Fawcett 对书的早期版本提供的反馈。特别感谢 Katy Warr 和 Andreas Kaltenbrunner 提供了非常详细的评论。由于他们的贡献,这本书大幅度地得到了改进。不用说,任何仍然存在的错误都是我自己的责任。
第一章:分析思维与 AI 驱动企业
现在是 2020 年 4 月,全球正在经历一场由新冠病毒 SARS-CoV-2 引起的非常严重的全球大流行以及随之而来的疾病(COVID-19),确诊病例数以百万计,死亡人数以十万计。如果你在网上搜索AI coronavirus,你会发现一些非常有声望的媒体和学术机构强调人工智能(AI)在抗击这场流行病中可能发挥的作用(图 1-1)。
许多人对这类标题感到不适的原因在于它们给 AI 披上了超级英雄的外衣,这已经变得相当普遍,过度强调了目前 AI 能够实现的界限。

图 1-1 AI 与冠状病毒
什么是 AI?
如果我必须按照人们对“AI”术语的理解将世界人民分为四类,我会说有四类人。
在谱系的一端是那些从未听说过这个术语的人。由于 AI 已经成为流行文化的一部分,现在在电影、电视节目、书籍、杂志、脱口秀等方面普遍存在,我猜这个群体相对较小。
大多数人属于第二组,他们认为 AI 更接近从业者所称的人工通用智能(AGI)或类似人类的智能。在他们看来,AI 是类似人类的机器,能够完成与人类相同的任务并做出决策。对他们来说,AI 不再是科幻的领域,因为几乎每天都会看到某种形式的媒体报道,介绍 AI 如何改变我们的生活。
第三组人,实际上不喜欢这个术语,更愿意使用没那么性感的机器学习(ML)来描述他们的工作。ML 主要关注使用强大算法和大量数据进行准确预测。有许多这样的算法,但 ML 技术的宠儿是深度学习——即通过深度神经网络进行学习——它几乎是当今该领域所有媒体关注的焦点。
深度学习也涉及使用预测算法,这些算法在解决几年前只有人类能够处理的问题方面表现出了相当强大的能力,特别是在图像识别和自然语言处理领域(例如 Facebook 自动为你的照片中的朋友打标签,或者像 Alexa 这样的虚拟助手在亚马逊上平滑地处理你的购物体验,并控制你家中连接到互联网的灯光和其他设备)。
我不想用技术细节分散你的注意力,所以如果你想了解更多,请参考附录。我想在这里强调的唯一一点是,从业者听到或阅读“AI”时,他们会想到“ML”,在他们看来,这实际上只是预测算法。
第四个也是最后一个组别是我称之为“专家”的人,即那些正在进行研究并因此推动 AI 领域进展的极少数个人。如今,大部分资金都被用于推动深度学习领域的边界,但在某些情况下,它们也在进行关于实现 AGI 的其他主题的重要研究。
那么,什么是人工智能(AI)?在本书中,我将 AI 和 ML(机器学习)互换使用,因为这已经成为行业标准,但请记住,除了预测之外,AI 研究领域还涵盖其他主题。
为什么当前的人工智能无法兑现其承诺?
AI 的问题从其名称本身开始,因为它不可避免地让我们想到具有类似人类智能的机器。但困难不仅仅来自于一个误称,还来自内部评论,因为一些该领域的知名领袖加强了在短期内将难以实现的期望。2016 年,一位这样的领袖声称,“几乎任何普通人在<1 秒内能做的事情,我们现在都可以通过 AI 自动化”。其他人可能更谨慎,但他们坚定地认为深度神经网络是实现 AGI 的基础构建模块,这为媒体提供了多篇引人注目的头条新闻。
但我岔开了话题:对于本书的目的来说,真正重要的是这种炒作如何影响我们经营业务的方式。我们经常听到首席执行官和其他高级主管说他们正在用 AI 颠覆自己的行业。尽管他们可能并不完全了解这个术语的含义,但在泡沫破裂之前,供应商和顾问们都非常愿意分享这些财富。
炒作很危险,因为对未实现预期的自然反应是削减所有资金和组织焦点。¹ 我在这本书中的目标是要表明,虽然我们可能还远未创造出类似人类智能的东西,但通过当前技术,我们可以通过将 AI 作为输入来显著提升我们企业的决策能力而创造实质性价值。
在此之前,让我们先了解一下我们是如何到达这里的,因为这将有助于展示当前方法的一些困难以及已经可以实现的机会。
我们是如何到达这里的?
图 1-2 展示了全球市值排名前十的公司的演变过程。除了伯克希尔·哈撒韦(沃伦·巴菲特的企业集团)、Visa 和 JPMorgan 外,其余公司均属于技术领域,并且均已拥抱数据和人工智能革命。² 表面上看,这似乎意味着如果这对它们有效,那么对任何其他公司也应该有效。但事实真的如此吗?

图 1-2. 市值前十名排行榜的演变——(2018 年之前离开排行榜的公司未标记)
在这些成功背后,有两个故事最近才汇聚在一起。一个与人工智能的发展有关,另一个与大数据革命有关。
数据革命
不久前,技术头条的女王是大数据,几乎没有人谈论人工智能(根据《经济学人》的说法,2017 年大数据是新石油)。让我们简要地讲述大数据如何崛起并戴上皇冠,以及人工智能近年来出乎意料地夺得了风头。
2004 年,谷歌发表了其著名的MapReduce 论文,使公司能够将大数据块的计算(无法放入单台计算机)分布到不同的机器上进行处理。后来,Yahoo!推出了自己的开源版本,标志着数据革命的开始。
几年来,技术评论员和咨询公司开始声称数据将为企业提供无限的价值创造机会。在开始时,这场革命围绕一个支柱建立起来:拥有更多、多样化和快速可访问的数据。随着炒作的成熟,又增加了两个支柱:预测算法和数据驱动文化。
三个 V
第一个支柱涉及现在众所周知的三个 V:容量、多样性和速度。互联网转型为公司提供了越来越多的数据量。据 2018 年的估计,人类历史上 90%的数据是在过去两年内生成的,类似的计算还有很多。如果我们想要分析这些表面上无限的信息供应,技术必须进行适应。我们不仅需要存储和处理更大量的数据,还需要处理新的非结构化数据类型,如文本、图像、视频和录音,这些数据类型在当时的数据基础设施下不易存储或处理。
创新推出后,咨询师和供应商提出了推广这些新技术的新方法。在大数据时代之前,企业数据仓库被用于存储和分析结构化数据。新时代需要同样新的东西,因此数据湖应运而生,承诺为存储和分析大数据提供灵活性和计算能力。
由于“线性可伸缩性”,如果需要完成的工作加倍,我们只需安装两倍的计算能力来满足同样的截止期限。类似地,对于给定的任务,我们可以通过加倍基础设施来将当前时间减半。计算能力可以通过商品硬件轻松添加,由开源软件高效运行,我们可以方便地使用。但数据湖也允许快速访问更多种类的数据源。
一旦我们解决了数据量和种类的问题,速度就成了下一个前沿,我们的目标必须是减少行动和决策的时间。我们现在能够实时或准实时地存储和处理大量非常多样化的数据。如果必要,这三个 V 可以为任何愿意投资技术和专业知识的公司轻松实现。尽管如此,财富尚未在望,所以又加入了两个新支柱——预测和数据驱动文化——以及成功的配方。
数据成熟度模型
由于仅仅依靠数据并未创造承诺的价值,我们需要一些额外的指导;这就是成熟度模型的作用,它承诺帮助企业在数据革命所带来的动荡中航行。我将解释其中的一个模型,如 图 1-3 所示。

图 1-3. 一个可能的数据成熟度模型,展示了价值创造的层次结构
描述性阶段
从左开始,一开始就显而易见的一件事是:拥有更多、更好、及时的数据可以提供对我们业务绩效更精细的视角。我们快速反应的能力肯定会让我们创造一些价值。健康类比可能有助于理解其中的原因。
想象一下,你在身体中安装传感器,通过可穿戴设备或其他即将发明的内部设备提供给你更多、更好和及时的健康数据。由于现在你可能知道你的心率或血压何时超过某些临界水平,你可以采取任何必要的措施使事物恢复正常。同样,你可以追踪你的睡眠模式或血糖水平,并相应地调整你的日常习惯。如果我们反应足够快,这些新的可用数据甚至可能拯救我们的生命。对过去数据的这种描述性分析可能为你的健康提供一些见解,而创造价值的能力在于我们足够快速地反应。
预测阶段
但通常我们反应时已经太迟了。我们能做得更好吗?一种方法是用预测性行动取代反应性。只要预测力足够强大,这一层应该能为我们赢得时间以找到更好的行动,从而创造新的价值机会。
这个新阶段使我们能够开发新的数据产品,比如推荐引擎(想想 Netflix),并且还催生了数据变现时代的开始。在线广告业务因此诞生,标志着我们故事中的一个重要转折点。市场营销人员的梦想因数据及其生成的预测的承诺而变为现实,在正确的时间向正确的人销售合适的产品。
规定阶段
在价值创造的这个层次结构中,最高的地位由我们自动化和设计智能系统的能力占据。我们现在处于指导性层:一旦拥有足够的预测能力,就可以开始找到实现业务目标的最佳行动。这是公司从预测到优化的层次,是数据奥林匹斯的宝座,有趣的是,这是大多数成熟模型中最少被探索的步骤。
一个未实现期望的故事
在不到 15 年的时间里,我们经历了两次繁荣期——大数据革命后来是当前的人工智能阶段——因此您可能会想知道为什么承诺尚未兑现。
我不是数据成熟度模型的忠实粉丝,但我相信答案就在其中:大多数公司尚未达到指导性阶段。大数据一切关注描述性阶段,正如我们所提到的,人工智能主要关注预测。由于过去几年中一切已经为我们铺平了道路,关于我们显然无法前进的原因的问题便迷失在其中。
我确信市场力量是一个重要因素,这意味着一旦炒作开始,市场参与者希望在完全耗尽之前获得利益,然后再转向下一个大事件。由于我们仍处于这个阶段,目前还没有动力继续前进。
但事实也是,要变成指导性的,我们需要获得一套新的分析技能。直至今日,使用当前技术,这个阶段是由人类完成的,因此我们需要培养人类来提出和解决指导性问题。本书旨在让我们更接近这一目标。
现代人工智能驱动企业的分析技能
Tom Davenport 的经典著作Competing on Analytics(哈佛商业出版社)基本上将分析思维与后来被称为数据驱动的概念等同起来:“通过分析,我们指的是广泛使用数据、统计和量化分析、解释性和预测性模型以及基于事实的管理来驱动决策和行动。” 另一个定义可以在 Albert Rutherford 的The Analytical Mind(独立出版)中找到:“分析能力简单地说就是解决问题的能力。这些是能力和技能,使您能够以逻辑和理性的方式处理问题,以期找出最佳解决方案。”
在本书中,我将分析推理定义为将业务问题转化为指导性解决方案的能力。这种能力既要求数据驱动,也要求能够理性和逻辑地解决问题,因此实际上与前面描述的两种定义是一致的。
要使事情变得实际,我将把商业问题等同于商业决策。其他仅具信息性且不涉及行动的问题可能对某些公司具有内在价值,但我不会在这里处理它们,因为我的兴趣在于通过分析决策创造价值。由于大多数决策是在不知道实际后果的情况下做出的,人工智能将是我们应对这种内在不确定性的武器。请注意,在这种方法下,预测技术是我们决策过程中重要的输入,但并非终点。预测质量的提高可以产生一级或二级效应,具体取决于我们当前是否已经做出接近最佳选择。
主要收获
-
大多数公司未能通过数据或人工智能以可持续和系统化的方式创造价值:尽管如此,许多公司已经开始他们自己的努力,只是为了达到失望的墙壁。
-
今天的人工智能关注的是预测:人工智能被过度吹捧,不仅因为其误导性的名称,还因为通过更好的预测只能达到有限的成就。如今,人工智能通常指的是深度学习。深度神经网络是高度非线性的预测算法,在图像识别和自然语言处理领域表现出色。
-
在人工智能出现之前,我们经历了大数据革命:数据革命先于当前的炒作,也承诺要产生杰出的业务结果。它围绕三个 V——容量、多样性和速度——构建,后来又补充了预测算法和数据驱动文化。
-
数据和预测本身无法创造可持续的价值:成熟度模型表明,通过以数据驱动方式做出最佳决策来创造价值。为此,我们需要数据和预测作为我们决策过程中的输入。
-
我们需要一套新的分析技能才能在这个规定性阶段取得成功:当前技术阻碍了我们将商业问题转化为规范解决方案的自动化过程。由于人类需要始终参与其中,我们需要提升我们的技能水平,以从数据和人工智能驱动的决策中捕获所有的价值。
进一步阅读
2019 年和 2020 年见证了关于通过人工智能能够实现什么极限的非常有趣的辩论。您可以在蒙特利尔的加里·马库斯和约书亚·本吉奥进行的讨论中看到这样的辩论。如果您喜欢阅读,加里·马库斯和欧内斯特·戴维斯的重启人工智能:构建我们能信赖的人工智能(潘西恩出版社)将提供关于为何许多人对深度学习成为实现 AGI 的方式持批评态度的细节。
在讨论 AI 如何影响企业的主题上,我强烈推荐阅读《预测机器:人工智能的简单经济学》(Harvard Business Press),作者是 Ajay Agrawal、Joshua Gans 和 Avi Goldfarb。这本书由三位经济学家和 AI 战略家撰写,提供了一份远离炒作、务实的现有 AI 现状报告。他们的关键观点是,由于当前的发展,企业内部预测解决方案的成本大幅降低,而质量却在持续提高,为公司转变其商业模式提供了巨大的机会。同样由经济学家撰写,《机器平台群体:驾驭我们的数字未来》(W. W. Norton and Company)由 Andrew McAfee 和 Erik Brynjolfsson 讨论数据、人工智能和数字转型如何影响我们的企业、经济和整个社会。
数据成熟度模型出现在几本书中:你可以查阅 Thomas Davenport 和 Jeane Harris 的《竞争分析》(Harvard Business Press);Tom Davenport 的《工作中的大数据:揭示神话,发现机会》(Harvard Business Press);或者 Bill Schmarzo 的《大数据:理解数据如何推动大企业》(Wiley)。
如果你对我们实现强人工智能的探索感兴趣,Nick Bostrom 的《超智能:路径、危险、策略》(Oxford Univeristy Press)详细讨论了智能是什么以及超智能可能如何出现,以及这一发展的危险及其对社会的影响。类似的讨论也可以在 Max Tegmark 的《生命 3.0:在人工智能时代如何成为人类》(Vintage)中找到。
最后,在播客方面,我建议关注 Lex Fridman 的《人工智能》(Artificial Intelligence)。这里有许多与该领域领导者的重要访谈,将为当前事务提供更多背景信息。
¹ AI 领域非常清楚这种风险,因为它经历了至少两次“冬天”,在这些时期几乎完全拒绝资助任何研究人员。
² 数据来自Wikipedia,截至 2020 年 3 月检索。在图表中,我仅使用每年最后一个季度的信息。
第二章:分析思维导论
在上一章中,我将分析思维定义为将商业问题转化为规范解决方案的能力。从这个定义中,我们可以深入探讨许多内容,而这将是本章的任务。
为了真正理解规范解决方案的力量,我将从精确定义商业决策分析中的三个阶段开始:即我们已经在 第一章 中提到的描述、预测和规范步骤。
由于我们分析工具箱中的一个关键技能是从一开始制定正确的商业问题,我将对这个主题进行初步探讨。剧透警告:我们只关心从事业务决策所需的商业问题。然后,我们将决策分解为杠杆、后果和商业结果。杠杆与后果之间的联系通过因果关系进行中介,因此我将花费相当多的时间讨论这个主题。最后,我将讨论不确定性在商业决策中的作用。每一个这些主题都与本书中将要发展的一个技能相关联。
什么是杠杆?
在本书的背景下,“杠杆”与“行动”或“决策”是同义词,因此,每当我们说“我们想要拉动某个杠杆以获得商业结果”时,这意味着我们在寻找适当的行动或决策。
描述性、预测性和规范性问题
在 第一章 中,我们看到数据成熟度模型通常描绘了一个美好而平稳的道路,从描述阶段开始,经历预测平台,最终达到预测巅峰。但为什么会这样?让我们从理解这些概念开始,然后我们可以讨论评论员和实践者为什么都认为这是数据演进的自然升华过程。
简而言之,描述性关注事物的现状,预测性关注我们认为事物将会如何,而规范性关注事物应该如何。就像《权力的游戏》中泰瑞昂·兰尼斯特在“龙的舞蹈”集中说的:“混淆现实和应该的事物很容易,特别是当现实对你有利时”(我强调)。泰瑞昂似乎在声称,当事情顺利时,我们往往有混淆描述和规范的倾向,这可能是一种确认偏见的形式。顺便说一句,当结果是负面的时候,我们往往认为这是最坏的可能结果,并将我们的命运归因于某种形式的墨菲定律。
无论如何,正如这次讨论所显示的那样,规范阶段是我们可以排列不同选项以使“最好”或“最差”这样的词有任何意义的地方。由此可见,规范层永远不能逊色于描述层,因为在前者中我们总是可以做出最佳决策。
但是预测呢?首先,它的中间排名至少是有问题的,因为描述与当前状态有关,而处方与决策质量有关,预测是使决策成为决策的输入,这可能是最优的或甚至是好的。在所有成熟度模型中,隐含的假设是:当我们对问题中的基本不确定性有更好的预测时,可以改善决策质量;好的预测使我们能够提前计划并主动行动,而不是对过去的反应几乎没有或没有余地。也就是说,这实际上是一种假设,因为预测本身并没有任何固有的东西使其改善我们企业的结果。
当预测分析强大时:癌症检测的案例
让我们举一个更好的预测可以产生巨大差异的例子:癌症检测。肿瘤学家通常使用某种类型的视觉辅助工具,例如 X 光或更先进的 CT 扫描来早期检测不同的病理。在肺癌的情况下,X 光或 CT 扫描描述了患者当前的健康状况。不幸的是,视觉检查除非疾病已经达到晚期,否则是无效的,因此,仅仅依靠描述可能不会提供足够的时间进行积极的反应。AI 已经显示出在通过检查 CT 扫描来预测肺癌的存在方面表现出色,通过识别最终将变成恶性的斑点。但是预测只能带我们走这么远。接着,医生应该推荐适当的治疗方案,使患者完全康复。AI 提供了预测能力,但是人类为患者开具处方。
描述性分析:客户流失的案例
让我们运行一个相对典型的描述性分析的用例,大多数公司都曾经处理过:客户流失或流失。我们将看到,如果没有来自我们的业务目标的指导,这种类型的分析可能会使我们陷入僵局。
什么是客户流失?
如果您不认识这个术语,客户流失是客户在一段时间内停止使用公司产品或服务的速率。例如,如果您公司的月度流失率为 5%,这意味着在周期开始时从您购买的 100 名客户中有 5 名在月末时不再购买。正如您可能想象的那样,确切的定义因行业而异,关键取决于预期的购买频率(想想信用卡)。
我们关心流失的主要原因是,我们的客户获取成本通常远远大于相应的保留成本,因此,拥有积极的流失控制策略已经成为一个目标本身。
描述流失
假设你的老板希望控制流失率。作为第一步,她可能会要求你诊断问题的严重性。在处理数据后,你得出以下两个图表(图 2-1)。左图显示了每日流失率的时间序列。你有信心地陈述两件事:年初相对稳定后,流失率现在正在上升。其次,有明显的季节性模式,周末的流失率低于平均水平。在右侧面板中,你展示了平均收入较高的市镇也具有较高的流失率,这当然令人担忧,因为你最有价值的客户可能会转向其他公司。

图 2-1. 我们公司流失率的描述性分析
这是描述性分析可以实现的一个很好的例子,得益于我们在数据中识别模式的卓越能力。在这里,我们迅速识别了趋势的变化(流失正在加速),在散点图中发现了强烈的季节性效应,并且流失率与家庭平均收入呈正相关。
但这也凸显了它的一些缺点。首先,正如你可能听说的那样,相关并不意味着因果,这是本章后面将详细讨论的话题。与此相关的是,成功的根本原因分析要求我们能够建立关于因果关系的理论。没有这些理论,我们无法着手提供改善公司情况的替代行动方案。检查数据而不提出合理的解释是让你的分析和数据科学团队浪费宝贵时间的完美配方。
预测流失
作为下一步,你的老板可能会要求你在未来预测流失。你应该如何操作?这实际上取决于你希望通过这项分析实现什么目标。例如,如果你在金融领域工作,并且对预测未来一个季度的损益表感兴趣,你会很高兴地预测未来的总体流失率。然而,如果你在市场营销部门工作,你可能希望预测哪些客户有可能离开公司,可能因为你可以尝试使用不同的留存活动。
提出减少流失的行动方案
最后,假设你的老板要求你推荐减少客户流失率的替代行动方案。这就是处方工具包非常有用的地方,也是做出良好决策影响最大的地方。然后,你可以为客户留存进行成本效益分析,并制定最大化客户生命周期价值(CLV)的规则。
我们将有机会对这个使用案例进行更详细的讨论,但是让我单独指出任何规范性分析的两个特征:与之前两种分析相反,在这里我们积极推荐可以通过激励可能离开的客户留下来来改善我们的立场的行动方案。其次,预测作为决策过程中的输入,帮助我们计算预期的节省和成本。人工智能将帮助我们更好地估计这些量,这对于我们提出的决策规则是必要的。但正是这个决策规则创造了价值,而不是预测本身。
本书的一个目标是让我们能够将业务问题转化为规范性解决方案,所以如果现在还不明显,不用担心。我们将有时间逐步进行许多示例。
业务问题和 KPIs
书中的一个基础理念是,价值来自于做决策。因此,机器学习形式上的预测只是创造价值的一种输入。在本书中,每当我们谈论业务问题时,我们始终牢记的是业务决策。当然,有些业务问题纯粹是信息性的,没有涉及到任何行动。但由于我们的目标是系统地创造价值,我们只会考虑可行的问题。事实上,本书的一个副产品是,我们将学会几乎自动地寻找可行的见解。
这本书建议了一个问题,那就是为什么我们必须做出决策。只有通过回答这个问题,我们才能知道如何衡量我们所做选择的适当性。那些在没有任何相关证据面前无法判断的决策将被舍弃。因此,我们必须学会如何选择正确的度量标准来追踪我们的绩效。许多数据科学项目和业务决策失败并非因为使用的逻辑有问题,而是因为度量标准与问题不匹配。
有一整套文献讨论如何选择正确的关键绩效指标(KPIs),我认为在这个话题上我无甚添加。我寻找的两个主要特征是相关性和可度量性。当一个 KPI 允许我们清晰评估我们的决策结果与业务目标相关时,它就具有相关性。请注意,这与业务问题的相关性无关,而是与我们能否评估决策是否奏效以及奏效程度有关。因此,一个好的 KPI 应该是可度量的,而且应该在决策做出时或者稍有延迟时就能测量。延迟测量不仅有机会成本,而且可能更难确定根本原因。
用于衡量忠诚计划成功的 KPIs
让我们简要讨论一个例子。假设我们的首席营销官要求我们评估为公司创建一个忠诚计划。由于问题以一个动作开始(即,创建忠诚计划或不创建),因此它立即对我们注册为一个业务问题。我们应该追踪哪些指标?为了回答这个问题,让我们开始为什么问题的顺序。
为什么问题的顺序
以下示例展示了我称之为为什么问题的顺序的技术。它用于确定我们要优化的业务指标。
它通过从您,您的老板或您的同事可能认为您想要实现的目标开始,并质疑关注此目标的原因来运作。向上移动一步并重复。当您对答案满意时,它结束。顺便提一句,回想一下,为了满意,您必须有一个相关且可衡量的关键绩效指标来量化您将关注的业务结果。
我们的为什么问题如下所示:
-
创建一个忠诚计划。为什么?
-
因为你想奖励忠实的客户。为什么?
-
因为你想激励客户与公司保持更长时间。为什么?
-
因为你想长期增加你的收入。为什么?
当然,问题还可以继续下去。重要的是,对这些问题的最终答案通常会让您清楚地确定对于手头的问题而言哪个 KPI 是相关的,以及可能提供有用的任何中间度量标准;如果它也是可衡量的,那么您已经找到了解决问题的正确指标。
举个例子,考虑第二个问题。为什么任何人都想奖励忠实的客户?他们已经忠实,无需任何外在动机,因此这种策略甚至可能适得其反。但是撇开基本推理,忠诚为什么有意义,你如何衡量奖励的影响?我认为单纯的忠诚并不具有意义:我们更喜欢忠实的客户而不是不太忠诚的客户,因为他们代表未来更稳定的收入流。如果您不信服,请想想那些忠诚但不赚钱的客户。您还像以前一样高度评价他们的忠诚吗?如果忠诚本身不是您追求的内容,那么您应该继续进行为什么问题的顺序。
仅供讨论,假设您仍然想奖励忠实的客户。我们如何衡量方案是否有效,或者换句话说,什么是这方面的良好关键绩效指标(KPI)?一个常用的方法是直接询问我们的客户,就像在净推荐指数(NPS)中那样。为了计算 NPS,我们先问客户他们有多大可能推荐我们作为一家公司,从 0 到 10 的等级。然后,我们将他们分为推荐者(9 到 10),批评者(0 到 6)和被动者(7, 8)。个别答案最终通过将批评者的百分比减去推荐者的百分比来聚合到 NPS 中。
光明面是,这是一个相当直接的评估:我们只需去问我们的客户他们是否重视这个奖励。事情再也不会更直接了。问题在于,人类会根据动机行事,所以我们通常无法判断答案是否真实,或者是否存在某种潜在动机而他们试图操纵我们的系统。在评估我们决策影响时,这种战略考虑至关重要。
另一种选择是让客户通过他们的行为间接显示他们的满意程度,比如最近交易的数量或频率,或者通过相对设计良好的对照组来减少流失率¹。公司总是会进行客户调查,它们应被视为潜在的信息丰富来源。但一个好的实践是始终核实他们的说是否得到了他们的行动的支持。
决策解剖:简单分解
图 2-2 展示了我们将用来分解和理解业务决策的一般框架。从右边开始,再次强调,我们始终从业务出发。如果你的目标不明确或模糊,很可能根本不应该做出决策。公司倾向于行动,因此有时会做出毫无成果的决策。这不仅可能在业务上产生意外的负面后果;还可能影响员工的能量和士气。此外,我们现在理所当然地认为我们的业务目标可以通过相关的关键绩效指标(KPI)来衡量。这并不意味着指标自然而然地出现:正如后面的例子所强调的,我们必须仔细选择我们的指标。
通常情况下,我们不能仅仅通过自己操纵这些业务目标(记得恩隆?),所以我们需要采取一些行动或拉动一些杠杆来尝试产生结果。行动本身映射到一系列直接影响我们业务目标的后果。确保:我们拉动杠杆,我们的业务目标取决于环境反应时产生的后果。这个环境可以是人类或技术,正如我们后面将看到的那样。

图 2-2. 分解决策:行动、后果和业务结果
即使映射是直接的(大多数情况下并非如此),它仍然受到不确定性的影响,因为在决策时不可能准确知道后果会是什么。我们将利用人工智能的力量来接受这种潜在的不确定性,从而使我们能够做出更好的决策。但不要误解:价值来自于决策,预测是使决策更好的输入。
行动、后果和结果的区别
假如你还没有搞清楚后果在分解中的作用,这里举一个例子。假设我们的目标是增加收入。为了达到这个目标,我们决定拉动定价杠杆,给我们的客户提供一些折扣。我们行动的结果是我们的客户增加了对我们品牌的消费,这本身就会带来更高的收入。
-
行动:提供折扣
-
结果:客户增加对我们产品的需求
-
结果:收入增加
总之,在我们的日常生活和商业中,我们一般追求明确的、可以衡量的目标。决策是在竞争的行动中选择以实现这些目标的行动。数据驱动的决策是根据证据采取行动,评估替代行动方案。规范决策是选择为我们产生最佳结果的行动的科学;因此,我们必须能够根据可衡量且相关的关键绩效指标对我们的选择进行排名。
一个例子:你为什么买这本书?
接下来的例子应该能说明这种分解对我们所做的每一个决策都是如何工作的(图 2-3)。以你购买这本书的选择为例。这是一项你已经做出的行动,但是,当然,你也可以做出其他选择。由于我们总是从业务问题开始,让我想象一下你试图解决什么类型的问题。

图 2-3. 分解购买本书的决策
我不知道你在购买时解决的目标是什么,但在我的情况下,我会对提升自己的职业发展感兴趣。因此,我将假设你想优化的关键指标是你的工作效率,并且遵循我们关于关键绩效指标的讨论,我将方便地假设这是可以衡量的。
既然你在阅读这本书,我也会简化所有有趣的细节,只考虑两种可能的行动:购买或者不购买。正如图中所示,如果你购买这本书,那么至少会产生三种可能的后果:你学到有价值的东西,你学到不好的实践,或者你什么也学不到。自然地,这些后果都会影响你的工作效率。
如果你不购买这本书,可能会发生许多事情。例如,你可能会突然充满灵感,开始理解你工作的复杂性,从而提高你的工作效率。虽然这是可能的,但我们会诉诸于奥卡姆剃刀原理,并保持你的知识和生产力保持相同的最可能的结果。
奥卡姆剃刀原理
当一个问题有很多合理解释时,奥卡姆剃刀原理会倾向于选择最简单的解释。同样,在统计学中,当我们有多个可能解释一个结果的模型时,如果我们应用这个原则,我们会试图使用最简洁的模型。
如果现在这个还不太清楚,不要担心;第五章将完全致力于提高我们的简化技巧。
最后,困难在于在您做出决定时,您真的不知道会发生什么后果。例如,与您的信念相反,可能奥莱利签署了这本书或作者是个错误。不幸的是,只有在您阅读之后才能知道(所以请阅读)。这是这个具体决定的潜在不确定性。
总结一下,注意到如何一个简单的行动帮助我们清晰而逻辑地找出正在解决的问题、一组杠杆、它们的后果以及潜在的不确定性。您可以在做出任何决定时使用这种分解方法。
因果关系入门
接下来的章节将深入探讨分解的每个阶段,因此有足够的时间理解这些杠杆的来源及其如何映射到结果。然而,现在停下来并认识到,这种映射是通过因果力量介导的。
回到“相关不意味着因果”的说法,不管我们听过多少次,混淆这两个术语仍然非常普遍。我们的大脑进化成为一个强大的模式识别机器,但我们并不那么擅长区分因果和相关关系。²
定义相关性和因果关系
严格来说,相关性是两个或多个变量中的任何线性依赖的存在或不存在。不那么正式地说,如果两个变量倾向于“一起运动”,它们就是相关的。
因果关系更难定义,所以让我们采取几乎所有人都遵循的捷径:因果关系是因果关系的一种关系。如果(部分)导致,则(部分)是的效果。这里使用“部分”修饰词是因为很少有一个因素是关系的唯一来源。
人们也可以用反事实来定义因果关系:如果没有发生,那么是否真的可以观察到? 如果答案是肯定的,那么从到存在因果关系的可能性很小。同样,“可能性很小”是重要的修饰词,并与之前的“部分”修饰词有关:存在一些因果关系仅当存在正确的条件组合时才会发生。
像图 2-1 中的散点图非常擅长描绘两个变量之间的相关性,但不幸的是,它不能指导我们理解因果关系。为此,在两个方向上询问反事实问题并使用奥卡姆剃刀选择一组可能的解释是相当标准的做法。
估计因果效应的一些困难
评估拉动杠杆对结果的因果影响至关重要,因为我们试图设计最优决策。这种类比并非偶然:就像工程师必须了解物理定律才能建造摩天大楼、桥梁、汽车或飞机一样,今天的分析领导者必须在一定程度上理解中介我们自己行动及其后果的因果法则,以做出尽可能最佳的决策。而这是人类必须完成的任务;人工智能将在决策过程中帮助我们,但我们必须首先克服因果障碍。
问题 1:我们无法观察到反事实。
正如前面讨论过的,有几个问题使我们对因果效应的识别变得更加困难。第一个问题是我们只能观察事实,所以我们必须想象替代的反事实场景。可以说,分析思想家必须发展的最重要技能之一是质疑对经验结果的初步解释,并提出待测试的反事实替代方案。如果我们拉动了不同的杠杆,或者在不同条件下拉动了相同的杠杆,后果会有所不同吗?
让我们暂时停下来讨论这个问题包含的内容。假设我们想要提高电话营销活动中的潜在客户转化率。汤姆,一位在大学上过弗洛伊德精神分析课程的初级分析师,建议说女性呼叫中心代表应该有更高的转化率,于是公司决定让其非常能干的女性代表团队在一天内拨打所有外呼电话。第二天,他们会议审查结果:潜在客户转化率从正常的 5%提高到了令人惊讶的 8.3%。看来弗洛伊德是对的,或者更好的说,汤姆的决定上课终于得到了证明。还是这样吗?
要得到正确答案,我们需要想象一个顾客在一个宇宙中从女代表那里接到一个电话,然后在平行宇宙中从男代表那里接到完全相同的电话(图 2-4)。完全相同的顾客、完全相同的时间、完全相同的心情和完全相同的信息;两种情况中的一切都是相同的:我们只改变了语调,从男性变为女性。毋庸置疑,实现这样的反事实在实践中听起来是不可能的。本章后面我们将描述如何通过精心设计的随机实验或 A/B 测试模拟这些不可能的反事实。

图 2-4. 呼叫中心潜在客户转化率的反事实分析
问题 2:异质性
第二个问题是异质性。人类天生不同,每个人都是我们遗传和生活经历的产物,形成了独特的世界观和行为方式。我们的任务不仅是估计在我们选择拉动特定杠杆时行为如何变化的因果效应,而且我们还必须注意到不同的顾客会有不同的反应。一个推广我们产品的影响者对你和我会产生不同的影响:我现在可能愿意尝试它,而你可能选择继续忠于你喜欢的品牌。我们如何甚至衡量异质效应呢?
图 2-5 展示了著名的钟形曲线,正态分布,统计迷的宠儿。我在这里使用它来代表我们分析顾客在推广者推荐我们产品时的反应时可能遇到的自然变化。他的一些追随者,比如我,会接受这个暗示并积极反应——表示为超过垂直虚线的右侧动作,所有追随者、追随者的追随者等的平均反应。有些人则完全没有反应,甚至可能产生负面反应——这就是人类行为的美丽之处;我们有时候会得到可能动作和反应的全部范围。分布形状具有重要的含义,在现实中,我们的反应可能不会如此对称;我们可能会有更长的左或右尾部,并且反应可能偏向于正面或负面。这里重要的是人们的反应不同,这使得我们在试图估计因果效应时变得更加困难。

图 2-5. 正态分布作为思考顾客异质性的一种方式
我们通常处理异质性的方式是通过估计唯一响应来消除它,通常由平均值或均值(在图 2-5 中的垂直线)给出。然而,均值对极端观察非常敏感,因此我们有时可以用中位数代替它,中位数具有 50%的响应低于(左侧)和 50%高于(右侧)的属性;在钟形分布中,均值和中位数方便地是相同的。
问题 3: 混杂因素
在寻找因果关系时,通常会像在图 2-6 中绘制散点图一样开始,其中每个标记表示一对 观察。

图 2-6. 两个高度相关变量的模拟
你可能会想断言,在这种情况下,有明确的证据表明导致或反之——常见的是将散点图解释为水平轴上的变量与垂直轴上结果之间的关系——但正如 Example 2-1 所示,这种解释是错误的:
示例 2-1。模拟第三个未考虑变量对其他两个相关性的影响
# fix a seed for our random number generator and number of observations to simulate
np.random.seed(422019)
nobs = 1000
# our third variable will be standard normal
z = np.random.randn(nobs,1)
# let's say that z --> x and z--> y
# Notice that x and y are not related!
x = 0.5 + 0.4*z + 0.1*np.random.randn(nobs,1)
y = 1.5 + 0.2*z + 0.01*np.random.randn(nobs,1)
确实,第三变量正面影响和,产生了这种伪相关性。如果我们能控制这第三变量(也称为混杂因素),或许能更好地理解我们感兴趣的两个变量之间的净关系。
考虑 Figure 2-7 中所示的例子。左上角面板绘制了墨西哥 1900 年至 2016 年的全球二氧化碳排放和人均实际国内生产总值(GDP)。右上角面板绘制了 1900 年至 2014 年威尔士和英格兰离婚人数与墨西哥 GDP 的关系。底部面板绘制了这三个时间序列,使得 1900 年的观察值为 100。³

图 2-7。左上角面板绘制了墨西哥 1900 年至 2016 年的全球二氧化碳排放与人均实际国内生产总值(GDP);右上角面板则用 1900 年至 2014 年威尔士和英格兰离婚人数替代 CO[2]排放;底部绘制了这些变量的时间序列。
如果我们仅检查散点图,我们可能会错误地得出结论,认为全球排放和英国离婚率与墨西哥经济增长有某种因果关系。然而,在这种情况下,第三变量负责这种伪相关性:统计学家和计量经济学家将时间趋势称为变量随时间绘制时的自然增长率。底部面板显示了在特定时间段内这些增长率确实非常相似。
一旦我们确认了混杂因素,我们就可以在我们的预测算法中控制它(请参见附录)。但找到混杂因素的问题远非简单,因此这项任务必须由我们来完成(因此不容易自动化)。
问题 4:选择效应
最后一个问题是选择效应的普遍存在。这通常是因为我们选择要行动的客户群体,或者客户自己选择,或两者兼而有之。因果推断中的一个重要结果是,如果我们希望通过比较两组的平均结果来估计治疗的因果效应,我们需要找到一种方法来消除选择偏差。⁴
选择偏差和因果效应
因为选择偏差,当我们仅仅通过处理组和对照组之间平均结果的差异来估算因果效应时,我们可能会低估或高估。以方程的形式陈述:
按照标准做法,像图 2-8 的顶部面板一样绘制平均结果。在这种情况下,对照组的结果比接受我们行动或杠杆的人高出 0.29 单位(假设是数百美元)。这个数字对应于前述方程的左侧。底部面板显示了相应的结果分布。使用平均值计算差异是标准做法,但有必要记住,响应有整个光谱,在某些情况下,两组之间存在明显的重叠:阴影区域显示了两组客户之间难以区分的响应。

图 2-8. 顶部面板绘制了处理组和对照组 平均 结果的观察差异;底部面板显示了实际的结果分布。
无论如何,观察结果的差异(左侧)对我们来说是不够的,因为我们已经知道它可能被选择效应偏倚了;由于我们的兴趣在于估计因果效应,因此我们必须设计一种方法来消除这种普遍影响。
数理统计学家和计量经济学家,更不用说哲学家和科学家,几个世纪以来一直在思考这个问题。由于不可能精确复制我们每一个客户,有没有一种方法来分配我们的处理方式并规避选择偏差?20 世纪著名的统计学家和科学家罗纳德·A·费舍尔奠定了实验方法的坚实基础,这在实践者中是最普遍的一种估算因果效应的方法。这个思想足够简单,可以不使用技术术语来描述。
A/B 测试
在行业中,通过运行 A/B 测试来消除选择效应是相当标准的做法,最数据驱动的公司每年运行数千次这样的实验,以找到推动决策的因果估计值。
我将在附录中专门讨论 A/B 测试,所以这里只是对技术进行了非常肤浅的描述。我们的目标是估算拉动杆 对某些输出指标 的因果效应。比如,我们希望量化价格优惠对我们收入的影响。
我们通过将客户分成两组进行 A/B 测试:A 组作为对照组,使用标准价格。相反,B 组则享受价格折扣。关键是,为了避免选择偏见,我们随机选择我们的组,因此当我们比较组间平均利润时,我们可以确信我们实际上估计了因果效应。我略去了所有有趣的技术细节,所以如果您感兴趣,请参阅附录。
不确定性
现在我们已经讨论了分解过程中的每个阶段:从业务出发,我们逆向工程影响我们目标和相应 KPI 的行动或杠杆,通过一些后果来调节。然而,由于决策是在不确定性下进行的,从行动到后果的这种映射在决策时对我们来说是未知的。但是到现在为止,我们已经知道不确定性不是我们的敌人,而且由于 AI 预测能力的进步,我们能够接受它。
但我们为什么会有不确定性?让我们首先讨论这种不确定性并非如何,然后再谈谈它是什么。想象一下抛硬币。我们知道,使用平衡的硬币,正面朝上的机会是 50%,而最终结果无法从一开始就完全预料到。由于我们大部分时间都在玩正反面,这是一个对我们来说非常接近和自然的随机性的例子。
然而,这并不是我们在做决策时所面临的不确定性类型,这对我们来说是个好消息。我们的不确定性并非纯粹的随机性,这使我们能够使用强大的预测算法,结合我们对问题的了解,选择输入变量——也称为特征——来进行预测。对于纯随机性来说,我们能做的最好的事情就是学习或者模拟结果的分布,并推导出一些理论属性,使我们能够做出明智的选择或预测。⁵
我们在做决策时不确定性的四个主要来源是我们需要简化,异质性,复杂和战略性行为,以及由社会互动引起的纯无知现象,每个将依次描述。请注意,作为分析思维者,我们应该始终知道不确定性的根源,但令人惊讶的是,我们经常会被带来的意外所困扰。
简化带来的不确定性
我最喜欢的一句话——通常被归因于爱因斯坦的是,“一切应该尽可能简单。但不要过于简化。” 同样地,统计学家乔治·博克斯(George Box)著名地说,“所有的模型都是错的,但有些是有用的。” 模型是简化,是帮助我们理解我们生活在其中的高度复杂世界运作方式的隐喻。
我再次强调,学会简化对现代分析思维者有多么重要。在第五章中,我们将有足够的时间通过一些众所周知的技术来锻炼我们的分析能力,但现在我们应该讨论简化所带来的代价。
作为分析思维者和决策者,我们经常面临一个折衷:是要得到一个足够好的答案,还是要花更多时间来开发问题更真实的图景。我们必须决定我们能接受多少不确定性,以及为了及时解决问题,我们愿意接受多少不确定性。但这种校准需要实践,正如爱因斯坦在第一条引言中简洁地表达的那样。
简化的权力和危险的一个明显例子是地图。图 2-9 显示了伦敦交通局在左侧展示的正式伦敦交通管制(TfL)地铁地图的一部分,右侧展示的是同一区域的更真实版本,也是由交通管理机构制作的。为了使我们的交通决策快速简便,地图在现实感和易用性之间进行权衡。作为地图的使用者,我们现在面临地理、距离、角度甚至可能的相关场所如公园或博物馆的不确定性。但作为第一近似,我们对这种粒度选择感到满意,因为我们的首要目标是从起点到目的地。我们稍后可以处理问题的其余部分。

图 2-9。伦敦地铁地图的部分区域——左面板对应官方地铁图,而右面板展示了同一部分的更真实版本。
最后一点让我想到另一个相关问题:一种常见的简化技术是将复杂问题分解为可以独立处理的简单子问题;计算机科学家称之为分而治之技术。当每个子问题都产生一定的不确定性时,不能保证聚合后的不确定性变得更易处理(除非我们从一开始就施加了一些简化的假设)。
这个故事的寓意是,我们应该始终记住,简化问题通常会为问题增加额外的不确定性。正如统计学家博克斯所评论的那样,“……模型的近似性质必须始终牢记在心”。
来自异质性的不确定性
在做出业务决策时,一个重要的不确定性源于我们的客户以非常不同的方式作出反应。这种广泛的行为、品味和反应可以通过分布的使用来建模,因为这通常是我们处理不确定性的方式(参见图 2-5)。通过这样做,我们可以摆脱关于结果如此多样化的具体细节,只需关注不确定性如何影响我们的最终结果。这种建模方法非常方便,迫使我们了解一些分布的基本属性。
以均匀分布为例。虽然它通常用于简化目的,但如果没有理由相信结果会趋向于积累,也可以使用它。举个具体的例子,想象一下在高峰时间等待火车的人如何在站台上分布。如果他们的目标是尽快找到座位并上车,最自然的情况就是他们均匀分布。
我们已经接触过正态分布,它在科学界非常普遍。有时出于简化的目的使用它,因为它具有一些非常有利的特性(线性性、可加性),但它在许多情境下也自然而然地出现。例如,我们可以借助一个版本的中心极限定理,它表明在某些条件下,数字的平均数或总和的分布最终足够接近于正态分布。
另一个常用的分布是幂律(或重尾)分布,与高斯分布相反,它具有更长的尾部。⁶ 例如,在建模您的影响者的影响力或追随者数量时,我们可能会采用幂律分布,但还有许多其他例子显示这些分布最自然地出现。⁷
图 2-10 显示了从均匀分布、正态分布和幂律分布中绘制一百万次观察结果的结果。

图 2-10. 绘制一百万次观察结果的直方图,来自均匀分布(左)、正态分布(中)和幂律分布(右)
社交互动带来的不确定性
另一个不确定性源于一个简单的事实,即我们是持续互动的社会动物。虽然这种互动已经持续了数十万年,但现代社交网络的互动爆炸使其变得更加显著和普遍。
第一种不确定性来源于我们与客户和员工的战略互动的性质,举两个例子。例如,对于客户保持的优惠,通常情况下客户理解我们的运作和动机,并最终操控我们的系统。同样,补偿方案通常由我们的销售主管操控,导致一些意外的结果,比如在目标已达成或不可能达成时的延迟销售。
但不确定性也可能来自非战略性和非常简单的决策规则。一个深入研究的例子是约翰·康威的生命游戏,它在二维网格中演变,如图 2-11 所示。⁸ 在任何给定时间,每个彩色像素只能与其直接邻居互动,从而产生三种可能的结果:它存活、死亡或繁殖。只有三个简单的互动规则,根据初始条件,你可以得到完全不同的结果,对于任何观察者来说看起来都是随机的。

图 2-11. 约翰·康威的生命游戏:三条简单规则如何使每个细胞或像素与其邻居互动产生了大量集成现象
你可能会想这是否值得你的时间和注意力,或者这只是一种知识上的好奇心。首先,这应该作为一个警示,即即使行为的简单规则也能产生复杂的结果,所以我们确实不需要试图操纵我们系统的复杂消费者。但社会科学家们也一直在使用这些工具来理解人类行为,因此至少在我们进行业务决策时,它们应该是有用的。
无知带来的不确定性
最后的不确定性来源是纯粹的无知,因为很多时候当杠杆被拉动时,我们根本不知道会发生什么,也不清楚结果的可能分布。在这种情况下,最初常常假设结果遵循均匀分布或正态分布,后来通过某种形式的实验来改进我们的知识。
公司在组织层面扩展测试的能力可以在中长期内创造丰富的知识库,以创新和创造价值。但总会存在一个权衡:我们可能需要牺牲短期利润来换取中长期的价值和市场领导地位。这就是为什么我们需要我们组织中一种新型的分析决策者。
关键点
-
分析思维 是将业务问题识别并转化为规范解决方案的能力。
-
价值是通过做决策创造的:我们通过做出更好的决策为我们的公司创造价值。预测只是我们决策过程中所需的一个输入。
-
决策分析阶段:当我们分析决策时,通常有三个阶段:首先收集、理解和解释事实(描述性阶段)。然后我们可能希望预测感兴趣的结果。最后,我们选择拉动杠杆以获得最佳可能结果(规范性阶段)。
-
规范性决策:决策是在竞争性行动中选择以实现特定目标的行为。数据驱动的决策是根据证据采取行动来评估替代行动方案。规范性决策是选择产生最佳结果行动的科学。
-
决策的解剖:我们选择一个行动,可能会产生一个或多个影响我们业务结果的后果。由于通常我们不知道哪个后果会发生,这个选择是在不确定性条件下做出的。行动和后果之间的联系是通过因果关系调节的。
-
从业务出发:因为我们的目标是找到最佳行动方案,最好是为正确的问题优化。所以从业务出发。一个副作用是通常会扩大我们可用的杠杆菜单。
-
和提出正确问题一样重要的是选择用于衡量我们决策影响的指标:许多数据科学项目失败并非因为逻辑有问题,而是因为我们选择了错误的度量标准来衡量业务问题的影响。好的度量标准应该是相关的和可测量的。
-
我们需要培养的一个重要技能是能够创建反事实情景:因为因果关系调节了从行动到后果的映射,我们必须加强想象我们的行动为何导致业务目标的替代理论的能力。
-
估计因果效应存在几个重要的困难:选择偏见丛生,因此直接估计杠杆的因果效应通常是不可能的。我们还需要掌握反事实思维的使用以及处理异质效应。
进一步阅读
几乎每本关于数据科学或大数据的书都描述了描述性、预测性和规范性分析之间的区别。您可以查阅托马斯·达文波特的经典作品《竞争分析》或其续集(哈佛商业出版社),或比尔·施马尔佐的《大数据:理解数据如何推动大企业》或其前作和续集(约翰·威立出版社)。
此处使用的决策解剖遵循文献中的规范并且非常标准。我们将在第六章中回到这个话题,我会提供足够的参考文献。
我最喜欢的因果推理书籍包括约书亚·安格里斯特和约恩-斯特芬·皮施克的《几乎无害的计量经济学》(普林斯顿大学出版社)及其最新作品《掌握‘度量’:从因果到效果的路径》(普林斯顿大学出版社)。如果你感兴趣,可以在这里找到观察数据的数学推导,即不是通过设计良好的测试获得的数据的因果效应加选择偏差的平等性。他们还提出了从观察数据中识别因果关系的替代方法,即从没有经过良好设计测试的数据中。
从因果推理的一个显著不同方法可以在朱迪亚·珀尔和丹娜·麦肯齐的《因果之书:因果关系的新科学》(Basic Books)中找到。斯科特·坎宁安的《因果推断:混音带》则在这两种方法之间架起了一座重要的桥梁,主要聚焦于第一种文献(因果推断的计量经济学),但也专注于珀尔使用因果图和图表的方法,并在一章和几个段落中进行了探讨。在撰写本文时,这本书可以在他的网站上免费下载。
我将在附录中提供许多关于 A/B 测试的参考资料。我对不确定性的讨论遵循了斯科特·E·佩奇的《模型思维者:让数据为你工作所需知道的内容》(Basic Books)中的许多想法。这是开始思考简化和建模的好地方,并提供了许多实际生活中出现的不同分布、复杂行为和网络效应的例子。
¹ 我们将在本章后面谈论设计实验或 A/B 测试。
² 公平地说,即使考虑到这种明显的损害,我们仍然是我们所知道的迄今为止最复杂的因果推理生物,远远超过了机器(因为在撰写本文时,它们完全缺乏这种能力,并且甚至不清楚这种能力何时可能实现或是否可以实现)。
³ 来源:GDP 数据来自https://oreil.ly/9J_wb。CO[2]排放量来自https://oreil.ly/9J3XF。离婚率来自https://oreil.ly/t_1x-。
⁴ 今后我将使用术语“受治疗者”或“接受治疗者”来指代那些接受我们行动或杠杆作用的客户。这种行话在实验统计分析中很常见,最初是从医疗试验分析中借来的。
⁵ 在抛硬币的例子中,例如,在观察结果后,我们可能会将分布建模为伯努利试验,并预测一个理论推导的期望值(试验次数乘以头朝上的概率估计,比如)。
⁶ 正态分布在平均值附近的 2.57 个标准偏差内积累了 99%的可能结果,而在接近 3.3 个标准偏差内积累了 99.9%。
⁷ 在企业中发现的权力法分布的其他例子和应用可参见克劳福德,克里斯托弗·G.等人的文章,“权力法分布在企业家精神中的意义:对理论和研究的影响”,《企业风险投资期刊》 30 卷,第 5 期(2015 年 9 月):696-713。https://oreil.ly/pSxTh。
⁸ 你可以在https://playgameoflife.com上“玩”这个游戏,并对简单确定性规则生成的丰富多样的结果感到惊叹。详见https://oreil.ly/6ruzw。
第三章:学习提出良好业务问题
第二章 提供了我们将在接下来的章节中开发的一般框架的快速概述。由于我们的最终目标是将业务问题转化为规范解决方案,我们应该开始学习如何提出正确的问题。我希望这不会让人感到惊讶,学习构建问题可能会产生与随后采用的技术相当的影响。
我们还介绍了一种非常简单的技术,我发现它非常有用,可以帮助我们了解我们真正想要实现的目标:为什么问题的顺序。您从质疑您认为自己正在努力实现的目标开始,然后向上移动一级,或者在确信业务目标实际上正是正确的情况下停止。在我们寻找规范解决方案的过程中,确保我们正在解决正确的目标是至关重要的。在第四章中,这将是一个非常有用的好处,因为这通常会扩大我们可以采取的行动或杠杆的范围。当我们开始质疑一个行动并且过程最终带我们到我们真正想影响的指标时,通常会发生这种情况。然后,几乎自然地,我们会质疑是否有其他行动可以用来影响相同的目标。
在本章中,我们将更深入地探讨提出良好业务问题的一些最佳实践;理解描述性、预测性和规范性问题之间的区别;最后,我们将提供一些来自常见用例的示例。这些示例来自我的经验,来自我与课堂上的学生和同事讨论的其他用例,因为它们在介绍和理解方法时非常有用。但首先,我们应该更好地理解业务问题从哪里来(图 3-1)。

图 3-1。从业务开始
从业务目标到业务问题
大多数公司通过明确分隔每个区域的责任和目标来垂直组织(图 3-2)。然而,在过去的几年中,敏捷运动帮助许多公司打破了职能孤岛,组织成跨职能团队。结果是每个团队都有非常明确的业务目标和要追求的指标。¹

图 3-2。一个按职能划分的公司示例——从左到右,缩写对应于财务、市场营销、人力资源、数据、信息、分析、销售和运营的首席官员,以及许多其他类似的缩写
对我们来说,这是个好消息,因为我们的自上而下的业务目标通常定义得很明确,而且据说用适当的 KPI 评估起来相对容易。然而,我们的任务是提出必要的业务问题来实现这些目标。一般来说,对于任何业务目标,都可以提出多个业务问题,而每个问题都有不同的行动或杠杆可用。
我们如何制定良好的业务问题?因为对于我们的目的来说,一个业务问题总是可操作的,首先需要理解我们想要影响的业务目标以及用于评估结果的度量标准,并至少对我们可以推动的一些候选杠杆有一些想法。如果你没有确定可以采取的任何行动,要么这个问题就不可操作,要么你还没有深思熟虑这个问题。否则,我们就在正确的轨道上了。现在我们需要区分描述性、预测性和规范性问题。
描述性、预测性和规范性问题
在他们的文章“问题是什么?”中,杰夫·利克(Jeff Leek)和罗杰·彭(Roger Peng)描述了六种可能需要用数据回答的问题类型:描述性、探索性、推断性、预测性、因果性和机械性。数据分析通常反映了我们的分析过程,因此这些问题与本章使用的三重分类:描述性、预测性和规范性,有些相当对应。
在第二章中,我描述了三种类型的分析,所以这里我只会重复一下描述性分析通常关注过去,预测性关注未来,而规范性则找到我们今天可以采取的最佳行动来改变未来。
书写这本书的动机之一是偶然发现大多数人倾向于提出描述性问题,并且很难找到正确的位置来使用预测性和规范性分析。本章后面,我会提供足够的例子来消除您对这些概念仍然可能存在的任何困惑。
总是从业务问题出发,逆向思考
在数据世界中,一个首选的流行语是从业者通过找到可操作的见解来创造价值。虽然这种说法没有错,但是有可能会花费数小时、数天或数周来寻找百万美元的见解。
在我的职业生涯中的某个时刻,我做了类似的事情:我发现看不太可能发生的不同分布的尾部是相对容易的,并且在这些微段中找到未曾发现的商业机会。由于大多数模型侧重于平均客户(从而忽略了尾部),这是帮助我的雇主赚钱的一个相对直接的方法。这就是低悬果实的定义。然而,有两个问题:它不可扩展,并且是一个高度手动和时间昂贵的过程。
一般来说,更好的做法是始终从业务问题开始,然后向数据后退。这个过程可以带来更快的可操作见解,因为你从一开始就已经着眼于你想要找到的可操作见解!² 本书描述的过程将帮助你收紧和完善分析,希望你不要浪费自己或团队宝贵的时间寻找承诺的可操作见解。
进一步分解业务问题
通过为什么问题的顺序,我们可以从具体问题逐步转向更一般的问题,以寻找真正想要影响的度量标准。风险在于,这个最终度量标准可能过于一般化而无法实施(最高级别几乎总是像“增加利润”)。然而,我们应该记住,我们自己的业务目标作为自然约束存在,因此在序列中通常存在一个上限。此外,还有一些技术可以让我们做相反的事情,即从分解问题开始,以便找到清晰识别中间目标的正确级别,这些中间目标也是可操作的。
例如,考虑寻找最佳行动以实现出站营销活动的最高转化率的问题。请注意,我已经有意地将问题框定为规定性问题:业务度量标准已经定义良好(转化率),如果我们找到合适的行动,我们可以(原则上)选择最适合我们目的的行动。
转化率具有可以简单分解的特性,因此我们将立即看到更直接可操作的问题。在这种情况下,转化率(CR)是三种不同比率的乘积,每种比率都有不同的操纵杆,可能有不同的责任。³ 从最右边的比率(C)开始,如果在 100 个潜在客户中,你只尝试通过拨打他们的电话号码联系 15 个,这可能意味着你的电话营销团队处于低生产力谷值,你最好与他们的经理交流,找出行动或至少了解发生了什么。
同样地,如果你已经拨通了每一个电话号码,但只能接触到其中的少数(B),你可能需要寻找能够预测最佳联系时间的变量:这现在可能是你公司数据科学家分配的工作。
最后,如果你的销售团队只能将接触到的一小部分人转化为客户(A),可能是预测模型需要改进以生成更高质量的潜在客户,你的报酬计划需要调整,或者你的产品市场适应性尚未达到预期。
注意分解后如何立即找到中间度量标准或问题,以及它们对应的行动,以提高转化率。这个技巧可以轻松应用于大多数转化漏斗。让我们以一个典型的双边平台为例。
双边平台的示例
两面平台,或者市场,通常试图将一方的用户与另一方的用户匹配起来。例如,Facebook 会将希望投放广告(以增加销量)的公司与社交网络的合适客户(用户)匹配起来。亚马逊尝试将商品的分销商或卖家与合适的买家匹配起来,Uber 将司机与乘客匹配起来,等等。
想象一下你启动自己的约会平台。这里的两个方面是想要找到他们完美匹配的用户。大多数这些约会应用程序允许用户互相沟通。为了简单起见,假设游戏规则只允许每个用户发送一条消息;更一般的情况会使分解更加复杂。
在交换消息之后,如果用户彼此喜欢,他们可以去另一个地方(咖啡店、酒吧或餐厅)。您的数据科学团队希望提高应用程序的匹配效率,该效率通过转化匹配的比例来衡量。为了论证的方便,假设用户始终向应用程序提供反馈,以便我们始终可以知道两个用户是否相遇。⁴
我们有一个包含所有用户、他们的互动(消息 1 和消息 2)以及最终结果(满足或不满足)的数据集。匹配效率(ME)可以分解如下:
在这个方程中,每个术语表示每个事件发生的次数。例如,Met表示最终相遇的人数,Message1和Message2分别表示发送的第一条消息和回复的数量。每个比率应该小于一,因为分子中的数字是分母中事件的子集的计数。这在分解转化漏斗时总是成立的。
注意分解告诉我们的内容:如果我们希望用户进行匹配,我们需要他们交换消息,这可以用三个比率来表示:一旦用户在应用程序上找到显示的某人,他们可以发送第一条消息(消息 1)。这个比率(C)显示算法从用户 1 的角度看是否有效:如果应用程序显示了 10 个高质量的候选人,那么他们将向所有候选人发送消息。⁵ 现在用户 2 可能会回复,也可能不会:如果他们回复了,这可能表明算法对他们也做了一个好的工作(B)。最后,在第二条消息送出后,这两个人要么相遇,要么不相遇(A)。
但并不是一切都取决于算法的准确性。开始对话(Message1)或回复(Message2)的决定还取决于每个用户的注意力,例如由于沟通延迟而导致:约会应用程序是快节奏平台,因此如果任何用户花费过长时间才回复,另一方可能会失去兴趣并继续寻找潜在的约会对象。因此,我们可以制定方法来激励更快的沟通(电子邮件、推送通知或弹出窗口提醒用户有人正在等待回复)。例如,Bumble 就是这样做的:每一方的初始联系必须在前 24 小时内完成,否则匹配就会丢失。
这里的要点是,一些业务问题可以进一步分解以找到正确的行动方案,因此我们可能需要重新考虑干预关键绩效指标以实现我们的目标。我们现在将通过一些现实生活中常见的用例进行介绍。
学习提出业务问题:来自常见用例的示例
我们现在将选择一些例子进行讨论,从我看到的标准方式开始提出业务问题,然后提出相应的描述性、预测性和指导性对应方案。请记住,一个好的指导性问题应该总是找到方法来推动某些杠杆,以便在我们选择的业务目标方面取得最佳可能的结果。我将在随后的章节中进一步开发其中一些例子,直至提供我认为是足够好的指导性解决方案为止;我将让你找到改进这一点的方法。现在,请记住,本章的目的只是学习如何翻译业务问题。
降低客户流失
在所有公司中,我们需要客户以产生收入。我们首先是获取客户,然后我们的一部分工作是尽可能长时间地保持他们的忠诚。客户流失率—即在固定时间内失去的客户数量与同一时期内总客户基数的比率。由于获取成本可能相对于保留成本来说较大,大多数公司都设有专门的部门,其特定目标是尽可能保护其当前客户群体。
大多数公司中的一个标准用例,因此它提供了一个很好的开始应用这些技术的途径(图 3-3)。

图 3-3. 客户流失案例的不同问题
确定业务问题
让我们从大多数公司面临的业务问题开始:我们如何降低客户流失率?这是一个例子,我们从一个行动开始,而不是从业务目标开始,所以我们可以应用一系列为什么问题,最有可能我们最终会得出这样一个简单的事实:客户是我们重复收入的主要来源。这看起来很直接,但这个简单的事实带领我们去关注我们想要最大化的主要关键绩效指标:我们想要的不是尽可能降低流失率,而是希望收入高。或者呢?你总是可以放弃一切来留住客户,从而增加你的成本。因此,这也不是我们想要影响的正确指标:它是利润,即收入与保留成本之间的差额。
描述性问题
在最具描述性的层面上,我们想要做几件事情。当然,我们首先要问的是我们的流失率是否异常高,以及它过去的发展情况如何。我们可能会从最综合的层面开始,通过查看时间趋势和季节性模式的模式来了解我们当前的健康状况。但数据有能力深入挖掘告诉我们已经离开的客户是谁。他们是高价值还是低价值客户?他们与我们的关系有多久了?他们过去是否联系过我们表达他们的不满?他们是否地理位置在特定地区?他们的社会人口特征如年龄和性别是什么?他们的使用或消费模式是什么样的?
我们可以根据我们的数据和时间来进行细化。但你已经理解了我的意思:这只是一个快照,希望到目前为止我已经说服了你,无论它多么高清晰,很难从中获得更多的价值。到目前为止,这主要是信息性的。这种描述性分析的真正价值在于它能够帮助我们在追求我们能做出的最佳决策方面走得更远,以实现我们的最终目标。
预测性问题
AI 和机器学习可以帮助我们找到预测问题的答案:我们能预测哪些客户更有可能离开吗?由于我们的描述性分析的丰富性,我们现在希望找到一些解释当前流失率的主要驱动因素。但单靠数据是无法帮助我们走得更远的。最优秀的数据科学家是那些能够理解和假设为什么客户会离开的人。通过这种方式,他们可以在称为特征工程的过程中创建更具体的预测器,这是获得真正强大预测能力的最佳方式。知道在我们的模型中包含什么或不包含什么是构建良好模型的圣杯,甚至比选择越来越强大的可用算法更为重要。
预测阶段提供了多少价值?在图 3-3 中,我认为它的价值高于描述性步骤的价值,但它可能为零,甚至可能是负的,正如在第二章中所讨论的那样。
规定性问题
最后,我们来到了规定性问题:如果我们想要从我们的留存活动中最大化利润,我们应该拉动哪些杠杆?但我们是否考虑短期利润?客户是否会了解我们的策略并开始操纵我们的留存系统,从而增加长期成本?大多数成熟公司更愿意使用我们在第二章中介绍的客户生命周期价值(CLV),我同意这确实更能反映我们客户的长期净价值。但这种度量选择也带来了一系列困难:引用 Yogi Berra 的话,未来难以预测,更难理解我们行动的长期影响。
我们将在第四章中讨论杠杆,但在这里可以说的是,对于客户留存的情况,我们总是可以以折扣的形式提供一些东西。那么,对于每个客户来说,什么才是合适的折扣?CLV 提供了我们应该合理给出多少的上限,但我们总是希望找到成本最低且保证留存的行动。这使我们更接近杠杆的个性化。
理想的规定性是我们在正确的时间为正确的客户选择正确的行动。正确的东西太多了:规定性分析很难,所以大多数时候我们会尝试简化问题。我会在第五章中讨论简化的力量。但至少我们已经按设计方式提出了可能产生最高可实现价值的问题。请记住,本章是关于学习如何提出问题的。在第七章中,我将详细介绍一种解决此用例的可能方案。
跨销售:次佳优惠
大多数公司销售多种产品或提供多种服务。经济学家称公司在提供可以从类似生产过程中获益的产品时可能具有的自然优势为规模经济。因此,大多数人寻求通过尝试进行跨销售来加深与客户的关系是合乎逻辑的。在咨询行话中,它已被重新标注为现在著名的次佳优惠,这已经将我们带入了规定性的领域。尽管如此,我们现在将看到,优化的业务目标并不明显。

图 3-4. 跨销售案例的不同问题
定义业务问题
这里的业务问题很简单(图 3-4):我应该现在向我的客户提供什么? 如果您想知道为什么会想做这样的事情(为什么问题的顺序),答案与客户流失不那么清晰。这里的区别在于交叉销售有两种影响。直接影响是更高的收入和利润的通常渠道。但间接渠道更有趣和复杂:购买更多产品的客户往往更忠诚,从而增加他们保持我们客户的时间。因此,有时我们可能会考虑以折扣价格交叉销售,即使对公司来说某个单独产品的交易是亏损的,因为长期的整体利润更高。再次出现的是,CLV 是优化的正确指标。
描述性问题
在描述性的领域中,通常探索的问题类型是不同客户消费模式的模式,例如产品的消费模式。具体来说,自然而然地探索不同客户是否更自然地出现某些产品序列。例如银行,大多数客户从年轻时期开始,使用比较简单的产品如信用卡。随着时间的推移,随着他们的收入随着工作经验的增加而增加,他们倾向于转向更复杂的信用和投资机会:您可能首先申请抵押贷款,再转向寿险等等。对于序列而言,每个产品购买的顺序都很重要,因此首先查找数据中的这些模式是标准的做法。
预测性问题
由于每个客户已经购买了某些东西,询问我们是否可以根据他们迄今为止的消费模式预测他们最有可能购买什么是很自然的。然后我们可以主动行动,而不是等待看看他们是否与我们或我们的竞争对手购买。但是,我们应该提供对我们利润最大的产品,即使它极有可能不会被购买吗?回到银行的例子,您可能希望客户申请抵押贷款(因为它的回报很高),但对于大学生和年轻专业人士来说,他们可能不太可能接受这样的提议。这将我们带到下一个最佳报价分析中最有趣的权衡之一:购买可能性与价值增长之间的权衡。这反过来又引出了规定性问题。
规定性问题
由于我们可以向每个客户提供多种物品,那么我们应该选择哪一种以捕获最高价值?如前所述,由于我们正在处理序列和时间,正确的度量标准很可能是 CLV。从真正以客户为中心的意义上讲,规定性理想将再次引导我们找到合适的产品,为合适的客户,以合适的价格和合适的时间。稍后,我们将看到一种解决这个非常复杂问题的方法。
CAPEX 优化
汽车,石油和天然气,电信和航空业是资本密集型的行业的示例:为了运营,它们需要将大量资源配置到建设和维护工厂和设备,塔,飞机和任何其他随时间减值的实物资产。这种类型的投资被称为资本支出,或 CAPEX,适用于所有行业,不仅仅是前面提到的四个行业。⁶
任何一家公司的首席财务官和其他高管问题之一是如何分配 CAPEX,比如,跨各功能领域或地理位置(图 3-5)。由于它可能代表公司现金流的大部分,我们甚至有特定的关键绩效指标来衡量其影响,如投资回报率(ROI)或资本雇用回报率(ROCE)。尽管如此,我们总是应该继续质疑为什么我们需要分配 CAPEX 以及我们究竟是在努力实现什么目标:例如,ROI 分子的收入来自哪里?

图 3-5。CAPEX 优化案例的不同问题
在描述性水平上,我们可以从找到不同地理位置的不同 CAPEX 配置和收入之间的相关性开始。这利用了先前投资的变化与我们认为会受到影响的关键指标。另一个可能性是利用时间的变化,绘制聚合系列以寻找 CAPEX 配置和收入之间的任何初步关系线索。如果我们找不到这样的证据,我们可以改变我们的目标,考虑利润的变化,因为 CAPEX 也可能旨在降低成本。
在考虑任何投资时,我们面临的主要问题是我们不知道回报将是多少,因此如果我们能够完美地预测它们将是多么好。最佳分配可能只是一个排名的问题:如果我有一美元要投资,并且知道所有候选配置的回报,我会将其放在回报最高的一个上。但我们能信任描述性分析中的相关性吗?我们找到的效果确实是因果关系吗?像往常一样,难点在于找到可靠的因果预测,这就是我们的数据科学家将尝试通过使用他们的机器学习工具包找到的东西。
假定我们已经做到了可靠且准确的预测,那么规定性部分几乎已经为我们完成了:按照它们的回报排名,在不同地理位置上对预算进行分配。稍后我将向您展示一个如何做到这一点的例子,但现在我们唯一需要学习的是提出问题的框架。
门店位置
我最喜欢的一个应用案例是在哪里开设店铺,而且既然我们已经讨论了资本支出的优化,我们立即可以看到这只是同一个问题的一个实例。我们有一个预算来增强我们的商业存在,理想情况下,我们只会在能够获得最大可能回报的地方开设店铺(图 3-6)。一个自然的关键绩效指标是店铺利润的净现值(NPV),或者是吗?
仅仅为了展示问题的复杂性,考虑一下开设一个已经非常接近另一个门店的店铺(你是否曾经想过为什么某个具体街区或社区会有这么多星巴克?)。你可能会获得额外的收入和利润,但却会以附近店铺的利润为代价。因此,更可靠的关键绩效指标可能是利润的总体水平,至少在地方(如社区、街道,甚至城市)水平上是这样。

图 3-6. 在选择开设新店铺的情况下的不同问题
描述性地说,我会首先寻找不同空间位置利润变化模式的规律:我们附近是否有我们自己的门店?竞争对手呢?我们是否有数据来估算不同门店潜在顾客的数量?附近居民的平均收入如何?这是一个住宅区吗?为了找到解释利润变化的规律,我们可能会提出许多问题。
就像资本支出分配一样,如果我们能够完美预测整体利润的净现值(NPV),那么我们几乎可以做到事半功倍:将预算全部分配给按照这个关键绩效指标排名的门店开设。当然,这里假设你有一个有限的预算,并且不会投资于开设有负回报的门店。
我应该雇佣谁?
我们可以毫不夸张地说,我们的员工决定了公司是伟大还是不伟大。因此,我们不断做出的最重要决策之一是选择谁来雇佣。人力资源部门在建立健全可靠的招聘流程方面投入了大量精力(图 3-7)。我们在招聘中面临的主要问题是,有些关键绩效指标可能不那么容易测量。例如,考虑到生产力。如果你是销售人员,我们可以通过一定期间内的销售数量清楚地衡量你的个人生产力。但对于许多其他职位来说,衡量生产力甚至是员工对收入的影响都更为困难。

图 3-7. 在招聘决策案例中的不同问题
假设我们能像我们的销售团队一样可靠地衡量生产力。这是唯一重要的关键绩效指标吗?员工工龄如何?如果一位超级销售员工一个月后就离职,也许你不想雇佣她,因为她的销售业绩可能无法弥补招聘和培训成本。理想情况下,我们希望衡量类似于客户生命周期价值的指标,因此让我们使用类似的术语——员工生命周期价值:即对利润个体贡献的净现值。这样我们就可以包括预期持续时间和财务影响。
让我们想象我们有过去 24 个月所有销售人员的数据集。与客户流失一样,我们的数据集需要包括不同工龄的在职员工以及已离职员工。这种变化使我们能够开始找到模式。最好还包括一些他们的硬性能指标(月销售额)和软性指标,如他们的 360 度调查结果。最后,有些实际招聘时获取的数据也很重要:他们的简历、教育、以往经验、心理测验结果、性别、年龄等等。然后我们可以在数据中寻找相关性,以了解可能预测绩效的变量类型。
预测问题很简单:凭借那些预先收集的信息——在做出招聘决策之前收集到的一切——我们能预测候选人的表现吗?如果可以,这个问题至少是可以解决的,但与此前一样,问题也很复杂。这里的主要问题与所有搜索问题相关(考虑寻找重要他人的问题):我们应该继续寻找新的候选人吗?这是我们能找到的最佳选择吗?如果我们再多搜索一个月,我们能找到更好的人选吗?稍后我们将讨论探索-利用的权衡,这是大多数搜索问题中常见的问题,但现在请注意,我们可以选择要么招聘并得到新员工的最佳表现——这是利用的部分,当然不涉及劳动剥削——或者我们继续探索市场,寻找更好的候选人。
在像这样的问题中使用人工智能时的最后一个警告是,我们的预测算法对数据中的偏见非常敏感,我们的数据科学家应该费心去寻找这些偏见,并试图找到纠正它们的方法。想象一下,你的数据集显示大多数女性销售人员非常有生产力,但一个月后就离职了。你的预测模型可能最终显示,女性的员工生命周期价值显著较低,而你最终可能会雇佣大多数男性候选人。但是为什么女性会这么快地离开呢?难道是我们公司有一个非常歧视女性的经理吗?我们应该先解雇这个人,然后再雇用更多女性。这里的道德是,除非我们尽可能地去除数据中的偏见,否则我们的预测模型将非常不完善:正如数据世界中所说的那样,“垃圾进,垃圾出”。
逾期率
许多公司提供为客户购买提供融资的方式,例如,通过大型零售商最常见的店内信用卡。如果我们能把这项工作留给专业公司(银行)就更好了,但很多时候我们自己来资助。业务问题是如何提供贷款而不增加违约率(Figure 3-8)。

图 3-8. 在贷款决策案例中的不同问题
描述性问题与我们已经讨论过的案例类似,但让我强调两个观点:如果您正确定义了业务问题并将其框定为规定性问题,您应该寻找数据中指导该目标的模式,而不是反过来。此外,我们应该尝试利用问题底层特征的变化来预测我们关心的结果。因此,我会寻找地理和客户之间的变化,并将它们与违约率和违约结果相关联,以建立预测问题:我们能预测客户是否会违约吗?如果他们这样做,我们是否可以通过激进的收款策略回收部分金额?
我们稍后会更详细地讨论伦理问题,但再次强调,提到我们数据中的偏见如何普遍地影响我们想要追求的结果是很重要的。在贷款方面,我们应该小心,不要因为我们过去的贷款方式而伤害到少数群体。
为了设置规定性问题,从我们希望影响的度量开始:不是客户是否违约(他们的违约概率),而是贷款的预期收益减去成本。稍后我们将大量处理预期值,但现在可以说,要对所有规定性问题进行公式化并提供答案,我们需要清楚地了解我们行动的成本和收益。我们的杠杆是什么?我们肯定能确定贷款金额,当然也能决定是否放贷。银行还可以设定和调整利率,但由于监管问题,其他公司可能无法使用这个杠杆。
库存或存货优化
大多数公司面临的一个非常普遍的问题是每个店铺的库存应该有多少单位的每种产品。同样地,银行不断决定他们的 ATM 机上应该有多少现金。这次我们从后往前开始,从规定性问题开始讨论(Figure 3-9)。

图 3-9. 在库存优化案例中的不同问题
要考虑过量或不足某一特定物品的成本与收益。在某个层面上,如果单位不足,我们将阻碍当天的销售,因此成本是减少的收入。不足还可能增加运输和物流成本,这些成本可能足够大,可以包括在我们的分析中。那么过量呢?这些物品的价值可能会降低的概率有一些,不论是由于折旧、管理不善或盗窃的风险,还是因为明天可能会出现新的更好的选择,而旧货物将没有需求。
在规定阶段,我们希望找到合适的每种物品数量,以最小化这些成本的预期总和。稍后我将深入探讨如何实现这一目标的细节。问题的基本不确定性是什么?我们将在预测阶段使用 AI 来帮助我们处理它。
首先,我们不知道每种产品将销售多少单位。如果每天我们总是卖出相同数量的产品,比如 100 个单位,至少我们应该始终有这 100 个单位。一个不满意的客户不仅代表当前失去的销售机会,而且可能还有未来的许多机会:他们及其熟人可能不会再回到店里,所以希望他们不是一个有影响力的人!因此,我们应该从预测一个固定时间段内的需求开始。但那个时间段是什么?一天?一周?这取决于所有其他成本:如果与盗窃或折旧等其他风险相比,运输成本便宜,那么明天可以毫无问题地再次进货(例如 ATM 的情况)。否则,您可能需要预测这些事件发生的可能性。再次,我们处于预期价值的领域,这是一个稍后章节将讨论的主题,但正如您所见,优化可能非常困难。
现在我们可以指导描述性分析:销售如何随时间和地理位置变化?是否存在季节效应?盗窃和抢劫又如何?如果您的物品是耐用品(汽车、冰箱、手机、笔记本电脑或类似物品),它们的价值随时间如何下降?您现在可以看到全貌了。
店铺人员配置
我们最后的例子涉及到在店铺选择销售人员数量的问题(见图 3-10)。从某种意义上说,这是与库存问题类似的问题:过量或不足人员的成本与收益是什么?

图 3-10。人员配置决策案例的不同问题
如果我们没有足够的人手,我们肯定会有更低的收入:那些等待时间长的顾客会离开商店并从竞争对手购买。或者他们会留下并购买今天,但他们较低的满意度可能会导致更高的顾客流失,影响我们未来的收入。另一方面,过多的员工会产生不必要和可预见的成本。因此,预期利润——销售收入减去人员成本——似乎是一个合理的 KPI 来优化。顾客流失的影响可能太大了,因此让我们从试图找到我们商店中销售人员的合适数量开始,以便在一天内获得可能的最高预期利润。如果我们解决了这个已经困难的问题,我们可以继续优化更长期的版本(回想一下简化的价值)。
我们需要了解哪些信息才能解决这个问题?如果没有潜在的不确定性,我们将如何进行?理想情况下,我希望知道每天在我们的商店中任意时间内来访客户的数量,比如每小时或 30 分钟的时间段。我们将需要预测每个商店的客流量。这将自然地导致根据销售人员规模来确定等待时间。现在我们可能需要决定什么是合理的等待时间,因为没有等待时间的极限可能会太昂贵,特别是在高峰时段我们有很多顾客和低谷时我们似乎有过多的员工的情况下。等待时间今天影响我们的利润。
那么,在数据中我们应该寻找什么呢?需求和人员配置在各个门店之间的变化是我们需要利用的,但我们还应考虑我们想要预测的结果:销售额、利润、等待时间和顾客满意度是立即浮现的四个因素。描述阶段应该设置为搜索这些相关性。
关键要点
-
业务目标通常已经定义:但我们必须学会提出正确的业务问题以实现这些目标。
-
始终从业务目标开始并向后移动:对于您正在计划或已经做出的任何决策,考虑您想要实现的业务目标。然后您可以向后推导,找出可能的杠杆和它们如何产生影响业务的后果。
-
为什么问题的序列可以帮助定义您想要实现的正确业务目标:这种自下而上的方法通常有助于确定业务目标并扩大我们可以采取的行动集合。但有时您也可以使用类似于转化率分解的自上而下方法。
-
描述性、预测性和指导性问题:描述性问题涉及业务目标的当前状态;预测性问题涉及其未来状态。指导性问题帮助我们选择达到最佳未来场景的正确杠杆。
进一步阅读
我在决策背景下,尚未找到任何关于如何提出好的商业问题的书籍。这并不意味着我是第一个建议我们如何框定业务问题可以对结果产生重大影响的从业者。几乎所有关于数据科学方法论的书籍至少会提到这个主题。您可以查看第一章的参考资料,或查阅 Foster Provost 和 Tom Fawcett 的Data Science for Business(O'Reilly)。
在我看来,文献至少存在两个缺点:大多数数据科学家很少关心解决规定问题,而更愿意专注于提供高质量的预测解决方案。此外,针对业务人员的文献尚未能够提供可以利用 AI 和分析思维解决的决策问题的端到端视图。
这里涵盖的几个用例可能可以在其他地方找到,但我不确定详细程度。您可以搜索咨询公司撰写的白皮书,它们可能提供一些有趣的见解(当然,咨询公司通过开发这些用例赚钱,所以不要期望得到太多细节)。
在双边平台上,我喜欢阅读 Geoffrey G. Parker、Marshall W. Van Alstyne 和 Sangeet Paul Choudary 的Platform Revolution: How Networked Markets Are Transforming the Economy and How to Make Them Work for You(W. W. Norton & Company),以及 David S. Evans 和 Richard Schmalensee 的Matchmakers: The New Economics of Multisided Platforms(Harvard Business Press)。
机器学习中的伦理问题是一个重要的话题,我将在第 6 和第八章中提供参考资料。
¹ 关于不同的组织结构,请参阅https://oreil.ly/T1MzW或https://oreil.ly/EOa_D。
² Google 首席决策科学家 Cassie Kozyrkov 在“从不以假设开始”和“优秀决策者的第一步”中提出了类似的观点。
³ 万一您没有注意到,我正在用相同的度量单位进行乘除,以保证等式始终保持不变。
⁴ 一些约会应用程序实际上鼓励用户提供这种正式反馈,但有时也有间接的方法来衡量匹配效率。
⁵ 这并不意味着没有不同的策略:用户可以开始仅向显示的顶级候选人发送消息,然后看看结果如何。在这种意义上,您可能希望将分析限制在排除最后比率的分解中。
⁶ 与操作支出(OPEX)相比较,后者包括诸多内容,其中包括支付给员工的工资。
⁷ 请回忆起
第四章:行动、杠杆和决策
第三章是关于学习将业务问题转化为必须始终可行的预设问题的内容。但什么是可行的?甚至更好的问题是,所有事情都是可行的吗?我们现在转向这个问题,以寻找让我们更接近预设理想的杠杆。
请注意:要找到杠杆,我们需要了解我们的业务。这并不意味着你必须在一个特定行业中度过多年。那可能有所帮助,因为你必须对事物为何有效以及何时无效有强烈直觉。但同样真实的是,许多时候,即使是拥有非专家,甚至是天真的视角,也能帮助我们打破思维定势并扩展我们的选项菜单。
回到我们的分解过程,我们现在将从业务成果所在的右外侧移动到包含我们拉动的杠杆的左外侧(图 4-1)。正如我们已经提到的,这是采用的自然和健康的顺序:我们从业务开始,然后询问如何通过拉动正确的一组杠杆来实现最佳结果。

图 4-1:确认我们想要拉动的杠杆
理解什么是可行的
生活和商业制定的艰难真相在于,我们的大多数目标只能间接实现,通过我们采取的行动。例如,我们不能仅仅因为如此说而增加我们的销售额、生产力、客户满意度或减少成本。人为或技术因素(人为或技术)限制了我们实现所有想要完成的事物的能力。
我们的决策对我们的业务目标产生的影响受因果关系规则的调节,通常需要大量实验和领域知识才能理解对我们企业有益的做法和不利之处。
一般来说,我们可以将杠杆分为两类:一类主要依赖物理世界的规则来产生后果,另一类则源自人类行为。正如你所期待的,它们各自都有其复杂性和困难性。物理类型的杠杆依赖于我们对自然法则和技术进步的理解。人类杠杆则依赖于我们对人类行为的理解。
物理杠杆
事实证明,词语“杠杆”的最初用法是物理性质的:你拿起一根梁和一个支点,拉下梁,现在你能够移动那些你自己无法举起的物体。尽管如此,物理杠杆已经成为现代经济的一个里程碑:工业革命期间的快速增长,微芯片的发明,以及当前的互联网革命,仅举几例,都在很大程度上依赖于这类杠杆的存在。
例如,亨利·福特的流水线生产极大地改善了汽车的生产。这只需要对生产过程进行全面的重新设计,但一旦你拉动了那个“杠杆”,你就能在更短的时间内生产更多的汽车,随之而来的是生产成本的降低。
工程进步产生了我们可能没有意识到的物理杠杆。例如,在一个小区站点中改变天线的高度或角度可以提高我们日常移动通信中的通话质量或数据传输速度。同样,更好的软件配置可以改善你在云端或本地工作的能力。物理杠杆需要可能会很昂贵的技术专业知识来获取或雇佣,但由于现代经济建立在技术革命之上,至少了解可以达到什么效果可以在我们希望更加高效生产或拥有更满意的客户方面带来极大的帮助。
让我们以设计队列为最后一个例子。图 4-2 展示了两种可能的设计:左侧为多线多服务器,右侧为单线多服务器。¹
这不是深入探讨技术细节的地方,但让我们简单提一下,在某些条件下,可以证明左侧设计的平均等待时间比单线情况长。如果你的工作场所满足这些条件,你的目标是提高一般客户满意度(通过他们在排队等待的时间来衡量),你可以重新设计你的队列,可能会达到你的目标。

图 4-2. 将队列作为物理杠杆:左侧显示多线多服务器设计;通过转向右侧显示的单线多服务器设计,我们可能会影响等待时间,因此这种变化是我们在想要影响客户满意度时可以使用的一个杠杆。
等待行列中的物理和心理杠杆
在图 4-2 中,我还声称,等待时间的感知也可能会通过转向右侧的设计而受到积极影响,但这将使我们进入心理学法则作用的领域。我们很快会讨论这个话题,但你可以查阅 Alex Stone 的《为什么等待是一种折磨》获取关于排队心理学的一些证据。
人类杠杆
设计和使用物理杠杆一样需要相当的技术专业知识,人类杠杆则需要对人类行为的深入理解。与材料不同,人类有他们自己特定的一套困难。让我们简要讨论其中最重要的几个。
最明显的一点是我们不能强迫他人按我们的意愿行事:我们必须激励他们。你不能强迫潜在客户购买你的产品,或者让你的员工工作更多或更加高效:你需要创造条件,使他们出于自身利益而有利于你的目标行事。
此外,我们是异质和多样化的存在:即使是共享所有遗传物质的同卵双胞胎也会以不同的方式行事。我们还有代理能力:我们有意图,而这些意图因人而异,且在我们的一生中也会变化。
要增加复杂性,我们是社会性动物,如果在群体中或独自一人做出选择,我们的行为可能会大不相同。我们还从经验中学习,这是儿童、老年人及其间所有人都共同经历的过程。最后,我们会犯错:我们可能会后悔先前的一些决定,但这些可能不容易预测。
为什么我们会表现出这样的行为方式?
我将制定一项宏大的议程,试图将人类行为方式的原因压缩为三类,我相信这些类别涵盖了我们行为背后绝大多数原因。我接受过经济学的训练,因此您可能会看到这一企图中的偏见,但希望其他社会科学家不会对此持不同意见。
我会声称我们大部分的行为都受我们的偏好或价值观、我们的期望以及我们面临的限制驱动。这与经济学家对理性生物的描述完全吻合,但理性与这种表述几乎没有任何关系。²
想想为什么你买了这本书:我猜想你想了解人工智能及如何利用它做出更好的决策,但由于你不确定材料的质量,你信任了一次,并希望能有所收获。尽管如此,你现在也可以做任何其他事情:你可以读其他书籍,无论是技术类的还是非技术类的;看电影;睡觉;或与你的亲人共度时光。你一定珍视阅读这本书(或至少期望如此)。与此同时,你有能力购买这本书并有时间阅读它,这是我们通常面临的最基本的两个限制条件。
这是否可以推广到其他选择?我相信大多数我们所做的选择都可以,如果不是全部。在某种意义上,这种说法几乎是自相矛盾的:问任何人为什么他们刚刚表现出这样的行为,他们很容易就会说“因为我想要这样做”。
现在,偏好至少有两种类型:我们有个体偏好和社会偏好,这种区别使我们能够解释我们在群体中和独处时做出选择的差异。
现在我们将详细讨论每一个限制条件。
限制的杠杆
让我们从定价杠杆开始,这可以说是我们采取的最常见行动之一,以实现特定的业务目标,即增加我们的收入。这是我们最喜欢的杠杆之一,因为它直接影响我们的收入——价格(P)乘以销量(Q),或 。
有趣的是,收入与价格有一种关系,使得操作杠杆的选择一点也不明显。困难来自经济学家所说的“需求法则”:当我们提高价格时,我们的销售通常减少。由于销售依赖于我们收取的价格,收入最好被表达为 ,以明确我们的定价杠杆对收入的两种效应:第一项来自直接效应的正面效应,第二项来自后一项的负面间接效应。总体效果取决于需求对价格变化的敏感性。
图 4-5 展示了我们的定价杠杆与收入之间的一种标准关系。现在应该清楚,如果我们要操作定价杠杆,最好知道我们在垂直线的右边还是左边:在范围 A 内,公司将更受益,因为价格上涨会产生更高的收入。在范围 B 内则相反。尽管数学上如此,但直觉应该是清楚的:如果我们的客户对价格不太敏感,那么价格增加,比如增加一美元,将不成比例地减少需求,从而对我们的收入产生整体正面影响。在我们进行价格和收入优化时,这种校准是标准的,这是处方分析最成功的领域之一,将在第 7 章中重新讨论。

图 4-5. 我们的定价选择如何改变收入
我希望这个例子能让你相信,选择定价杠杆远非显而易见,但在我看来,这是处方分析中最有趣和最成功的案例之一。如果我们考虑提供折扣,最好是需求增长比价格下降更快的情况。³ 否则,我们应该寻找其他杠杆。
定价杠杆作为限制条件
你可能会想知道我为什么选择将定价杠杆归类为约束条件。顾客通常遵循需求法则——购买与价格之间的负相关关系——的一个重要原因是,通过改变价格,我们影响了他们的预算约束。
有趣的是,这种效应不仅影响我们现有的客户,还影响那些尚未开始购买的潜在客户,因为当前的价格可能过高。
但这总是正确的吗?不管图 4-5 中 B 案例的讨论如何,大多数情况下我们都遵循需求定律,因此大多数人都视其为理所当然。
时间限制
不是巧合的是,我们面临的两个主要限制是时间和金钱。我们已经讨论了预算限制,但时间限制呢?公司是否像利用预算限制一样,充分利用时间限制呢?
考虑数字银行。我不知道你怎么看,但我认识的大多数人都讨厌去银行网点,因为那是浪费我们宝贵时间的感觉。提升用户体验最好的案例之一是放宽客户的时间限制,并将一些时间返还给他们,让他们可以投入到其他活动中去。
如果你对银行业的例子不感兴趣,那么请问自己以下问题:如果所需时间减少,你会参与某些活动吗?想象一下,如果将健身房的时间从 60 分钟减少到 30 分钟,你仍能达到相同的效果。所有那些承诺每天只需 10 分钟即可拥有完美腹肌的电视广告都在利用这个杠杆。人们如同看待金钱一样重视他们的时间,因为正如人们所说,“时间就是金钱”。
影响我们偏好的杠杆作用
现在我们将考虑一些不同的决定因素,这些因素决定了我们喜欢和价值什么。正如我们将看到的那样,所有这些因素都是可以操作的,并且被世界各地的公司不断利用。
遗传学
我们的行为有多少是由我们的基因构成决定的,有多少是由我们的社会教养决定的?这场自然与养育的辩论在社会和行为科学中是最重要和最具争议的之一,因为在实证上很难分辨它们的相对重要性(见图 4-6)。例如,如果你像你的父母一样喜欢一杯红酒,是因为你的基因吗?或许是因为你在成长过程中看到他们享受红酒,这本身就对你产生了积极但社会的影响?

图 4-6. 基因和环境共同塑造我们的偏好和选择
让我们接受最广泛认可的观点,即基因和环境两者都很重要,某些行为很可能在特定基因暴露于特定环境时出现。现在我们可以问自己,我们是否可以利用这些知识来实现我们的商业目标。
起初似乎很明显我们无法改变我们客户的 DNA,但在可预见的将来,随着行为遗传学的进一步进展,我们可能最终会全面理解如何利用特定客户对某些环境的暴露。⁴ 许多商店已经通过改变我们购买时店内存在的香气进行一些非常基本和粗糙的基因利用。但想象一下基因分析的情况:一个人进入商店,我们了解到一些对我们产品有影响的基因标记,并提供完整的感官体验,使他们更有可能购买。
我会把这些留在这里,但请记住,这个话题引发了各种伦理问题。我将有时间在本书的后面讨论其中一些问题。
个体和社会学习
我们选择的真相是,很多时候我们并不知道自己想要什么或喜欢什么,这与大多数决策理论家和经济学家提出的理性和一致的选择观点形成了鲜明对比。有些人更倾向于尝试新事物,并探索他们的口味的多样性和差异性。而另一些人则在尝试新事物时有过糟糕的经历,只是坚持他们已经了解并感到舒适的相同饮食习惯。
无论如何,偏好不是固定和一致的事实,而且大多数人至少在某种程度上喜欢尝试新事物,这应该帮助我们找到实现一些业务目标的杠杆。特别是当公司推出新产品时:因为顾客不愿意为他们尚未尝试过的东西付费,公司通常会提供免费样品。这降低了尝试产品的实际和感知成本,并希望顾客下次愿意支付全价。
尽管这适用于个体和社会学习,但在后者的情况下,通过影响力人物有第二个可能的杠杆。在当前数字社交网络的时代,公司通常利用影响者帮助其他人尝试他们的产品,而不需要免费赠送。
社会原因:战略效应
想象一下,我们看到像图 4-7 中的行为:这里,一个新来的人带来了一个新的想法或行为。她首先说服了小组的一个成员,后者开始表现出类似的行为。然后是另一个,再然后是几个其他成员。
我们如何利用这种社会效应来实现我们的业务目标?在前一节中,我们勾勒了一个可能的原因——社会学习,并讨论了两个可能的杠杆(价格和有影响力的人物)。

图 4-7. 社会传染
但也可能是有战略效应可以解释这些动态。想想像 Airbnb、Uber、WhatsApp、Facebook、Google 这样的双边平台,以及像 iOS 或 Windows 这样的操作系统。⁵ 回到图 4-7,想象我们朋友圈中有一个来自欧洲的人告诉我们他们正在使用最新的消息应用。起初,只有她最好的朋友下载它来尝试,并当然是为了和她聊天。但现在另外两个人也尝试了,因为,是的,他们想知道朋友们在谈论什么!加入的人越多,我们加入的动机就越高:这是在双边网络中运作的第一种网络效应。
第二种类型与网络的另一侧有关。想想 Uber:如果更多的司机加入,乘客更容易找到乘车服务,因此现在更多的顾客加入。但更大的需求也使得加入对司机更有利可图:现在你可以看到为什么双边平台会产生这些巨大的正反馈环路。通常将这些称为“战略效应”,因为我们的行为取决于他人的选择,反之亦然。
可以利用这个杠杆来实现我们的业务目标吗?毫无疑问:双边市场中最流行的杠杆之一是通过折扣或降低费用来补贴最价格敏感的市场一侧。这将产生我们刚刚描述的两个正反馈环路,并且通过选择最价格敏感的一侧,我们可以降低杠杆的成本。例如,Uber 通过降低乘客的价格来补贴每次行程的价值,而 Google 则免费提供他们的搜索引擎的使用权,但会拍卖广告空间给另一侧。
社会原因:一致性和同伴效应
我们经常因为社交网络中的变化而改变行为,仅仅是因为我们想要归属感。这种作为解释人类行为的一种渴望遵从的现象具有其自身的一系列困难,最容易通过影响者的案例来说明。
为什么我们会在 Instagram 上购买 Selena Gomez 或 Cristiano Ronaldo 穿过的泳衣呢?可能是因为我们学到只有在他们身上看到后才发现它确实适合我们,而不是出于需要或归属的愿望。
注意,一致性可能源于战略效应:同伴和团体压力对我造成了负担,因此我可能会发现按照大家的做法对我最有利。同样的推理也适用于我的朋友和同龄人,形成了有时被称为群体行为的现象。
总之,这种讨论不纯粹是学术性的:它影响并扩大了我们的杠杆组合,特别是在某些人群,如青少年中。在其他人群中可能效果不太明显,或者至少我没有看到可靠的经验证据表明我们应该关注其他群体。
最后,让我们讨论企业文化的案例,这是一个常见的应用场景,其中遵从可能起重要作用。积极的文化将使员工更加快乐和高效,而负面的文化可能导致严重的后果,如盗窃、腐败等。正因为我们认为这很重要,通常是首席执行官和首席人力资源官的任务是找到方法创造和培育有利的企业文化。遵从欲只是新文化产生的原因之一,因此一个策略是找到一些人可以作为企业的影响者。有谁比首席执行官和他们的整个执行委员会更合适呢?
架构效应
现在让我们转向行为经济学的领域,系统地研究“非理性”或“不一致”的行为。我们会看到,我们的不一致行为中有很多一致性,这可以用来达到我们的目标。
假设在某些情况下,平均客户在你的产品和竞争对手的产品之间做出选择时,有时会选择你的产品,有时会选择竞争对手的产品。这种选择的不一致性令人担忧,因为它表明你的产品(或竞争对手的产品)本身并没有解释选择的原因,而是决策背景等外部因素可能导致最终结果。
请参考图 4-8,其中展示了三种不同的电视机,分别在尺寸和价格上有所不同。问题在于这些属性之间的竞争:我更喜欢更大的电视,但不幸的是,它的价格也更高,所以我必须在两者之间进行权衡。品牌 A 的屏幕最小,因此也是最便宜的型号。品牌 B 和 A 相差不大(尤其是与 C 相比较时),最后 C 在尺寸上最好,但你需要额外支付一些费用才能购买它。你会选择哪个呢?

图 4-8. 架构效应:每个圆圈代表不同类型的电视机,根据它们的价格和屏幕大小有所变化。
如果你和大多数人一样,你可能会选择 B。从两个属性的角度来看,这似乎是合理的选择,尤其是考虑到 C 的价格相对较高。市场营销人员长期以来一直在研究这些效应,因此他们通常会通过调整框架来引导我们的选择,以便销售他们想要的产品。让我再次重申刚才的话,以明确这一点:他们希望从一开始就销售替代品 B,并决定拉动“框架杠杆”。他们精心选择他们想展示的两种备选方案,以便我们“自然”选择 B。
现在考虑图 4-9,想象你的目标是购买一台只关心内存(RAM)和处理器速度(CPU)两个属性的新笔记本电脑。案例 A 展示了两个明显在这两个属性之间进行权衡的选择:你可以拥有很多内存但低 CPU(A),或者反之(B)。这种选择方式让我们感到相当不舒服,因为在我们关心的所有属性中没有明确的赢家,而当我们不必做出牺牲时,生活就简单得多。

图 4-9. 购买电脑:另一种框架效应案例
如果我们能找到一个选择一或另一方案的理由会多好呢?这带我们到 B 案例,这时我们的零售商现在提出了一个明显被笔记本 A 主导的第三个选择(C 的内存和计算能力都较少)。他为什么要这样做呢?替代品 C 充当了一个参照点,帮助我们找到无争议的理由选择 A。
注意,这里的杠杆是我们如何呈现或框定选择情境。与其他可能对我们收入产生负面影响的杠杆(比如折扣)相比,这听起来几乎是一种免费提升销售的方式。
损失厌恶
我们的最后一个影响客户偏好的杠杆示例被称为损失厌恶。顾名思义,这个理念是说,如果我们拥有或不拥有某物,或者更有趣的是,如果选择情境被框定为损失,某物的价值就会发生变化。图 4-10 展示了我们通过效用函数来评估金钱价值的方式。这些函数将我们拥有和关心的事物单位转换为效用或满意度单位,通常用于分析决策(参见第六章)。
水平轴显示我们的净资产(如果为负数,则表示亏损),实线显示我们对每种状态的价值。需要注意的重要一点是,该函数在获利和损失方面是不对称的:额外赚取 25 美分的价值(绝对值上)比失去相同金额的价值要低。损失厌恶真正捕捉到了这个理念:我们的大脑可能天生更敏感于损失而非收益。
这是我们可以用来实现目标的东西吗?到现在为止可能并不奇怪,但是是的,你与顾客沟通的方式可以产生影响。损失厌恶理论建议的是——再次得到大量实验证据的支持——将选择框定为损失可能会产生影响。

图 4-10. 损失厌恶:赢得 25 美分被认为是相对于失去相同金额的较差选项
假设你想销售你产品的最新版本。如果你相信这个理论的话,你可以尝试 A/B 测试像这两个替代信息中的一个:
替代品 A
“购买我们令人惊叹的新产品!”
替代品 B
“不要错过购买我们新产品的机会!这是一生一次的机会!”
由于 B 方案将通信框架定为损失,相对于 A,我们应该预期它具有更高的转化率。这可能听起来有些疯狂,但由于测试是相对廉价的,为什么不试试呢?请记住,我们的目标是在不必打折的情况下卖出更多产品。
改变您期望的杠杆
现在我们已经涵盖了偏好和限制。偏好指导我们的选择,而限制迫使我们在竞争的替代方案之间做出选择。那么期望又起到什么作用呢?
大多数决策在我们不知道选择结果的情况下进行。你应该与那个人约会还是结婚?你应该买咖啡还是茶?你应该接受那份工作吗?仔细想想,所有这些选择都是在不确定性条件下做出的。
我们的大脑是一台强大的模式识别机器,使我们能够多次做出相对准确的预测。但我们是如何做到的呢?我们是否在 DNA 中有概率法则的硬编码?
心理学家和诺贝尔经济学奖得主丹尼尔·卡内曼及其合作者、已故的阿莫斯·特沃斯基(以及他们的许多学生和合作者)的工作告诉我们,我们的大脑简化了许多在一个以不确定性为主导的世界中生存所需的计算。我们采取的两个最重要的快捷方法是可得性启发法和代表性启发法。我们将看到,这些方法可以用来实现我们的商业目标。
可得性和代表性启发法
请记住,启发式是用来解决计算上困难的问题(如在不确定情况下做出决策)的快捷方法或近似方法。有时候,粗略但大致准确的解决方案总比没有决策好。这可能就是我们的大脑如何演化成一台强大的模式识别机器的原因。
量化信念需要收集证据,这通常是昂贵的(你可能已经见识过了)。使用可得性启发法,我们通过采用最容易获得的证据并用它来近似可能的情景来简化这一过程。使用代表性启发法,我们使用我们有的任何证据,即使是稀缺的,并加以推断。请注意,这些都是快捷方法:如果我们有更多的时间和资源,我们本可以收集更多和更好的证据来形成我们的信念。
让我们利用这些知识来理解如何提高我们的广告效率。广告的难点在于它不一定会立即产生影响,但它可能会影响我们的品牌意识。如果我们的广告活动成功,当潜在客户真正想购买时,可得性启发法可能会使他偏向于记住我们的品牌。
代表性如何?如果你的第一个产品真的很好,你的客户可能会推广这一信念,使他们更愿意购买第二个产品。或者,考虑公司治理问题:如果你已经建立了不尊重最基本道德标准的声誉,客户可能会推广到你的产品质量。选择启发法则无处不在,因此我们应该利用它们,以及特别小心不要让它们反过来影响我们。
重新审视我们的使用案例
最后几页呈现了大量内容。我的目标是指出不同的灵感来源,找到实现业务目标的杠杆。当我们重新访问第三章的使用案例时,这将更加明显。
客户流失
作为提醒,我们首先将业务问题设定为规定性问题,现在我们希望开始寻找实现此目标的杠杆。在第三章中,我们得出结论,我们的目标不是最小化客户流失,而是通过保留活动最大化利润。在这种情况下,如果保持客户忠诚对我们的品牌成本太高,也许让一些客户离开是最优的。
我们可以采取哪些行动来实现这一业务目标?想想看:究竟为什么有人会选择成为我们的客户而不是我们竞争对手的客户?让我们回归基本。
客户通常希望从我们公司得到三样东西:足够好的产品质量、合理的价格以及在需要支持时良好的客户服务。此外,他们可能愿意在这些方面做出一定程度的权衡。为了利用这一知识,我们必须转向偏好、限制和期望的领域。
如果长期影响是积极且递增的,我们可能愿意通过价格折扣牺牲短期利润。但这不是我们唯一的杠杆。我们还可以通过创建忠诚计划或突出我们竞争对手产品的一些不利属性来制造切换成本昂贵的感觉。他们知道我们的产品(而不是我们竞争对手的产品)这一事实应该帮助我们设计利用损失厌恶或可用性启发法则的杠杆(回想一下谚语“宁愿知道的魔鬼,也不愿未知的魔鬼”)。
最后值得一提的是,我们之前提到的一些一贯不一致的行为怎么办?大多数经济学家认为这些只会暂时起作用,最终你的客户(或某个竞争对手)会意识到他们被设限了。你可以利用这些短期租金,但如果考虑将其作为业务模型的组成部分,则需小心。
交叉销售
在交叉销售中,我们正在寻找每位客户的下一个最佳优惠,以便最大化他们的客户终身价值。在这个意义上,我们的主要杠杆是向每位客户提供或不提供我们的每种产品。请注意,我们可能希望将“不提供”选项作为一个杠杆,因为通过提供不受欢迎的优惠,我们可能会失去客户,从而降低他们的终身价值。
也就是说,您可以将我们描述的某些技术用作二阶杠杆,即用于实现实际的交叉销售。例如,我们沟通和设置优惠时的方式总是可以利用于我们自己。
资本支出(CAPEX)优化
尽管已经明确了即时杠杆可供使用(支出或不支出),但映射支出与后果的中介因素远未得到充分理解。
例如,CAPEX 是那些物理杠杆可以发挥重要作用的案例之一(考虑投资于节约成本的技术)。但我们也可以考虑影响我们收入的人为杠杆(投资于使我们的产品更具吸引力的新技术,即使成本更高,直到我们能够实现一定的规模经济)。
这类问题非常广泛,所以必须根据具体情况逐案寻找可操作的杠杆。
店铺位置
类似于 CAPEX 优化的问题,我们的即时杠杆是在不同地点开设商店或不开设商店(甚至关闭某些地点),但为何这些行动会影响我们的业务目标却一直不清楚。在这个层面上,我们几乎可以说,我们只是决定开设一个商店,我们的银行账户就开始收集更多利润,这几乎是魔法般的。
最重要的中介杠杆是我们捕捉需求的能力(价格或数量),或者减少成本(这也因地而异)。我们将在后续章节更深入地讨论这些问题。
我应该雇佣谁?
请记住,我们的目标是最大化招聘的增量回报。为此,我们必须对员工对我们业务的影响有一个良好的理解,正如我们稍后在第七章中将详细讨论的那样,这并不明显。但是假设我们掌握了这些信息,我们的决定是雇佣或不雇佣,以及以什么成本。同样,我们有一个二元杠杆(雇佣与否),以及一个可以更精细调整的杠杆(工资、福利、情感薪资、工作环境以及招聘者使用的所有其他杠杆)。
拖欠率
业务问题是最大化向一个客户出借资源的投资回报率。因此,对于这种情况,三个自然的杠杆是贷款金额的大小(包括零)、时间跨度或到期时间,以及如果法规允许的话利率。此时,我们可以忽略优化所有三者的复杂性:我们必须首先开始了解我们手头可用的杠杆菜单。
但我们可以更有创意地测试行为杠杆。如果我们在信用卡上印上孩子的照片会怎样?这会使我们的客户更有可能及时还款吗?或者谈论沟通策略,我们是否可以通过发送带有快乐表情的短信来促使更好的付款行为?再次强调,测试相对便宜:我们只需有一个有效的假设,有打破常规思维的能力,并获得利益相关者的支持,以找到成本较低的杠杆。
库存优化
在最基本的层面上,我们希望利用有多少种类的每种物品应该存货。然后,杠杆只是一个数字,可以是正数(我们需要增加存货)、零(当前数量恰到好处)或者甚至是负数(将某些物品移动到其他商店,因为在此位置我们永远无法销售它们)。这并不意味着没有其他可以利用的物理杠杆。例如,想想如何减少我们的首次订单存储和运输成本(考虑亚马逊)。
店铺人员
在这个问题上,选择杠杆再次受到物理和运营约束的限制。例如,是否在任何一天的任何一小时内做出特定的人员安排是运营上可行的?每半小时呢?请记住,我们应该在每个商店中拥有合适数量的销售人员以最大化利润或客户满意度。但这取决于我们在任何给定时刻有多少顾客,因此根据粒度不同,我们可能会始终人手不足或人手过剩。
如果我们愿意打破固有思维模式,我们甚至可以考虑通过“优步化”我们的员工来放松这些运营约束:只有在需求足够高的时候才雇佣人员。
关键要点
-
一旦我们定义了业务目标,就必须考虑它是否可操作:大多数情况下,我们的问题是可以解决的,但我们可能需要打破常规思维。
-
选择杠杆的问题是因果关系问题:我们希望做出影响业务目标的决策,因此从杠杆到后果必须存在因果关系。
-
两种主要的杠杆是物理或人类:物理杠杆通常利用技术进步来实现。人类杠杆涉及深入理解为什么我们的顾客、员工或者与生产过程有关的任何其他人类会表现出特定的行为。
-
要理解行动与后果之间的关系,我们必须建立假设:大多数情况下,我们无需重新发明轮子,因为关于事物运作方式或人类行为的知识已经很丰富。我提供了一个非常快速和不完整的概述,介绍了我认为有助于思考这些问题的一些发现。
-
假设经常失败,但我们应该拥抱学习过程:很多时候,我们从因果关系理论开始,只是在测试过程中看到它失败。这没关系,这是过程的一部分。拥抱它,并确保您的团队从这些失败中学习。
进一步阅读
物理杠杆是问题特定的,因此我建议您向更专业的同事询问一些阅读建议,这些建议可以帮助您至少获得一些关于可以实现或无法实现的一般知识。
这里讨论的人类杠杆已被社会科学家,包括经济学家、心理学家和社会学家们深入研究过。我建议从微观经济学的入门教材开始,因为我们大部分的商业决策都有一定的经济基础。我个人很喜欢斯坦福商学院的教授大卫·克雷普斯(David Kreps)如何向更广泛的公众解释这些非常技术性的话题。
关于行为经济学的书籍会为您提供一些非理性选择的额外背景知识。我最喜欢的之一是丹·艾瑞利(Dan Ariely)的《可预见的非理性》(Harper Perennial),但您也可以选择丹尼尔·卡尼曼(Daniel Kahneman)的《思考,快与慢》(Farrar, Straus and Giroux)。我强烈推荐艾瑞利的书籍,因为他提供了许多我们可以拉动的杠杆来改善业务的例子,这些杠杆我们从未预料到会起作用。如果您想学会超越常规思维,这就是我推荐的文学类型。
加里·贝克尔(Gary Becker)和凯文·墨菲(Kevin Murphy)的《社会经济学》(Belknap Press)仍然是社会背景下选择的良好参考书,但另一本充满直觉的经典著作是托马斯·舍林(Thomas Schelling)的《微动机与宏观行为》(W. W. Norton & Company)。关于社会网络经济学的高度技术和百科全书式的处理可以在马修·杰克逊(Matthew Jackson)的《社会与经济网络》(Princeton University Press)中找到。
最后,战略行为和博弈论是一个独立的话题。您可以从一本入门教材开始,这本书不太技术化,但提供了很多直觉。阿维纳什·迪克希特(Avinash Dixit)和巴里·纳勒布夫(Barry Nalebuff)的《策略的艺术》(W. W. Norton & Company)或肯·宾莫尔(Ken Binmore)的入门教材,比如《游戏与乐趣》(D. C. Heath & Co.)或《真实博弈》(Oxford University Press),可能会适合您的需求。
¹ 在这种情况下,“服务器”是负责为每个客户提供服务(如收银员)的人或机器,而不是计算机服务器。
² 理性与选择的一致性有关,这与我将完全不使用或声称的内容有关。
³ 除非您希望占据市场份额,这可能会增加长期收入,但这是一个不同的商业目标。在这种情况下,您可能考虑短期内处于亏损状态,但您必须优化您的长期利润的净现值。
⁴ 请参阅卡罗琳·亚伯拉罕(Carolyn Abraham)的文章,《为什么你的 DNA 对营销人员来说是一个金矿》("Why your DNA is a gold mine for marketers")在《环球邮报》(The Globe and Mail)中作为一个例子。
⁵ 我们还在第三章中讨论了双边平台。
第五章:从行动到后果:学习如何简化
我们已经多次提到,通过做出决策,我们可能会对我们的业务目标产生或者未产生我们预期的后果。但我们如何知道会有什么样的预期?我们又是如何决定这一系列行动值得我们花时间去实验呢?在本章中,我们将学习最重要的分析技能之一:简化世界并解决限制性问题的能力。这将希望将我们拉近一步分析启蒙。
重新审视显示在 图 5-1 中的图形,我们现在将把注意力放在通过因果关系介导的行动与后果之间的连接上。这是我们将我们卓越的理论创造能力付诸实践的地方。但由于世界是复杂的,我们最好学会简化。

图 5-1. 从行动到后果
为什么我们需要简化?
想象一下,我们从解决一个新的业务问题的项目开始。遵循 第三章 中的建议,我们通过从问题开始并向后移动来设置问题。我们首先确定一些驱动我们目标的因素,然后提出将我们的杠杆映射到这些后果的理论。
然而,并不罕见的是,对于我们追求的任何特定后果,我们可以拉动许多杠杆。这些杠杆每一个都可能产生大量的后果,因此我们需要简化(参见 图 5-1)。
假设我们想增加我们的收入。在 第四章 中,我们展示了根据我们当前的价格,增加或降低价格可能是合理的。但你也可以每天给你的客户发送一封电子邮件,表达对他们业务的感谢并祝他们有个美好的一天。或者让你的社区经理在公司的 Instagram 账号上发布一些使用你的产品的酷炫人物的照片。或者等到他们在你的客服中心联系你,然后尝试进行一些交叉销售。或者如果你感到非常冒险,你可以在玻利维亚的网页上发布广告,希望你的潜在客户计划下一次去那个美丽国家的旅行。实际上,选择是无限的。世界是复杂的,其中一些可能适用于你的一些客户,而一些则可能不适用。这就是为什么我们需要简化。
一级和二级效应
一个很好的实践是开始只考虑 一级效应,以便正确获取效应的“符号”或“方向”。此时,我们可能不关心影响结果曲率的 二级效应。
但这些效应从哪里来?因为我建议您从一阶效应开始,所以我最好告诉您从哪里找到它们。正如以下侧栏所示,我们需要一个关于后果如何从行动中产生的理论。理论可以是数学形式的(在这里您最终将行动映射到后果),或者更多是基于故事的,您只需假设如果您拉动杠杆,那么后果会发生。使用数学编写的理论可以推导出一阶和二阶效应。使用较不正式的理论,您只需在事后评估各种杠杆的排名。
我们面临的复杂性的一部分来自于我们生活在一个高度非线性的世界中。想想我们在收入和价格之间看到的关系(图 4-5)。为什么我们需要从一个倒置的 U 形开始呢?如果我们只是从价格到收入的线性增加函数开始就简单得多(至少我们知道有一个直接且正的一阶价格效应)。
爱因斯坦的释义是,模型应尽可能简单,但不能更简单。这意味着我们应该从适合某些数据或我们对问题的先验知识的最简单理论开始,即使是部分的,然后在必要时进行迭代并创建更复杂的模型。
根据标准成本效益分析,找到停止的一个良好经验法则:当另一个迭代的增量成本超过您预期从中获得的收益时停止。如果您需要投入团队一个月的时间才能推出模型的下一个版本,但这只会对公司的收入产生微小增长,那么您似乎在第一次请求该迭代时就不应该这样做。
锻炼我们的分析能力:欢迎费米
恩里科·费米是一位意大利物理学家,曼哈顿计划的成员。他在核物理和原子弹的发展中起了重要作用。在像我这样的非物理学家中,他最出名的是普及一种近似解决非常困难和复杂问题的方法。举个例子,让我们拿一个以他名字命名的问题来说(尽管原因有所不同),所谓的费米悖论:为什么我们在宇宙中找不到生命的证据,而“数字表明”这不是一个低概率事件?好吧,我们需要提出这些“数字”来验证这个声明的表面悖论性质,这就是费米方法帮助我们的地方。¹
费米问题从将一个复杂问题分解为更简单的子问题开始。我们的目的不是得出一个困难的、精确的数字,而是要得到正确的数量级:我们可能不关心答案是 115,000 还是 897,000,只要我们知道它在数十万的数量级即可 .²
我喜欢费米问题,因为它们迫使我们通过要求做简化假设和粗略估计来提供答案,从而锻炼我们的分析能力。让我们看看这在实践中是如何运作的。
这个矩形房间的地板能容纳多少个网球?
许多科技公司在面试过程中喜欢问费米问题,让我们从典型的例子开始。假设你站在一个长度(L)和宽度(W)如图 5-2 所示的矩形房间中。这个房间的地板上能容纳多少个网球?整个房间里呢?

图 5-2. 将费米方法应用于房间地板上的网球问题
首先考虑我们能在图 5-2 左上角的第一行放多少个球。由于我们只关心第一行,我们可以忽略宽度(W),因为它并没有提供太多信息。球的数量可以用 近似,或者更好地说,小于或等于该数字的最大整数³:如果房间长 10 米,每个球直径为 25 厘米,那么每行可以放 40 个球。现在整个地板上可以放多少行?用同样的逻辑,我们得出答案应该是 。
将这两个数相乘,我们得到整个地板上可以容纳的球的总数由,或者从下方给出的任何好整数。为了得到一个数值答案,您需要对这些值进行近似。例如,我相信网球的直径在 5 到 9 厘米之间(1.9 到 3.5 英寸),所以让我们取 7 厘米的中点。此外,我的房间大约长 4 米,宽 2 米,所以我应该能够容纳大约 1600 个网球。我们知道这并不完全正确,但我们希望它在合理范围内。近似和简化是费米问题的核心。
但是让我们关注技术本身,看看我们做了什么。我们从一个问题开始,将其分解成两个相对较简单的问题。第一个问题是每一行可以容纳多少个球;第二个问题是在矩形房间中可以容纳多少行的球。如果我们能够解决这些问题,我们就可以解决原始、更难的问题。您可能已经注意到,我们本可以通过相应的区域找到解决方案,但这只是稍微复杂一点(参见图 5-2 中的解释)。如果现在您想知道整个房间内可以容纳的球的数量,您将面临第三个问题,其复杂度与前两个问题相同(可以容纳多少个球的切片)。
另外,需要注意的是球的表面积不是,而是,其中和分别是球的半径和直径,而则是几乎神话般的数学常数。但由于我们只关心近似值,我们不需要这个精确的公式:我们可以假设每个球都是一个正方形,因为这些正方形的边界与球之间的空间无法使用。⁴
让我们看看简化可以为我们带来什么好处,通过考虑像图 5-3 中的稍微复杂的房间。我们现在如何解决这个问题?一阶近似将一切视为矩形,因此问题本质上是相同的,不同之处在于在公式中不再使用,而是使用。线性世界很容易处理。

图 5-3. 与之前相同的问题,房间的形状略有不同
或许你对这种粗略估计感到不适,那么现在你可以通过将右侧的半圆近似为三角形来提供估算的下界,或者如果你真的愿意,你可以尝试用圆的面积来提供一个更好的近似值。额外的努力真的值得吗?你可以试着玩一些数字,看看是否值得。
我知道这感觉像是一个人为的问题,但请记住,我们只是在进行我们的第一个费米问题练习。
你会收多少费用来清洁墨西哥城的每一扇窗户?
第二个问题更具商业特色:你会收多少费用来清洁每一个墨西哥城的窗户?如果你从未去过那里,你怎么能提供这样的数字呢?费米在提供类似可居住或类似地球的行星的大概数量时,也没有访问过宇宙的其他地方。这就是费米问题的美妙之处之一。
让我们首先设定问题。我们需要两个数字:墨西哥城的窗户数量以及每个窗户的收费标准。然后我们可以将它们相乘,就完成了。
让我们从我们要收取的每扇窗户的费用估计开始。注意,这本身就是一个难题。我会根据时间不同而有所不同,无论是夜晚、白天还是工作日,我的机会成本都取决于替代品及其价值。但我们将简化并假设事物是恒定的(这是一个线性假设)。
每个窗户我们需要花多少时间?我猜我需要 30 秒来完成一个窗户。我会假设这个时间是恒定的。从经验上来说,我知道这并不正确:一开始我可能非常高效,只需 20 秒就能完成,但接着我开始感到疲倦,速度就开始下降了。请注意,这是一个关于变化曲率的二阶效应。在第一次尝试中,我将忽略这些细微差别,只是近似地将平均时间设为每窗户 30 秒。由于一小时有 3,600 秒,这些时间大约相当于 0.008 小时( )。
那么一个小时的成本是多少?假设去掉所有有趣的细节,我只会说,如果我一年赚 100 美元,那么我的平均小时费率应该接近 100 /(52 × 5 × 8),因为一年有大约 52 周,每周 5 个工作日,每天工作 8 小时。请注意我们如何简化事情。
这样说来,我们现在可以估计墨西哥城的窗户数量。让我们考虑居民窗户的情况,其他情况留给你去解决(见图 5-4)。
如果我们能估计出每个比率,我们将能够提供一个近似值。但让我们先停下来注意一下我们所做的事情:这是一个方程——一个没有任何歧义的数学真理——我们只是乘以和除以一些数。简化和估算将在我们开始填充每个比率时发挥作用。
例如,普通住宅有多少窗户?假设普通住宅有两个房间,还有一个客厅和一个厨房。你对每户平均 10 个窗户的估算感到满意吗?每个房间大约有 2.5 个窗户,客厅有 3 个,厨房有 2 个(或这些的某种组合)。我确定你见过有更多(或更少)窗户的公寓,但请记住,我们只是粗略估算,我猜想每户大约有 10¹ 个窗户。
现在考虑第二个比率:墨西哥城每人有多少房屋?别担心,我也不知道,但我们假设平均每户有 4 人,对应人均 0.25 户。最后,墨西哥城的人口呢?我知道它是世界上最大的城市之一,所以我猜人口是 2000 万居民(记住我们只关心数量级)。这样一来,我们估计住宅窗户约有 5000 万个(图 5-4)。

图 5-4。墨西哥城有多少窗户?
我们进行了许多粗略估算,因为在费米问题中,我们只关心数量级,所以我们知道我们提供的数字中可能有一个或多个是错误的。好处在于,无论何时,如果我们觉得我们过于简化了一个估算,我们总是可以回头改进它。
我让你考虑这个特定问题的其他细微差别,比如餐馆、汽车和学校有多少窗户。但你可以期待这种方法会类似地工作。重要的是我们学会简化并注意每一步骤中所做的所有假设。
用费米问题制定初步商业案例
前一节中的问题很适合锻炼我们的分析能力,因为它们迫使我们进行简化假设和粗略估算,同时对它们保持意识和批判性思考。虽然我当然建议每天进行费米锻炼,但您可能会想知道它是否还有其他用途。我们现在将看到,我们可以使用费米类型的推理来构建准备我们日常工作中的许多业务案例所需的逻辑。
支付我们客户的联系信息
许多公司的客户联系信息很糟糕:要么由于人为错误而保存不正确,要么已过时,或者我们的客户一开始就没有提供正确的信息。无论哪种情况,他们的电话号码或电子邮件地址可能不正确或者无法使用。这不仅令人沮丧,而且在财务上也有影响,因为我们大多数的直接营销活动依赖于我们实际能够联系到我们的客户。
您的 CMO 要求您计算我们应该支付客户的正确联系信息的金额。实际上我们不会直接支付他们 —— 虽然我们可以 —— 但我们可以购买一些去巴黎的旅行,然后让他们通过给我们他们的联系信息注册游戏或彩票,我们可以通过向他们发送代码进行验证。您明白我的意思。
让我们思考一下问题的经济学。对我们而言的成本是我们愿意支付给每位客户的费用,我们称之为。但是利益是什么?一旦他们给了我们他们的联系信息,我们期望得到什么回报?让我们对转化漏斗做一个粗略的估计。
假设在 100 位注册客户中, 百分比提供了正确的信息;我们可以通过立即强制验证将其提升至 100%,但目前我们没有因更广泛而失去任何东西。我们的目标是进行销售,从而增加每位客户对公司的价值。假设有 百分比的被联系者接受了我们的提议。最后,这对我们的业务目标有何影响?我真心希望我们所做的无论如何都能增加他们对公司的价值。我要说,通常我们的活动产生了长期增量价值 。
很好。现在,让我们找到一个收支平衡规则,以平衡增量成本和收益。初步估计,我们应该愿意给每位客户提供最多的 美元。请注意,如果我们估算出更高的潜在收益——如 CLV 的变化量——我们也可以做出更好的提议。同时请注意,初步估计下,我们可以假设两个相关的概率——联系和接受——并不取决于每位客户的潜在收益;但是这个假设可能过于强烈,我们可能以后需要修订它。你明白了吧;现在我们只需输入一些看似合理的值,就可以给我们的首席营销官一个答复了。
过度的联系尝试会增加客户流失的概率。
我们的首席营销官对我们的答复非常满意,因为她确实有预算购买一些去巴黎的旅行并测试活动效果。她现在担心我们在更新客户联系信息方面可能会太成功,导致我们联系他们过于频繁,从而增加流失率。
现在她要求我们找到一个规则,以便决定联系哪些客户。让我们回到增量成本收益分析。由于我们关心流失概率,让我们给它起个名字,比如 。如果一个客户流失,我们会失去她目前的 CLV,假设她离开并再也不从我们这里购买: 。是的,这看起来像是一个极端的假设,但我们在简化,可以把它看作是一个最坏情况。这是负面影响。那正面影响呢?如果她不流失并且接受,我们可以通过 增加她的价值;让我们称之为概率 。
基本经济分析表明,如果我们打电话给任何预期成本大于预期收益的客户,这是不好的商业行为。与之前一样,我们可以通过平衡边际成本和边际收益来找到收支平衡的客户。
现在我们有了一个简化但最优的规则来联系我们的客户。我们如何将其付诸实践?首先考虑最简单的情况,我们使用平均流失率和接受率作为我们所有客户的概率估计(因此我们将它们视为所有客户的固定值)。为了找到一个盈亏平衡的客户,我们必须掌握提供的增量价值百分比的客户级估计( ),并按增加顺序排序我们的客户。然后我们可以通过等号将两边相等来找到我们的盈亏平衡客户(图 5-5)。

图 5-5. 找到我们的盈亏平衡客户
一旦我们能够解决这个简化的场景,我们应该考虑估计个体概率,以得出一个完全定制的最优性规则。再次注意,我们从解决一个非常简单的表述开始,然后逐步提升复杂度。
你应该接受那个初创公司的报价吗?
想象一下,你收到了加入一家有前途的初创公司的邀请。由于他们缺乏流动性并迫切希望快速增加收入,初创公司通常提出低于平均水平的薪资报价,但是用股票或受限股票单位(RSU)来补偿你。基本上,他们希望你用短期流动性(你的工资)来换取中长期回报,这些回报由你对未来价值的期望来决定。
一个困难是 RSU 通常有一个归属期,即你必须在公司工作一段最短时间后才能行使或出售这些股票。例如,在美国,将这个归属期设定为四年是相当标准的,所以如果你今天被雇佣,并且如果你在四年后仍然在公司工作,假设你实际上能出售它们,那么你将完全拥有你的 RSU 权利。⁵ 对此,公司必须在此期间上市(或被收购)。否则,你将不得不等到这种情况发生,因为简单地说,没有市场来交易这些股票。
基本的经济分析表明,只有在报价优于你目前的状况时才应该接受。注意,其他考虑因素(例如在某个地方工作的声誉或者情感工资)在分析中被简化掉了。但是你真正得到了多少呢?
让我们写下一些数学以更好地理解。称您当前的年薪为,为了明确权衡,假设他们只提供给您这个数额的一个分数,比如。如果您保留当前的工作,您每年将赚取。相反,如果您接受这个提议,您将知道在一个不确定的时间段内每年将获得,并且如果您能行使您拥有的公司一小部分的权利,您还将获得价值的 RSUs。他们提出的提议包括股票,每股价值美元。
这是一个需要计算净现值的问题。我们无法消除时间,因为等待直到您拥有这些股票并能够变现是有机会成本的。但我们可以提出最简单的 NPV 计算,只涉及两个时期:今天和明天,我们稍后再决定“明天”是什么意思。
留在当前工作的 NPV 为:,其中是适当的折现率。这只是说如果今天我们赚取,同样的工资在明天会稍微少一些:。另一方面,如果我们接受这个提议,我们预期将获得:
在这里,我们明确将“明天”定义为您可以行使 RSUs 的时间。现在我们已经提出了问题,我们的决策规则是:仅当时接受。
多亏了这个数学公式,我们现在可以进入下一个阶段并插入一些值:您的工资,替代方案,股票单位数,以及当前价格估计最好是提议的一部分,但是请再次检查价格,因为目前还没有市场,您可能是直接从您的招聘人员那里得到信息。
要做出决策,我们最终必须为折现率插入一个值,这取决于你认为公司何时上市的时间跨度( ):如果你认为少于四年,那么(请记住限制期)。如果你认为可能需要更长时间,那么 。⁶ 折现率和时间跨度之间存在一个良好的关系,这将帮助我们得出一个近似答案。
这里的窍门是建立一个参考年度折现率并使用复利。通常,最保守的折现率由通货膨胀率确定,因此您可以以此为起点。然后可以得出 ,或者解出我们未知的折现率(作为折现率和时间范围的函数), 。现在我们可以计算所有内容,进行一些敏感性分析,改变其中一些内容,然后决定是否对我们有利。例如,您可以找出您能接受的最低薪水,然后就他们提供的 RSU 数量进行协商。
重新审视第三章的例子
让我们重新审视我们的例子,看看我们需要多大程度上简化,以解决每一个规定性问题。
Customer Churn
客户流失的困难在于,我们有几个替代潜在杠杆,包括价格折扣;与我们的高概率客户更频繁、更友好或更战略的沟通;甚至改进我们的产品,提供更高质量的产品。这些在实践中有效的程度取决于我们对客户购买我们产品原因的理论的有效性。而理论依赖于简化的假设。
以折扣杠杆为例。假设是,如果我们暂时降低价格,我们的客户将会忠实于我们的公司。在这种情况下,我们可以借助需求法则的基本微观经济学,但这不是物理学意义上的法则。
要看到这一点,考虑以下情景。我们按照保留策略建议的方式降低价格,由于对于许多客户来说价格信号质量,一些客户会将此视为质量下降并决定从竞争对手那里购买。当然,我有两个假设:价格对我们的产品起到质量信号的作用,一些客户愿意支付更高的价格以获得他们期望的质量。
因此,我们对同一杠杆(临时折扣)有两种相反结论的竞争理论:在一种情况下,我们降低价格客户留在我们这里。根据第二种情况,客户离开了。你怎么看?
如果你问我,我认为在某些情况下这两种情况都是合理的,我遇到过那些可能是纯粹追求折扣的人,也遇到过愿意为质量支付足够高价格的人。但对我来说,第一序效应——最有可能影响我们普通客户的效应——来自第一个理论,而第二个则更多是边际情况(影响分布的尾部)。
当然,这只是纯理论:现在我们需要将其带入实验领域,并进行一些设计良好的 A/B 测试。但至少我们可以从最直接的杠杆开始。
交叉销售
如果我们的目标是最大化客户生命周期价值,下一个最佳提议是什么?考虑到最理想的情况,完全个性化:在正确时间为正确客户提供正确产品,并以正确的沟通方式和正确的价格。这些正确都是我们的杠杆:产品、时机、定价和我们客户的选择都是我们可以做出的决策,以实现成功的交叉销售。
但它也表明每一种“正确”都存在于客户中。拿第一个自然杠杆来说:提供“正确”的产品。这个想法是,鉴于客户以前的购买,我们提供另一种适合他们的产品。为什么会这样?事实是,可能并没有一个,至少不在我们的选项菜单上。
另一个替代理论是,鉴于其他杠杆(沟通、时机和定价)的正确组合,任何客户都有可能购买任何产品。有些人永远不会这样做,无论我们选择哪种杠杆组合,但其他人可能不会那么不屈不挠。由于行为经济学在第四章的讨论,我们知道沟通、定价和时机可能帮助我们以令人满意的方式框定客户的决策。
你可以看到,为了让我们的杠杆起作用,我们已经在每个理论中确认了简化假设。我们没有讨论的一个常见假设是所有顾客都是一样的这个想法。这种假设使我们能够简化差异并专注于我们的平均顾客。起初使用这种假设是可以的,但当我们开始测试我们的理论时,证据将清楚地显示顾客表现出非常意想不到的行为。
CAPEX 优化
资本支出(CAPEX)优化的问题是一个从一开始就确定了杠杆(投资分配的地点和方式)的问题,因此我们需要提出一个理论来解释这如何影响我们想要优化的业务目标。这个问题没有通用答案,你应该根据具体情况考虑。
现在我将提出一个在不同情境中可能更或不太适用的可能理论:我将假设 CAPEX 影响我们的收入 ,限定可能的驱动因素为纯粹的价格效应( ),纯粹的数量效应( ),或两者兼有。
价格效应
假设通过投资更多,我们的公司能够吸引更愿意付费的顾客。一个可能的情况是,投资目的是改善设施或用户体验。我们可以预期顾客愿意支付的平均票价取决于资本分配的规模 ,其中 在数学上表示我们的这种直接价格效应的理论:这是一个可以根据本期资本存量 的增长率,可能是正的也可能是负的。
数量效应
或者,我们可以决定收取相同的价格,但由于我们提供更高质量的产品或体验,我们的销售额增加: 。与之前一样,函数 是我们的理论,通过销量渠道将资本配置与收入联系起来。
现在我们有两种投资如何影响我们收入的替代理论。毫无疑问,任何一种都可以适用于我们的案例,但也可能没有一种是真实的,所以我们可能需要重新考虑以提出更好的替代方案。例如,我们的投资可能影响的是我们的成本,而不是我们的收入。
注意,我们在理论中还没有具体说明驱动因素,但至少提出了一些合理的故事。在这个层面上,这是最重要的简化假设。一旦我们对如何在这两种情景中建模实际的增长函数做出假设,我们将有另一个强大的简化假设,我们可能希望对其进行批判性思考。
店铺位置
对于寻找我们店铺的最佳位置的情况,杠杆在一开始就已经确定,因为我们的问题是决定在哪里开设新店。具体而言,我们的杠杆是选择位置,因此我们需要一种理论来将位置与业务绩效(通过我们的利润来衡量)匹配。
如果我们在需求量大的地方开设门店,我们的收入将会更高是最自然的理论。现在可能会有两种可能的影响:价格效应(通过愿意支付来衡量的更高或更低价值段的定位)和数量效应。成本呢?租金和公共事业费用也会以系统化的方式随地点变化:如果其他企业也像我们一样思考,那么吸引许多潜在客户的地点(例如购物中心)将会有更高的需求。
在这个层次上,主要的简化假设是直接将位置映射到收入和租金或公用事业成本,不考虑任何其他间接影响。例如,如果我们在现有店铺附近开设一个新店,是否会有来自一家店铺到另一家店铺的收入蚕食效应?很可能我们不能安全地假设消除这种影响。效果的时间可能也很重要要考虑。如果我们开设一家商店,需要多长时间才能产生我们理论建议的利润流?如果竞争对手做出反应会怎样?你可以看到,最初似乎是无害假设中有许多隐藏的假设。
拖欠率
这个用例是介绍在简化问题时可能面临的通常权衡的好地方。一般来说,我们通过牺牲提供一个不太现实的问题图片来获得可操作性。我们希望通过关注一阶和二阶效应,我们可以解决一个问题,仍然可以以有意义的方式指导我们的业务决策。
在拖欠率的情况下,我们已经提到至少有三个自然的杠杆:贷款规模,利率,以及贷款的成熟期或长度。
让我们从提出最一般的问题开始。我们的目标是最大化利润,这总是可以表示为收入与成本之间的差异,每个差异可能依赖于我们的每个杠杆。
这是可能的最一般的表述,仍然允许我们对收入和成本两方面的差异效果进行建模。⁷ 请注意,为了得出这个问题的简单陈述,我们简化掉了所有情况的细节:无论你是银行、个人还是大型零售商,情况都是一样的。
如果我们有足够多数据,并且这些数据具有相当大的变化,原则上可以使用附录中描述的监督学习算法来解决这个问题。为什么我们需要变化?因为我们对问题没有施加任何结构——有两个未指定的函数——我们需要让数据单独做额外的工作。
但最有可能我们对数据要求过高,因此我们可以进一步简化。假设现在我们只关心价格优化,因此我们可以固定其他两个潜在的杠杆,然后问自己,利率不同如何改变利润:
让我们继续使用数据驱动的解决方案,并假设财务部门已经计算出了贷款级别的利润、收入和成本。然后,我们可以将利润绘制为利率的函数,并获得一个看起来不错的利润函数,例如图 5-6 左侧面板所示,其中每个点对应一个假设的贷款,都是相同规模和到期期限。我还绘制了一条实线,对应于我们通过数据发现的关系。请注意我们的幸运之处:估计的利润函数呈现出一种漂亮的倒 U 形状,这是我们在解决最大化问题时真正想要的类型。现在我们可以继续解决优化问题,将利率设定为使利润达到最大值的地方,大约是 10%。

图 5-6。在使用数据驱动方法估计和优化利润时的两种替代场景
然而,由于我们没有对问题施加任何结构,我们很可能会在右侧面板中找到利润函数。风险在于,如果我们使用数值方法,我们可能会错误地得出一个接近 6%的最小值,并将其作为我们的最佳利率。请注意,实际的最佳利率可能甚至大于 18%。
这里的教训是,过度简化可能会导致从商业角度来看毫无意义的结果,并可能伤害公司。在这种情况下,我们做得太过了,现在可能需要重新给问题加上一些结构。最好的方法是利用我们对情况的理解来制定一个更精确的问题。
让我们继续简化贷款的规模和到期时间,假设我们考虑借给客户 100 美元,今天要还,明天就会还清。如果明天完全还清,我们将获得包括本金和利息支付在内的收入。为此,我们需要承担资金成本,假设是更低的、无风险的利率。⁸ 在这种情况下,如果客户还款,我们的利润将是利率差:
由于这是一个拖欠使用案例,我们最好允许这种可能性。采取最简单的情况,只有两种可能的结果:借款人完全遵守贷款,概率为 ,或者他违约,并且通过一些昂贵的努力,我们能够恢复一部分 (成本 随着比例的增加而增加),概率为 。请注意,资金成本在借款人决定是否履行其债务之前就已经确定了。
那么我们的预期利润是:
这最后一个方程给我们带来了一些现实感,但显然还不够,因为我们预期的利润仍然随着利率的增加而增加(我们的成本并不取决于我们收取的费用)。我们可以通过让概率与利率成反比或让成本 随利率增加来处理这个问题。这两种假设都能得到我们预期的权衡:更高的利率仍会增加预期收入,但成本也会更高。
在继续之前,请注意额外的结构使我们能够估计我们的预期收入和成本,因此我们的利润:优化现在是可行的。如果你想知道我们的数据如何适应,我们将用它来估计客户违约概率或收款成本函数。
库存优化
正如在第三章中讨论的,库存问题的一阶效应由我们每个时间段面临的不确定需求、生产/订购成本、运输成本以及持有或存储成本确定。
这里我只是想展示简化的价值,特别是不同的简化假设如何帮助我们更好地理解问题。让我们首先假设不存在任何不确定性和成本。由于日需求是已知的,我们可以只存储下一天所需的东西(没有运输成本)。但我们也可以为下个月提前购买,因为也没有存储成本。
一旦我们包含这些成本,我们看到需要考虑重要的权衡。如果运输成本相对于存储成本很高,长期过量存货将是最佳选择。或者,您可以考虑每天多次补充库存。您可以看到,我们每次放宽一个假设时,都有几个重要的细微差别,并且通过逐一放宽假设,我们对第一顺序效应有了一些直观感受。
Store Staffing
在第三章中,我们提到这个问题在精神上与寻找最佳库存的问题类似:通过过度人员配备,我们会承担支付工资而没有额外生产力的成本,而人员不足可能代表失去的销售或降低的顾客满意度,这可能会转化为未来更高的顾客流失和未来收益的损失。
但由于本章是关于理解简化价值的,考虑一个问题,即我们确切知道每小时每家商店将有多少客户到达。然后我们可以首先解决找出顾客的平均等待时间的问题。
一旦我们解决了这个高度简化的问题,我们可以向前迈进一步,并放松确定性假设,但是对客户进入或退出商店的速率强加强分布假设,允许我们在不确定性下解决问题。
完成这项工作后,我们需要将等待时间映射到顾客满意度,并且我们可能再次希望施加简化的假设。理论上,满意度随等待时间的减少而增加,我们可以首先假设是线性的。或者,我们可以将顾客流失的概率与等待时间联系起来,这将直接影响我们的业务目标(我们的利润)。
在这里,我只是想展示我们需要理论来将行动映射到影响我们业务目标的后果,以及简化假设在帮助我们解决特定问题中所起的作用。我将在第七章中展示一种可能的解决方案。
Key Takeaways
-
我们通过做出决策来影响我们的业务目标:作为分析思维者,我们的工作是找到、测试和丰富我们可以拉动以实现业务目标的行动或杠杆的集合。
-
但是我们的决策只能间接改变我们的表现:有中介因素——无论是人为还是技术性的——我们需要理解才能有效果。这些因素直接影响业务。
-
我们的行动与后果之间的联系通过因果关系中介:理解从行动到后果的因果力量至关重要。要有效,我们还必须记住,在因果解释效果时可能会遇到的陷阱。
-
作为人类,我们有强大的能力来创造关于事物如何运作的理论:这种技能是提出我们可以通过 A/B 测试测试的新杠杆的必要条件。
-
世界是复杂的——我们需要学会简化:在创建将行动映射到后果的理论时,我们必然需要简化掉每个问题的细微差别。理想情况下,我们应该从集中注意力在第一顺序效应开始,但从一开始就知道哪个是第一顺序效应很难。领域知识是宝贵的,但是提出新理论的能力同样重要。
进一步阅读
如果你有兴趣通过解决费米问题来锻炼你的分析能力,Lawrence Weinstein 和 John Adam 的《Guesstimation: Solving the World’s Problems on the Back of a Cocktail Napkin》(普林斯顿大学出版社)或 Sanjoy Mahajan 的《Street-Fighting Mathematics: The Art of Educated Guessing and Opportunistic Problem Solving》(麻省理工学院出版社)会很有帮助。William Poundstone 的《Are You Smart Enough to Work at Google?》(Little, Brown Spark)提供了许多问题的例子,对于达成同样的目标也是很有用的,包括一些费米问题。
据我所知,没有通用的书籍教如何简化。不幸的是,这是一个只能通过研究他人制作的模型并尝试建立自己的模型来发展的技能。Scott Page 的《The Model Thinker: What You Need to Know to Make Data Work for You》(基础书籍)可以帮助你理解前者,因为他呈现了社会科学中使用的各种模型。
如果你对库存理论或管理感兴趣,引入运筹学或控制理论(后者适用于不确定性应用)是个不错的选择。Hillier 等人的《Introduction to Operations Research》第十九章(麦格劳希尔高等教育出版社)提供了一个关于有无不确定性的库存理论的良好介绍。
¹ 想一想:我们如何甚至近似这个概率?我们需要基本上计算周围宇宙中类似地球的行星的数量。
² 你可以决定这是否对你的问题来说是一个太粗糙的近似,然后相应地进行调整。
³ 我们这样做是因为我们只能拥有整数数量的球,当然了。
⁴ 如果你可以切割球体以填充尽可能多的空间,情况将会不同。那么我们将需要利用额外的空间。
⁵ 我假设你的 RSUs 在你的归属期结束之前定期授予的情况,通常是这样。
⁶ 所以 其中 是你预计公司将公开的时间。尝试通过阅读有关公司的新闻来了解情况。
⁷ 我们可以只考虑这个方程式的左边,完全忘记收入和成本。
⁸ 银行以较低的利率借款,通过以更高的利率放贷来获利。即使你的公司不进行借款,你也可以将这视为将资金投入任何替代投资机会的机会成本。
第六章:不确定性
本杰明·富兰克林经常被引用说:“在这个世界上,除了死亡和税收,没有任何事情是确定的。”冒着显而易见的风险,我要声明的是,生活中唯一确定的事情就是不确定性。正如我们将在本章看到的那样,我们不仅必须掌握简化的艺术,还必须尽力理解不确定性的根源,并在我们对行动结果不确定时如何做出决策(参见图 6-1)。

图 6-1. 理解潜在的不确定性
本章的主要要点是,为了在不确定性下做出决策,我们将寻求最大化我们业务结果的数学期望。因此,我们必须首先提供足够的概率论背景,以便我们能够在计算期望时感到自信。我还将介绍在不确定性下决策理论的基础知识,并最终将这个工具箱应用到我们的用例中。
不确定性从何而来?
在科学中,不确定性或随机性通常与我们对某些现象原因的缺乏知识有关。那么不确定性从何而来呢?我们在第二章已经讨论过这个问题,所以让我简要总结一下那里提到的内容。
许多时候,我们不确定的根源实际上反映了我们对行动或我们观察到的任何现象的原因或后果的无知。但它也可能是我们需要将世界的复杂性简化掉(对于手头的问题不是首要的)。有时,我们可能对效应的方向或符号(如需求法则)的预测感到非常自信,但我们可能对异质群体中不同幅度感到不确定。最后,不确定性可能源于复杂行为和社会互动,甚至可能遵循简单的确定性规则。
当然,这份清单并不是详尽无遗的。但是,大多数不确定事件可以归类为这些类别之一。
量化不确定性
我们都具备对不确定事件进行定性比较的能力。例如,根据我们的经验和其他一些证据,我们可能能够说明明天下雨的可能性比不下雨的可能性大。但是,我们如何将这种定性比较变为定量比较呢?概率计算专门设计为使我们能够处理和处理不确定性。在这里,我将对概率论进行简要而简化的总结,但如果您对更详细的处理感兴趣,请查看本章末尾的参考资料。
在我们的背景下,我们有兴趣量化不确定后果发生的概率,考虑到我们的行动。现在让我们看一些例子。在客户流失的背景下,我们可以向客户提供保留优惠,但她可能会决定流失或者不流失。在这里,我们真正不确定两件事:即使我们不提供优惠,客户是否可能流失?我们的优惠是否会影响这一事件发生的概率(以及如何影响)?
约会呢?今晚我应该去见那个相亲对象吗?在这种情况下,行动是出门或不出门。这个问题下有许多不确定性,但由于我们有一个特定的目标——比如,认识一个你可以继续约会的特别的人——我们可以简化问题,只考虑按照这个目标来看,约会将会成功的概率。从一开始应该清楚的是,如果我们决定待在家里,那么遇到重要人士的概率为零。
要简化事情,只考虑二元结果的情况,即我们的行动带来的后果要么令人满意,要么不满意。¹ 没有中间地带,这两种选择是互斥的:只能有一个是真实的。用 表示在我们的行动下后果为satisfactory的概率。有时我们会让概率依赖于我们的行动,并将其表示为 ,读作行动 被采取时结果将成功的概率。以下是概率函数的典型特性:
-
这表明概率是一个介于零和一之间的数字——零表示我们绝对确定事件不会发生,而一则表示另一个极端的情况。
-
由于在二元结果世界中事件是互斥的,这意味着两个概率的总和必须为一。或者,我们可以将失败(不成功)的概率表示为成功的概率的一减。
这两个特性现在对我们来说就足够了,但请注意,更一般的性质涵盖了我们有许多可能结果并且其中一些可能不是互斥的情况。第二个特性被称为加法法则,概率的微积分还配备了一个乘法规则,允许我们更新概率估计(贝叶斯定理)等。
预期值
假设你参与以下赌博:我将抛硬币,如果正面朝上你赢得$10;否则你损失$10. 如果你决定参与,你如何评估这个赌博的价值?正式地说,我们定义了一个随机变量 ,根据不确定的结果可以取两个值:如果是正面,取值为 10;如果是反面,取值为–10。
请注意,随机变量是数学函数,将不确定结果集(例如我们例子中的反面或正面)的每个元素映射到数字(在例子中为–10 和 10)。如果我们有 5 个可能的结果(或 10 个,或无限个),每个都有一个指定的概率,随机变量将为这 5 个(或 10 个,或无限个)结果分配一个数字。此外,由于这是一个数学函数,每个结果必须分配到一个且仅一个数字;然而,可能有几个结果被分配到同一个数字。在极端情况下——恒定函数的情况下——所有结果都被分配到同一个数字。随机变量使我们能够将随机结果转化为数字,这非常方便,因为我们知道如何处理它们。
在我们的赌博案例中,不确定性源于我们不知道硬币是正面还是反面,因此我们的奖品是未知的。我们可以定义我们赌博的期望值为奖品的平均值,按概率加权:
如果我们的硬币是公平的——每一面都有 50%的概率出现——期望值就是 0.5 × –10 + 0.5 × 10 = 0。图 6-2 展示了不同正面概率的期望值。注意它与概率线性变化;这是一个在应用中非常有用的优良特性。当我们确定会正面朝上时,我们期望获得全部$10. 另一方面,如果硬币总是反面朝上,我们就会确定损失$10。

图 6-2. 不同正面概率的期望值,我们抛硬币的例子
投标州际公路建设合同
让我们再看一个例子。假设你的公司考虑参与新的公开投标,以建造一条州际公路。监管机构决定,任何想参与的公司必须支付固定的参与费用$10K。财务部门估计,如果合同被授予,公司的长期增量利润将为$1 百万。经过深思熟虑,团队的数据科学家估计,赢得合同的概率为 80%。让我们计算如果我们决定参与,期望利润是多少:
注意,您支付的进入成本独立于公司是否赢得合同,因此不会影响期望值的计算。唯一不确定的量是是否具有或不具有合同的预期增量利润的价值。还要注意,期望值保留了所考虑随机变量的单位。在这种情况下,如果我们参与投标,我们预计将赚取$790K。
解释期望值
我们应该如何解释期望值?根据一种观点——频率学派,我们可以将一个实验看作是在相同条件下多次进行的实验。在抛硬币的例子中,如果您无限次重复赌博,期望值就是您长期收益的(简单)算术平均数:当您赢得时(长期内大约 50%的时间),您的长期收益增加$10,而当您输掉时则减少$10。简单平均值通过将您的总收益除以您进入赌博的次数来获得。
图 6-3 显示了这种赌博的 1,000 次实现示例,使用下面的代码片段获得(例 6-1)。左面板显示了随时间累积的总收益:在这种情况下,玩家从一个输的局面开始,至少在前 1,000 次重复中,他们没有完全恢复。² 右面板显示了平均收益,可以看到它们非常快速地收敛到零美元的期望值。

图 6-3. 重复抛硬币赌博 1,000 次
Example 6-1. 平均长期收益作为期望值
import numpy as np
import pandas as pd
np.random.seed(1005)
# Initialize
N = 1000
total_earnings = pd.DataFrame(index= np.arange(N),columns = ['earnings'])
for i in range(N):
# Draw from a uniform distribution
draw = np.random.rand()
# Heads if p>=0.5
if draw>=0.5:
curr_earn = 10
else:
curr_earn = -10
total_earnings.earnings.loc[i] = curr_earn
# compute cumulative and average
total_earnings['cumulative_earnings'] = total_earnings.earnings.cumsum()
total_earnings['trials'] = np.arange(1,N+1)
total_earnings['avg_earnings'] = (total_earnings.cumulative_earnings /
total_earnings.trials)
# ready to plot
fig, ax = plt.subplots(1,2, figsize=(10,4))
total_earnings.cumulative_earnings.plot(ax=ax[0])
ax[0].set_title('Cumulative Earnings', fontsize=14)
ax[1].set_title('Average Earnings', fontsize=14)
ax[0].set_ylabel('Dollars', fontsize=14)
ax[1].set_ylabel('Dollars', fontsize=14)
ax[0].set_xlabel('Number of times you entered gamble', fontsize=14)
ax[1].set_xlabel('Number of times you entered gamble', fontsize=14)
total_earnings.avg_earnings.plot(ax=ax[1])
plt.tight_layout()
尽管频率学派的解释如此简单——因为您可以想象概率表示如果您无限次重复赌博时发生的频率——但它可能存在问题。如果我们知道这种赌博只会发生一次,那重复多次是什么意思呢?更糟糕的是,想想公共投标的情况。如果我们如何想象在当前投标的确切条件下多次参与呢?贝叶斯学派的支持者认为,有许多情况下,无限重复解释并不自然;他们认为在这些情况下,每个人的概率评估可能不会与长期发生频率完全一致。在这种情况下,主观概率量化了我们每个人可能拥有的不确定性程度,因此可能根本不会完全一致。
贝叶斯学派与频率学派的思想
本章提到的两种思想流派是经典或频率学派和贝叶斯学派。20 世纪在它们对概率解释的观点之间进行了非常激烈的辩论。广义上说,经典学派认为概率是长期发生频率,而贝叶斯学派认为概率是对不确定性的主观评估。它被称为贝叶斯,因为在他们看来,我们都是从先验主观信念开始,一旦获得新证据,就通过贝叶斯法则进行更新。
在没有不确定性的情况下做出决策
在不确定性条件下做出决策很困难,因为我们必须首先掌握概率计算。一个有用的技巧是始终从简单开始,假设消除任何潜在的不确定性:如果我们知道与我们问题相关的所有内容,我们会如何选择?这有助于我们澄清许多事情,首先是我们是否实际上有可以实现我们目标的手段。
首先考虑图 6-4 中的决策。我们希望获得可能的最大收入,我们正在考虑两种替代行动:我们可以打折,这样我们的收入将为 155K 美元,或者我们可以推动我们的在线营销活动,生成 131K 美元。由于我们假设消除了所有不确定性,所有这些数量都是已知的。
我们应该怎么做?在这种情况下,事情很明确,我们决定选择价格折扣。这是因为我们选择了收入作为我们的目标,并且我们希望尽可能产生最大的收入。

图 6-4. 在确定性下选择一个杠杆
没有不确定性的决策相对来说比较容易解决,但这很可能是我们(希望的)有意选择简化的结果。为了看清楚这一点,考虑图 6-5 中显示的两种情况。我们有两个杠杆(A 和 B)和两个目标:收入和客户满意度。理想世界是左面板中的那种,那里两个目标都一致,我们选择行动 A,因为在考虑的两个指标下,它优于 B。但很多时候,目标看起来更像右面板中的那种,我们需要在一个目标与另一个目标之间进行权衡。

图 6-5. 具有多个目标的决策
即使在我们对行动与结果之间的映射完全确定的情况下,我们应该如何尝试解决这个问题呢?一种可能性是尝试用相同的标准来衡量一切,比如美元。我们能把客户满意度转化为美元吗?这是另一个需要量化的不确定映射,但如果我们成功了,那么我们就在进行苹果与苹果的比较,我们会得到一个简单的优化维度。
在不确定性下做出简单的决策
让我们修改上一节的简单决策问题,现在假设我们的客户可能会接受或不接受我们的价格优惠(见图 6-6)。他们有 80%的概率接受,剩下的 20%的概率拒绝我们的报价。在前一种情况下,我们可以获得额外的 155K 美元的收入,如果他们拒绝我们的报价,我们将一无所获。我们的第二个杠杆仍然与以往一样。我们应该如何处理这个决定?

图 6-6。相同的决策,但现在存在不确定性
让我们计算我们的两个杠杆的预期收入,首先从市场营销活动开始,因为它没有不确定性。在这种情况下,预期收入是我们决定追求此行动时观察到的收入($131K)。对于价格优惠活动,预期值是 124K 美元的收入,通过计算期望可以轻松看出:
E(收入) = 0.8 × 155K 美元 + 0.2 × 0 = 124K 美元
您会选择哪个报价?将不确定的折扣(期望为 124K 美元)与确定的营销活动(131K 美元)进行比较,我们看到后者有更高的收入,决定继续前进。
此时,您可能会认为无论如何您都更喜欢确定的行动(营销活动),因为有这个“平庸”的结果总比没有好。在这种情况下,您可能会表现得像一个风险回避者——或多或少是一个极端版本,并且因此您更喜欢安全赌注。但让我尝试通过以下问题来挑战这个立场:鉴于这些概率(80-20),是否有任何奖励可以使您接受赌注?
假设我们的数据科学家重新评估了价格优惠活动的收入,为 164K 美元。您可以再次计算期望值(0.8 × 164K 美元 = 131.20K 美元),将其与确定结果进行比较,现在根据这个期望值标准,您应该选择价格优惠杠杆。图 6-7 显示了预期值如何随着该活动不同可能的收入估计而变化。您还有犹豫吗?

图 6-7。价格优惠活动不同结果的预期收入
如果我们的数据科学家现在估计折扣活动的收入为 200K 美元(期望值=160K 美元)?或者 500K 美元(期望值=400K 美元)或 100 万美元(期望值=800K 美元)?我怀疑您仍然不愿进入赌局,但我们将在本章后面进一步讨论这个问题。
预期值允许我们比较不确定的结果,所以当面对不确定的决策时,这将是我们的标准。现在让我们更深入地探讨在面对不确定性时做出决策时的困难。
不确定条件下的决策
不确定性的主要困难在于我们在选择行动时无法确定决策结果。正如常说的那样,一旦我们做出决策,不确定性就会揭示,在这时我们可能会后悔自己的选择,如果实现不尽人意的话。
图 6-9 显示了在我们面对不确定性时所面临的主要困难及其解决方案。从左上角开始,第 1 面板展示了我们的选择以及我们的杠杆 如何映射到不确定的后果(接受/拒绝每个提议)。它们以概率 接受杠杆 ,以概率 接受杠杆 。这是这个假设情景中的潜在不确定性。

图 6-9. 不确定性的解剖
第 2 面板显示我们面临的主要问题:我们必须在不确定性得到解决之前做出决策,通常称为前期阶段。理想情况下,如果我们能在不确定性解决后看到实际结果,我们可以做出事后最优决策,但这并不是在不确定性下做出决策的方式。我们必须面对在不确定性解决之前做出决策这一事实。
第 3 面板展示了我们在不确定性下做出选择的方式:我们通过计算每个替代方案(我们的杠杆)的预期值来评估它们,并选择最大化期望的那个。必须明确的是,这并不保证事后最优性:我们可能会选择最大化预期值的选项,但在不确定性解决后仍然得到次优结果。
为什么会这样?很可能是因为我们对概率没有良好的估计,要么是因为缺乏良好的数据,要么是因为我们没有充分利用我们的机器学习工具包,或者是因为我们没有花足够的时间理解我们潜在不确定性的来源。但即使我们做了,有时候我们真的只是运气不好。
这是我们能做到的最好吗?
在面对不确定性时,期望值方法已成为标准。但在前期或在不确定性解决之前,这是我们能做到的最好吗?让我们探讨一些替代方案。
假设我们不是选择最大化预期值的杠杆,而是忽视不确定性并始终选择具有最高回报的替代方案。如果你只遇到这种决策一次,有时你会后悔,有时你不会:这实际上取决于概率值和确切实现的情况。
由于再次做出的决策并没有得出结论,假设我们像频率学家一样多次遇到完全相同的赌注。如果你计算两种方法的累积收益,你会很高兴地得出结论,即在长期内,最大化预期效用是无条件更好的。
图 6-10 显示了如果我们面临同一决策 100 次,则从这两种决策标准中获得的累积收益。使用示例 6-2 中显示的代码创建了该图:
示例 6-2. 在长期内,最大化期望值是(次佳)最优的
def get_exante_earnings(accepts_a, accepts_b, exante_choice, clv_a, clv_b):
'''
Our earnings depend on customers' acceptance of each offer and
Expected Utility
1\. If E(A)>E(B): we choose to offer alternative A
If customer accepts A we make CLV_A otherwise we make 0
2\. If E(A)<E(B): we offer B
If customer accepts B we make CLV_B otherwise 0
'''
earn_ea = 0
if accepts_a == True and exante_choice=='a':
earn_ea = clv_a
elif accepts_b == True and exante_choice=='b':
earn_ea = clv_b
return earn_ea
def get_expost_earnings(accepts_a, accepts_b, clv_a, clv_b):
'''
Ex-post is first-best: we choose as if there was no uncertainty
1\. If customer accepts A and not B -> offer A
2\. If customer accepts B and not A -> offer B
3\. If customer accepts both -> offer the best for us
'''
earn_ep = 0
if accepts_a == True and accepts_b ==False :
earn_ep = clv_a
elif accepts_a == False and accepts_b ==True :
earn_ep = clv_b
elif accepts_a == True and accepts_b ==True :
earn_ep = np.max(np.array([clv_a, clv_b]))
return earn_ep
def get_maxvalue_earnings(accepts_a, accepts_b, clv_a, clv_b):
'''
Rule: if CLV_A>CLV_B -> offer A (otherwise B)
Earnings: we only make corresponding CLV if it aggrees with acceptance
'''
earn_mv = 0
if clv_a>=clv_b and accepts_a ==True:
earn_mv = clv_a
elif clv_a<=clv_b and accepts_b == True:
earn_mv = clv_b
return earn_mv
np.random.seed(7590)
# Customer lifetime values if accepts (otherwise 0)
clv_a = 10
clv_b = 11
# acceptance probability
prob_a = 0.6
prob_b = 0.5
# expected values and optimal choice under expected utility
evalue_a = prob_a*clv_a + (1-prob_a)*0
evalue_b = prob_b*clv_b + (1-prob_b)*0
if evalue_a> evalue_b:
exante_choice = 'a'
else:
exante_choice = 'b'
# simulate T choices: earnings initialized to 0
T = 100
total_earnings = pd.DataFrame(index=np.arange(T),
columns=['exante','expost','max_prob','max_value'])
for t in range(T):
# Simulate uncertain choices by our customers
accepts_a = np.random.rand() <= prob_a
accepts_b = np.random.rand() <= prob_b
# Ex-ante Optimal:
total_earnings.exante.loc[t] = get_exante_earnings(accepts_a, accepts_b,
exante_choice, clv_a, clv_b)
# Ex-post optimal:
total_earnings.expost.loc[t] = get_expost_earnings(accepts_a, accepts_b,
clv_a, clv_b)
# Always choose max_value
total_earnings.max_value.loc[t] = get_maxvalue_earnings(accepts_a,
accepts_b, clv_a, clv_b)
# ready to plot
fig, ax = plt.subplots(1,2, figsize=(12,4))
total_earnings.expost.cumsum().plot(ax=ax[0],color='k', ls='-',lw=5)
total_earnings.exante.cumsum().plot(ax=ax[0],color='k', ls='--')
ax[0].set_title('Cumulative Realized Earnings', fontsize=16)
total_earnings.max_value.cumsum().plot(ax=ax[0],color='k', ls='dotted')
df_relative_earnings = pd.DataFrame(total_earnings.max_value.cumsum() /
total_earnings.exante.cumsum(), columns=['ratio'])
df_relative_earnings.ratio.plot(ax=ax[1],fontsize=16, legend=None, color='k')
ax[1].plot([0,100],[1,1], ls='--', alpha=0.5, color='0.15')
ax[1].set_title('Ratio of Max Value to Ex-Ante', fontsize=16)
ax[1].set_xlabel('Number of times you make the same decision', fontsize=12)
ax[0].set_xlabel('Number of times you make the same decision', fontsize=12)
ax[0].set_ylabel('Dollars',fontsize=12)
ax[1].set_ylabel('Dollars',fontsize=12)
plt.tight_layout()
次后决策有时被称为第一最佳。这是因为我们实际上是假设消除了任何不确定性,就像我们有一个魔球并知道客户将接受什么一样。因此,这总是一个比较任何其他决策标准的良好基准。我还展示了两种额外标准的模拟收益:最大化期望值(标记为Ex-ante)和始终选择具有最高确定收益的替代方案(标记为Max-Value,在我们的例子中是选项 B)。

图 6-10. 在不确定性下评估不同决策标准
左图显示,第一最佳确实是最佳的可能结果。在这个模拟中,选择 B 在短期内由于几个良好的初始实现而优于期望值计算(“Ex-ante”)。但在长期内,这种行为会逆转,如果我们一直使用期望值计算,我们本可以获得更多的收入。答案是,使用这组实现,我们会后悔没有使用期望值标准。
右图显示了我们本可以赚取的额外收益的百分比。一开始,选择 B 的几个好的初步实现(具有更高的 CLV)使得 MaxValue 标准优于使用期望值。由于发生的频率在长期内收敛到概率,我们开始看到 Ex-ante 标准开始占主导地位。
注意,如果你的选择仅基于概率——比如,总是选择有更高被接受概率的杠杆——可以提出类似的论点。
但这是一个频率学的论点
前面的例子表明,最大化期望值比我们提出的两种替代方案更好:忽略不确定性并选择如果被接受给出最高收入的杠杆,以及忽略收入并选择具有最高接受概率的杠杆。在这两种情况下,长期来看,我们将会对使用这些决策标准感到遗憾。
但我之前提到过,这种频率学解释在许多现实业务场景中可能不合适:在完全相同条件下多次模拟同一决策不同不确定性的实现的整个想法是有问题的。
决策理论家们几十年来一直在与这个困境作斗争,答案是所谓的公理化方法。在这种解决方案下,我们不需要假设一个频率主义的理由,而是提出一些行为公理,当满足时保证我们表现得好像我们最大化了期望值。在进一步阅读部分中,我将提到一些这种方法的参考文献,但我要说的是,并不是从公理化方法中得出最大化期望值是我们能做到的最好的。然而,公理化方法保证了,最大化期望值是理性的行为。
决策制定的规范性和描述性理论
可以将期望值准则视为不确定情况下决策制定的一种理论。当面对涉及不确定结果的决策时,我该怎么决定?而我应该怎么决定?这是我们已经遇到的两个非常不同的问题:前者描述了做什么,后者提供了一个规范或推荐最佳行动的建议。
由于在我们日常选择中,大多数人不做期望值计算,这必然意味着期望效用理论——如它所称呼的——并不是我们做决策的准确描述。但是它是一个好的规范理论吗?也就是说,如果我们能够做这样的计算,我们会更好吗?正如前一节讨论的那样,在频率主义解释下,答案是肯定的。如果我们采纳期望效用准则,我们将为我们的公司做出更好的决策。这就是为什么我们把它包括在我们的分析工具中的原因。
在不确定性下做出决策时的一些悖论
假设你面对以下的赌博:你有 0.001 的概率赢得 100 万美元的奖品,否则什么都没有。你愿意为这张彩票支付的最高金额是多少?正如你可能预料的那样(无意冒犯),它就是这个赌博的期望值。
让我们计算任意给定的参与价格( )的预期利润:
最后一个不等式表明,我们参与的条件应该是不亏损的预期结果更好。由此可知,我们应该支付的最高价格是在我们打平的情况下找到的: = $1,000。
为了使这个例子更加现实,让我们考虑一下美国的 Mega Millions 彩票,并且假设我们的彩票中奖的概率是 302,575,350 分之一。³ 在撰写本文时,每张彩票的成本为$2. 在这个价格下,我们应该愿意参与的最低奖池是$605M。⁴
许多人即使根据预期价值准则并不最优也会玩彩票,因此作为描述性决策理论似乎并没有做得很好。
现在想象一下以下彩票:为了参与,你必须支付你所有的储蓄(比如 100 美元)。以的概率你赢得你的储蓄的 1000001 倍。其余的概率你什么也不赢(因此你失去了一切)。⁵
这里选择的概率和奖励是根据预期效用准则,无论你的储蓄多少,参与赌博都总是更好。但是你会参与吗?我知道我不会。
这导致了关于不确定性的决策理论中最著名的悖论。
圣彼得堡悖论
假设你被提供以下赌博:我将抛一枚公平的硬币——因此正面和反面出现的概率均等——如果第一次正面朝上出现在第 n 次抛掷时,我将给你美元。由于这是一枚公平的硬币,第一次抛掷出现正面的概率为,第二次抛掷的概率为——在第一次抛掷显示尾部的概率为,并且以相同的概率显示第一个正面——因此第一次正面朝上出现在第 n 次抛掷的概率为。⁶ 让我们计算奖金的期望值:
正如你可以看出,概率和奖励被选择得让预期奖金无限增长。这个悖论的产生是因为没有人愿意支付这样的金额参与这个赌注——通常称为公平价格。
在 18 世纪,数学家丹尼尔·伯努利提出了一个解决方案:我们不应该按面值估价每个奖品,而是应该使用一个展示每额外一美元对我们价值递减的效用函数。他提出的解决方案是用自然对数(一个很好的凹函数,因此显示出边际效用递减和我们已经学到的风险规避)来估价每个奖品。
图 6-11 显示了两种选择的期望值。正如之前所示,线性情况下的期望效用随抛硬币次数成正比增长。另一方面,对数情况下的期望效用很好地收敛到小于 1.4 utils(效用的测量单位),大约在 15 次实现后达到这一水平。因此,我们应该支付参与不超过 15 轮的赌注。之后的增量价值对我们来说是零。

图 6-11. 使用对数和线性效用函数的期望值
对于我们来说,这个悖论很重要,因为到目前为止,我们一直按照我们赚的美元面值来评估我们的效用。我们甚至用期望值计算找到了最大值——公平值。这个悖论提醒我们,在使用风险中性效用函数时要小心,因为我们可能会破产。
风险厌恶
正如圣彼得堡悖论提醒我们的那样,有时候用凹效用函数来建模我们的选择很重要,因为它们不仅显示出边际效用递减,而且显示出对风险的厌恶偏好。我们之前简要提到过风险厌恶,但在商业应用中为什么重要并不明显,所以让我们重新审视 图 6-6 的例子,但改变概率(图 6-12)。

图 6-12. 重新审视折扣与营销活动的例子
现在你可以检查一下,冒险决策的期望值是否等于营销活动的确定收入。严格来说,由于两个杠杆的数学期望相同,我们对两者应该是无差别的。我们可以随机选择其中一个,始终选择第一个或最后一个,或者使用其他与期望值计算无关的决策标准。我不知道你怎么看,但我对这个建议并不满意:在我的情况下,我总是更喜欢确定的结果,所以这个分析机制实际上推荐这样的行动会让人惊讶。
或许你还记得,到目前为止我们使用的是线性(风险中性)效用函数,将每个美元映射为一单位效用( )。但前面的讨论表明,我并不真的是风险中性的;事实上,我会避免参与赌局并选择确定的收入。所以这里是我们谜题的答案:我们应该用一个凹函数来替换我们的风险中性效用函数,这个函数更能捕捉到我们对风险的偏好。为了表达清楚,让我们使用丹尼尔·伯努利提出的方案,将美元映射为对数美元。
对于不确定价格折扣,我们得到:
我们已经知道如何计算市场营销活动的预期收益:
现在我们应该继续进行市场营销活动。如果你想知道这是否适用于任何其他凹函数,答案是是,因为它很好地遵循了凹性的定义。
因此,好消息是,我们可以继续使用期望效用准则来解决业务问题。坏消息是,我们增加了另一层复杂性,现在可能需要为我们的应用选择一个风险厌恶的效用函数:我们可以得到更清晰的决策,但只是以失去线性的代价。我的建议是从简单开始,假设风险中立(线性世界起步更容易)。一旦你理解了这个更简单的问题,你可以尽力理解你的利益相关者对风险的偏好,如果需要的话进行一些校准。如果你感兴趣,一些常用于模拟风险厌恶的效用函数列在方程 6-1 到 6-3 中。可以用自由参数进行校准。
方程 6-1. 对数效用函数(无自由参数)
方程 6-2. 多项式效用函数
方程 6-3. 指数效用函数:常绝对风险厌恶(CARA)
我们可以结合多项式和对数效用函数的归一化版本,创建经济学家常用的常相对风险厌恶函数。风险厌恶系数依赖于效用函数的相对曲率。例如,在指数情况下, 是绝对风险厌恶的系数。在 方程 6-4 中展示的 CRRA 情况下, 是相对风险厌恶的系数。如果你对了解这两者之间的区别感兴趣,请参阅进一步阅读部分中列出的参考文献。
方程 6-4. 常相对风险厌恶(CRRA)
图 6-13 展示了一些不同参数化情况下的替代方案。正如你所期待的那样,不同的替代方案和参数化方式改变了效用函数的曲率,从而提供了系统建模我们对风险偏好的方式。

图 6-13. 不同的风险厌恶校准方式
把所有这些应用到实践中
我希望到目前为止已经说服了你,期望值准则是一种强大而简单的方法,在不确定性下做出决策。我也希望我能够传达出一些可能会遇到的困难。这种简单性源于数学期望在概率上的线性性质,如果你假设风险中立,还有不确定结果的值。
现在让我们总结一下这个方法:
在不确定性下的决策制定
如果我们有两个杠杆( ),带有不确定的后果,我们选择最大化所考虑度量的预期值的那一个:
-
当 时选择 。
-
否则,选择 。
同样的原则适用于多于两个杠杆的情况。
AI 在这个计算中扮演什么角色?根据面对的问题类型,有两种方法可以采用:
-
您可以直接使用 ML 工具包(监督回归模型)来估计期望值。
-
您可以在期望值计算中估计概率(监督分类模型)。
我在正文中尚未定义这些模型,但请参考附录获取更多信息。我将从描述后一种方法开始。
估计概率
预期值依赖于不确定结果的概率和奖励。我们首先将探讨估计概率的方法。
估计无条件概率
回到概率的频率主义解释,我们可能希望从估计无条件发生频率开始。我们已经讨论了这种方法的一些问题,但如果有历史数据,这可能是一个开始的简单方式。事实上,即使您不打算使用此方法,通过绘制一些发生频率可以始终获得对数据的一些理解。
图 6-14 展示了这种方法在假设的历史数据中关于留存活动转化率的表现。在这里我们看到,历史上,20% 的客户接受了我们的留存活动。因此,我们可以将此作为基本估计来计算期望值,如果我们想要选择这个杠杆或者我们分析的任何其他杠杆。

图 6-14. 留存活动转化率的历史数据
其优点在于其简单性:如果我们有数据(这可能是一个大问题),计算频率几乎是立即完成的。然而,有几个缺点。假设我们有数据,因为我们汇总了可能不同的活动及不同样本客户的信息,我们无法控制这些差异。例如,假期活动是否与我们的定期留存优惠相同?客户是否相同?这些问题的答案很可能是否定的。因为我们没有控制这些因素,这些通常被称为无条件概率估计。
你可以开始过滤一些活动,或者切分和分析数据以获得类似于图中的不同估计结果,当然,这将有助于你的分析。但如果你想系统地控制观察变量,其他方法可能更为有效。
估计条件概率
如附录所述,监督学习中的两大主要方法类别是回归和分类。分类通常用于预测像之前示例中使用的离散类别(客户接受或拒绝提议,流失或保持忠诚等)。将详细内容留给附录,在这些预测中,我们估计这些类别为真的条件概率;这些条件概率估计使我们能够摆脱广泛概括,更接近定制领域。
例如,我们可以根据每位客户的任职时间(因为很常见,忠实于我们公司的客户较不可能转换公司,反之亦然),而不是使用聚合流失率。然后可以估计一个依赖于客户任职时间及其他你认为相关的控制变量的分类模型(参见公式 6-5)。
公式 6-5. 根据你的客户任职时间进行条件概率估计
如果你允许足够的非线性,你可能会得到类似于图 6-15 所示的模式。在这个假设情景中,18 个月忠诚的客户最不可能转换公司,但请注意大约 15%仍然会离开。
同样要注意的是,我没有报告任何关于这个假设拟合函数不确定性的估计。在你自己的工作中这样做是一个好的实践。稍后我会谈一些关于这个问题的内容。

图 6-15. 流失的假设条件概率估计
重要的是要记住,分类模型允许我们进行条件概率评估。通过对一些可观察变量进行条件约束,我们不仅可以更清晰地了解我们客户样本的异质性,还可以向定制最优决策迈出一步。我们不再把我们样本中的每一个客户都放在同一个袋子里,而是开始定制我们的估计,从而定制我们的决策。
A/B 测试
在第二章中,我描述了使用观察数据时的一些风险,特别是我提到了当客户自我选择(或被我们选择)时,我们的估计可能显示出显著的偏差。实验方法(A/B 测试)可以帮助我们消除选择效应,提供更好的估计。
搁置一些我稍后将简要涉及的细微差别,将 A/B 测试操作化以获取概率估计是直接的。一旦我们的测试结束,你可以使用已经描述的频率分析或条件分析。
总结测试的利弊,从积极方面来说,我们已经知道它通过消除观察数据中普遍存在的选择偏差来估计因果效应,一旦你知道如何选择样本大小,它也相对容易实施。从消极方面来说,值得一提的是,A/B 测试只允许我们估计我们打算推广到整个宇宙的一部分客户的平均效应,因此如何为个别客户获得个性化的估计并不立即清晰。此外,有时你简单地无法进行 A/B 测试或者成本太高(例如,客户流失实验)。
赌徒问题
赌徒问题是一类序贯决策问题,在这类问题中,我们必须做出重复选择,并随着时间推移学习基础不确定性的工作方式,无论是通过改进我们的概率估计还是预期值本身。
我不会深入细节,但我只想提一下我们在这些序贯问题中面临的主要权衡。理念很简单:每次你选择拉动一个杠杆,结果会揭示一些关于基础不确定性的信息,比如我们的客户接受的概率。假设你拉动了价格折扣杠杆,并发现你的客户接受率是 80%,使得这个杠杆的预期收入高于竞争对手的一个。因为你只做了一次决策,对于估计的概率仍然存在相当大的不确定性(换句话说,也许你在第一次试验中只是非常幸运)。
现在你面临一个决策:你可以继续拉动或利用折扣杠杆,或者你可以探索未触及的杠杆。我们的业务利益相关者通常会施压我们选择前者(第一个结果非常好),但也许暂时尝试另一个杠杆并获取更好的概率估计可能更好。这就是决策不确定性下的著名探索-利用权衡。
这是一个值得一本专著的迷人主题,所以我现在要停下来,并在章节末提供参考资料。
估计期望值
预期效用假设说,在不确定性下,我们最好选择最大化分析对象数学期望的杠杆。我们可以使用前面部分描述的机器学习工具包,并估计概率,或者我们可以直接估计期望值。概率对于计算期望值非常重要,但根据问题的不同,我们可以跳过这一步,尝试直接估计期望值。
如果我们希望预测的指标是连续的——比如收入、利润、生命周期价值等,那么我们可以使用回归算法。我会把更技术性的材料留在附录中,但是让我提一下,统计学驱动的回归算法通常允许我们估计感兴趣对象的条件数学期望:如果变量是连续的,我们可能会得出必要的估计以做出决策,如果是分类的,结果将是条件概率的估计。
频率学派与贝叶斯方法
我们已经接触到贝叶斯学派和频率学派(或经典学派)思想的一些差异,从对概率和期望值的替代解释开始。一种表达方式是,贝叶斯解释有一种自下而上的感觉,而频率学派则从自上而下的视角解决问题。
在经典统计学中,概率是自然界中的客观真理,因此我们可以想象多次重复实验。在这种情况下,事件发生的相对频率收敛到相应的概率,就像抛硬币的例子一样。不是巧合的是,极限定理——当我们无限次重复实验时会发生什么——对这种思想流派具有基本价值(想想弱大数定律或强大数定律)。在某种意义上,我们通过在完全相同的条件下重复实验来揭示这些概率。
另一方面,贝叶斯学派从头开始建立他们的理论,从每个单独的评估可能性开始。因此,他们寻找这种无知可以用概率的标准演算法量化的条件(公理),包括贝叶斯定理,从而得到标签。在这里的概率是主观的,因为两个人可能对事件发生的可能性有不同的评估,也不必同意任何长期频率。
我已尽力为这个主题提供了实用的介绍,希望感兴趣的读者可以参考文献,并填补留下的许多细节,如果我试图在几段中深入讨论这个主题,我会对这个主题一无所知。我确实想说,我们需要认真思考不确定性来自何处,以及如何对其建模。
以我们客户的服务期限变化来看流失概率的例子(图 6-15)。数据中的模式是假设的,但在你的业务数据中,你可能会找到类似的情况。但真的有证据表明我们的客户行为像这样吗?
在大多数应用中,当描述这类证据时,我们报告置信区间,并且至少应该这样做。但我想指出的是,在尝试从概率角度解释这些区间(以及 p 值)时,会遇到许多困难。再次,我会做一些粗略的描绘,并在本章末尾指向参考资料。
重新审视我们的使用案例
是时候开始分析我们选择的每一个使用案例了。在接下来的内容中,请记住我已经简化掉了许多不感兴趣或者不是每个具体问题的一级不确定性。
客户流失
首先考虑做一个单一的保留提议的情况——也就是说,我们现在可以忽略竞争性报价的情况,因为从固有不确定性的角度来看,所有这些情况都可以以同样的方式分析。在这种情况下的潜在不确定性是我们的客户是否流失,可能取决于我们是否提出了报价,如图 6-16 所示。

图 6-16. 潜在的不确定性:客户流失
让我们深入探讨这里的不确定性源。首先,我们不知道客户是否可能离开。如在第四章中提到的,客户通常喜欢质量、价格(报价)和客户体验,并且通常愿意在这些方面进行权衡,至少在一定程度上。
因此,我们第一个不确定性来源是他们对每个维度的满意度相对于他们的期望。我们也不知道他们如何排名这些维度——也就是说,他们对每个维度的变化有多敏感,以及他们愿意在多大程度上用一个维度替代另一个维度。
为了让你了解我们如何在这里模拟不确定性,让我们简化并且首先考虑只有一个维度的情况,比如质量。想象客户满意度随质量增加是合理的:在数学上,你可以考虑一个依赖于他们对质量感知的效用或满意度函数, ,并且这个函数是增加的。我们还可以包括一些行为经济学文献中的发现(见第四章),并且想象客户相对于他们的期望或者一个参考点,比如 ,来判断感知质量,以至于 。
现在我们有了一个关于满意度如何随质量变化的理论,并且我们可以继续将其链接到他们是否决定转换公司。在这一点上,假设每个人都有一个阈值水平是方便的,即,我们认为可接受的最低满意水平。在这个未知水平因客户而异的情况下,这是一个由于偏好异质性导致的不确定性的案例。
让我们把所有的要素整合在一起,形成第一个关于客户流失原因的模型:
在这个简单的行为模型中,客户满意度与质量呈线性增长(我们预期 ),并且通过包含一个随机项 来允许客户之间的差异。注意,这并不是为了数学形式主义本身,而是让我们能够清晰地思考异质性,我们的任务将是做出描述这里分布形状的假设(如果我们认为这是对称的并且尾部不长,可能是正态分布)。
最终,当这个未观察到的(或者在文献中称为潜在的)满意水平低于一个阈值时,客户会流失:
由于阈值水平 也是未观察到的并且因客户而异,我们可能需要将其与异质性的随机来源 结合起来,并且简单地表示:
这个简单的行为模型使我们能够从头开始构建一个估计客户流失概率的方法。一旦我们对不确定性来源()做出分布假设,我们现在就可以估计概率如下:
其中 是我们随机变量 的累积分布函数。
如果你想知道的话,这就是应用微观经济学家们估计离散选择模型的方法,这种方法由诺贝尔经济学奖得主丹尼尔·麦克法登及许多其他人推广开来。
在继续之前,让我们讨论几个要点。首先,你可能会想知道是否真的有必要把一切都用数学方式写下来,并对不确定性进行详细说明。答案是,绝大多数从业者并不会费力去形式化一切。我认为这是一个好习惯,因为它迫使你非常深入地思考不确定性的来源以及如何对每一个进行建模,以及所做的简化假设。此外,由于你从基础开始模拟行为和不确定性,这保证了你的估计是可解释的。这是我在自己的工作中通常的开始方式,根据时间限制和复杂性的不同,我可能会继续采用更简单的方法。
第二点与使模型更加现实有关:这里我们假设客户只关心质量,但我认为他们也关心(并权衡)价格和客户体验。一旦你理解了每一个维度,并用一个共同的标准——效用或满意度——来衡量一切,你就可以继续将它们结合在一起,得到客户满意度的总体度量。请注意,不同的功能性假设(比如可加性)意味着不同维度之间的替代率不同。
最后,我们又回到了估计概率的问题。如果你认真对待不确定性,你需要为不确定性来源做出分布假设,并据此进行估计。例如,如果你假设正态性,你就会得到一个probit模型。如果你假设不确定性遵循 logistic 分布,那 logistic 模型就是合适的,等等。当然,首先你可能会做一些手势,并把一切都放到一个黑匣子里,希望既能理解又有预测能力。但根据我的经验,这种情况很少发生。
交叉销售
图 6-17 展示了分析向客户交叉销售不同产品问题的一种方法。对于每种产品(杠杆),我们必须决定是否提供客户可能接受或拒绝的提议。分析更多杠杆的问题更有趣,但在目前的讨论中,我们可以只考虑一个唯一的杠杆,因为这是主要的潜在不确定性所在。我们将在第 7 章 中讨论更一般的问题,所以现在让我们开始意识到不确定性的存在,并考虑如何进行近似。

图 6-17. 关于交叉销售案例的潜在不确定性
显而易见的是,客户购买他们想要且能够承担的产品,我们并不真正知道这些产品是什么。然而,关于交叉销售的好处在于,我们已经了解到客户的先前购买历史信息,因此我们可以利用这些知识来近似他们接受我们的交叉销售提议的概率。然而,请注意,这仅此一点不足以估计概率:我们需要跨购买和未购买每种产品的客户之间的差异。
总之,我们需要有购买和未购买每种产品的客户样本。我们可以尝试建模这些选择:例如,他们之前还购买了什么?是否有更频繁出现的购买序列,可能是因为产品的相似性或者所创造的价值类型?请记住,我们试图揭示客户的偏好和预算约束,如果我们问对了问题并且知道在哪里寻找答案,数据可能会揭示一些有趣的模式。
在进入下一个用例之前,回顾一下观察数据可能存在的偏见,这些偏见可能会显著影响我们概率估计的质量是件好事。以信用卡提供为例。由于银行历史上拒绝为某些人群提供信用,因为他们没有足够的信息来进行风险评估,大多数我们适配的模型最终将反映出“接受”的低概率。问题在于,对于这些群体,从道德角度来看,风险是创造一个恶性循环,在这些传统上被拒绝进入的少数群体中,我们的机器学习模型估计接受的低概率。从商业角度来看,由于这种偏见,我们可能会系统性地拒绝自己的更高利润。
解决方案呢?在利用某个杠杆之前,您可能希望花一些时间探索其他潜在的杠杆,即使在短期内成本高昂。例如,您可以考虑进行一些 A/B 测试,以避免观察数据中普遍存在的选择偏见。
CAPEX 优化
正如我们之前所述的问题,我们试图跨不同的存储桶(例如地理位置)分配投资预算,目标是获得尽可能大的投资回报率。公司通常会使用整个预算,因此这个问题等同于获取尽可能大的增量收入。
这里的基本不确定性在哪里?我们的行动是在每个存储桶中投资多少,我们试图移动的指标是收入。显然有很大的填补空白的工作要做:为什么收入会随着更高的资本分配而增加?因为这种情况在公司和行业之间有所不同,所以无法提供唯一的答案。但是我们可以按照第五章中讨论的方式继续,并设想一个假设场景。假设额外的资本支出用于改善我们的实体或数字店铺。现在更容易理解 CAPEX 可能如何影响收入:可以推测,更好或更大的店铺可以增加销售的数量或票务(否则,你不会直接影响收入)。
一般来说,对于每个存储桶,必须发生类似以下情况:
这里,是依赖于投资大小的增量因子;也就是说,这是我们可能想要估计的增长率,可能包括价格或票务效果。由于它包括两种效应,并且每种效应都存在潜在不确定性,在继续之前,你可能需要更具体:
如果你想知道我们从明确指出两种效应中获得了什么,记住数据本身并不能说明问题;我们需要提出正确的问题,在这种情况下,至少要记住价格和数量效应可能都很显著,这将允许我们分别查看票务和销量数据。
在第二章中,我们展示了即使我们理解所有潜在的增量收入驱动因素,选择效应在观察数据中仍然普遍存在。在这种情况下,使用历史数据可能会偏离我们的估计,因为我们以前的 CAPEX 可能已经分配到表现低于平均水平的存储桶(城市,位置等),所以即使存在正面效应,我们的输出度量可能仍然不如存储桶样本的其余部分。
在 CAPEX 分配的情况下,没有简单的解决方案,A/B 测试可能成本过高。如果是这种情况,可以尝试找到一些合成控制,进行匹配或差异法,或者适合你具体问题的其他方法。
门店位置
我们正在尝试决定在哪里开设我们的下一个店铺,目标是获得最大的投资回报率。由于我们的选择是店铺的位置( ),理想情况下,我们希望知道利润如何随不同地点变化, 。没有不确定性,第一选择将是开设利润最大的店铺。
注意我们已经进行了一些相当大的简化,因为当我们开设店铺时,利润并不会从天而降:通常需要一段时间让我们的投资达到盈亏平衡(更不用说达到最大潜力了),而这段时间可能与随地点变化的因素相关联。那么,这些因素是什么呢?
要开始,利润等于收入减去成本,因此:
如同之前的使用案例一样,收入取决于我们所收取的价格以及相应价格对应的销量,当然,这些因素会因地点而异。成本可以是固定的(例如租金)或者是可变的(例如劳动力、电费),这些成本在不同地点也会有所不同。
如果必要,你可以进一步分解成本,但这种聚合水平足以理解基础不确定性及潜在的驱动因素。例如,如果你选择在购物中心开设店铺,其他条件相同的情况下,你的销售量应该会高于非购物中心地点,因为潜在顾客会因供应的多样性而被吸引(购物中心是天然的双边平台或市场)。但即使在购物中心之间,你也会发现不同地点的价格可能会有所不同,这取决于社区的收入水平等许多其他因素。
现在假设你有一个包含过去所有开设店铺历史利润的数据集。这里有两种潜在策略:你可以直接估计预期利润(方程式的左侧)作为随地点变化的因素的函数,或者你可以估计右侧每个组成部分,并将它们插入以获得不同地点的预估利润。这实际上取决于你能够多么精确地单独估计利润驱动因素:如果你可以做到这一点,这种方法将更具解释性,并将迫使你深思问题的基础不确定性和经济基本面。
招聘谁
在我们公司面临的最难的问题之一是决定雇佣谁,因为有许多相关的不确定性。我们可以简化掉对当前问题不是第一顺位的不确定性,并考虑以下三个因素:
-
他们会高效吗?
-
他们将与公司保持多长时间?
-
他们将能否与他们的团队和公司的价值观良好匹配?
我们已经讨论了试图回答这些问题时遇到的一些困难。例如,我们是否有硬性的生产力指标,如每月或每季度的销售数量?或者我们依赖于更软性的指标,如经理进行的绩效评估或 360 度问卷调查?根据这些问题的答案,我们对数据的需求可能会更高。
让我们考虑一下销售职位的候选人的情况:这里的优势在于我们的生产力度量是硬性的,因为我们可以直接观察到个体水平的表现。为了考虑前两种不确定性源,我们可以尝试估计每位销售人员在给定任期内的现值,即他们的员工终身价值。现在先忽略第三种不确定性。
我们的销售团队的销售业绩分布如此广泛,是为什么呢?如果我们想要近似这种潜在的不确定性,我们需要了解这些因素。可能是一些销售人员拥有更大更好的人际网络,或者他们更好地理解我们的产品,具有更好的沟通技巧,或者天生高度自我激励。我们必须在事前阶段对这些以及任何我们认为重要的其他因素进行评估,即在我们决定是否提出报价之前。此外,通过认真思考,我们可以准备面试,以便获得高信噪比。
虽然说起来容易,但现在我们在估计允许我们预测不同任务或职位的员工终身价值模型方面变得更加精通。与以往一样,由于我们希望给予来自不同群体的候选人平等的机会,我们必须特别小心处理我们数据中普遍存在的固有偏见。
在继续之前,让我们简要讨论一下第三种不确定性的情况:我们如何事前评估候选人是否适合?我们应该首先问自己为什么我们关心这个问题,显然这是因为不合适可能会导致表现不佳(这取决于动机,我们的能量水平和动机确实取决于对工作场所、队友、老板等感到满意),或者可能会对团队的生产力产生负面影响。我们可以尝试解决前者,就像我们已经简要讨论过的那样——使用历史数据,希望这些数据中也包括一些心理测验,但后者需要不同的输出度量:我们不仅关心个体表现,还关心团队的总体表现。这更难建模,对我们需要的数据的需求更高。为了说明这一点,考虑一下甚至测量相应团队终身价值的问题:团队可以无限期存在,但个体成员可能会改变团队或甚至辞职并转到另一家公司。原则上,我们应该有关于每一次变动的数据,以便我们可以控制团队内部的变化。
这里有一个例子,我们知道这种潜在的不确定性很重要,但由于任务的复杂性,我们可能决定简化,并且至少在我们真正对个体绩效估计感到满意之前,我们可能会忽略团队效应。
违约率
在最简单的层面上,考虑到贷款,我们希望知道它是否会完全偿还。在下一个层次上,我们可能希望知道这种概率如何随着贷款规模和我们收取的利率变化而变化。然而,请注意,人们违约的原因有很多。可能是因为:
-
客户想付款,但就是无法完成
-
客户有资金但不愿付款
这些都是非常不同的原因,为了进行前置评估,我们需要非常不同的数据:前者假设诚实,并且不确定性来自家庭财务的短期或中期冲击(例如失业、支付延迟、其他意外支出,如医疗和医院费用等),而后者与潜在动机有关。
使用信用评分数据:从未违约过的人将拥有很好的信用历史,因此从这些数据中很难对他们未来家庭财务的概率做出评估。不用说,如果你从未获得过信用,你甚至不会有信用历史,因此会继续被拒绝。可以假定,个人的信用历史可能有助于评估第二种类型的动机,假设这是一个结构性的永久特征:如果你是那种试图占别人便宜并系统地忽视你的义务的人,这将反映在你的信用评分中。但是,很多时候客户不付款是因为他们认为这不公平,考虑到他们所受到的对待或者所接受的服务质量。在这种情况下,信用评分将不会提供足够的信息。
库存优化
我们已经提到,库存过剩的成本是在其他地方放弃销售的机会成本,或者因为存放时间超过所需时间而直接产生的折旧成本。库存不足的成本是因为没有足够的库存在特定位置,导致放弃的销售机会。
这一讨论表明我们面临的主要不确定性来源是每个时期的需求量。这足够吗?让我们假设我们知道任何一天会购买多少单位。我们的库存优化问题解决了吗?在这种情况下,一般来说答案是否定的:运输成本是多少?我们的单位会折旧多少?同样,有抢劫的风险吗?请注意,假设掉过一种特定类型的不确定性的技巧允许我们快速识别其他一开始看起来不是第一顺序的因素,但经过进一步考虑现在变得重要了。
主要结论
-
不确定性无处不在:我们做出的大多数复杂决策都是在不确定条件下完成的。这意味着在做出决定时,我们不能完全确定结果会是什么。由于不确定性无处不在,我们最好接受它。
-
概率的微积分允许我们量化和处理不确定性:我们应该熟悉概率的微积分。在其核心,它具有加法和乘法性质:前者允许我们计算一个或多个事件发生的概率。后者允许我们计算多个事件同时发生的概率,并引出著名的贝叶斯定理。
-
我们需要的第二个工具是期望值:因为我们经常使用它们,我们必须首先学会计算和操作期望值。随机变量的期望值是它取值的加权平均,其中权重等于相应的概率。这对我们很重要,因为我们通常计算期望效用。
-
在不确定性下做决策,我们计算期望效用:效用函数允许我们对决策进行排名。在许多情况下,我们将效用函数视为恒等函数,因此随机变量(如利润)的期望效用只是其加权平均,权重是相应的概率。在某些应用中,我们可能希望考虑风险厌恶,因此我们参数化一个凹函数的效用函数。
-
AI 是我们量化不确定性的工具:我们可以使用监督回归模型直接估计从拉动一个杠杆中获得的预期效用。或者,我们可以使用分类模型来估计每个不确定后果发生的概率,并将这些估计值插入我们的期望值计算中。
进一步阅读
不确定性的研究是概率微积分的研究。有几本介绍概率论的书籍,但 Sheldon Ross 的《概率论初阶》(Pearson)可能是一个很好的开始。更高级别的经典参考书是 William Feller 的《概率论及其应用导论》第一卷(Wiley)。这两本参考书,以及大多数介绍性的概率统计教材,提供了经典或频率主义概率和统计学的阐述。
如果你想深入研究贝叶斯概率论,你可能会发现 Joseph Kadane 的《不确定性原理》(Chapman and Hall/CRC)很有用,在撰写时,可以在线上免费获取。或者,你可以查阅 E.T. Jaynes 的《概率论:科学的逻辑》(剑桥大学出版社)。Dennis V. Lindley 在《皇家统计学会杂志》上发表的“统计哲学”文章,从贝叶斯的角度出发,对基础主题进行了深入的讨论,并详细描述了频率主义和贝叶斯统计之间的差异。有关主观概率的不同公理推导可以在 Peter Fishburn 的文章《主观概率的公理》中找到,该文章发表在《统计科学》上。Morris DeGroot 的《最优统计决策》(Wiley-Interscience)对这一主题有着极好的介绍,以及贝叶斯决策理论的其他高级主题。
在网上有很多关于如何解释经典置信区间和 p 值的精彩讨论。你可以在 Andrew Gelman 的博客上搜索许多这样的参考资料(例如:https://oreil.ly/vaIam))。
轻松一点,David Lindley 的《不确定性》(Anchor)是一本很好的读物,如果你想要理解不确定性在科学中的角色,尤其是量子理论如何挑战了物理科学中所有的先入为主的观念。直到今天,在科学中很难找到任何其他真正的不确定现象。类似地,Peter Bernstein 的《逆天而行:风险的非凡故事》(Wiley)提供了决策在不确定性下的历史记录,你会在本章提到的一些主题中找到许多优秀的参考文献。
关于客观和主观公理决策理论的经典参考文献分别是 von Neumman 和 Morgenstern 的《博弈论与经济行为理论》(普林斯顿大学出版社)或 Leonard Savage 的《统计基础》(Dover)。然而,你不必去阅读这些开创性的作品。David Kreps 的《选择理论笔记》(Routledge)是一个很好的参考书,以及 Luce 和 Raiffa 的《博弈与决策》(Dover)。Ariel Rubinstein 的《微观经济理论讲义》(普林斯顿大学出版社)在注册后也可以在他的网页上免费获取,为这个主题提供了很好的介绍。另见 Ken Binmore 的《理性决策》(普林斯顿大学出版社)。
任何微观经济学教科书都会对预期效用假设、风险厌恶以及许多经济应用进行介绍。与之前相同,我推荐 David Kreps 的《微观经济理论课程》(普林斯顿大学出版社)。
进一步讨论风险厌恶模型的校准可参考 Ted O’Donoghue 和 Jason Somerville 的“在经济学中建模风险厌恶”,该文发表于《经济展望杂志》,但上述提到的 Kadane 的书也有很好的讨论。关于前景理论和损失厌恶,Daniel Kahneman 和 Amos Tversky 的“前景理论:在风险下决策的分析”,发表于《经济计量学》,提供了许多实验例子以及对这里描述的几个悖论的替代解决方案。在同一主题上,您还可以参考 Mark Machina 的“在不确定性下的选择:已解决和未解决的问题”,发表于《经济展望杂志》。
John Myles White 的《网站优化的强盗算法》(O’Reilly)很好地讨论了探索与利用的权衡,以及强盗算法的实用和贴近实际的演示。稍微不同的方向,但同样应用并可下载和使用代码的是 Allen Downey 在《Bayes 的思维》(O’Reilly)中对贝叶斯统计的展示。
在操作层面上,你可能希望超越计算置信区间和 p 值的经典统计工具包。在这种情况下,有必要使用贝叶斯方法。Andrew Gelman 和 Jennifer Hill 的《使用回归和多层次/分层模型进行数据分析》(剑桥大学出版社)是一个很好的入门;此外,还可以参考 Gelman 的《贝叶斯数据分析》(Chapman and Hall/CRC)。Kevin Murphy 的《机器学习:概率观点》(MIT 出版社)深入探讨了为许多常用方法提供贝叶斯基础的艰巨任务。最后,您可能希望在网上搜索关于概率编程的材料,这是一个最近赋予贝叶斯方法的标签,可以在规模上使用。
如果你对微基础离散选择模型感兴趣,正如我们在讨论客户流失建模时简要提到的,你可以查阅任何一本微计量经济学教材:Colin Cameron 和 Pravin Trivedi 的《微计量经济学:方法与应用》(剑桥大学出版社)可能是一个不错的选择,但 Kenneth Train 的《具有模拟的离散选择》(剑桥大学出版社)在这个特定主题上更为详细。
观察性研究中的偏差现在已经成为一个成熟的研究领域,甚至有一些初创公司据称帮助企业系统地去偏差他们的数据。Cathy O’Neil 的《数学毁灭武器:大数据如何增加不平等并威胁民主》(百 Broadway Books)强调了使用大数据和算法可能放大数据中的偏差并产生深远社会影响的伦理风险。
¹ 在我们的大多数商业示例中,满意的结果将是我们希望发生的结果。
² 这个例子通常被称为一维醉汉随机漫步,我们可以证明我们的赌徒将会无限次恢复。
³ 2018 年 10 月,这些是美国赢得 Mega Millions 彩票的几率。参见CNBC 网站上的这篇文章。
⁴ 实际上它更高,因为可能会有多名赢家,你必须分割头奖。
⁵ 这个例子摘自 E.T. Jaynes 的书。请参阅章节末的进一步阅读部分。
⁶ 为了确保您能够跟上,关键要注意的是每次投掷都是独立的,因此在五次投掷后出现 TTTTH 这样的序列的概率是每次发生的概率的乘积。
⁷ 在实际操作中,我忽略了顾客比较他们当前对我们的满意度与他们期望从其他地方得到的满意度的可能性。即使您试图得到一个包括这种效应的更真实的模型,也很难有数据可以让我们付诸实践。有时简化来自于最纯粹的实用主义意义。
第七章:优化
经过这一切工作,我们终于到达了规定 阶段,这是我们最终准备做出最好 决策的时刻。或者至少这是我们的目标:在开始时,我们可能会做一些简化假设,以更好地理解每个问题,随着我们更加熟悉解决更复杂版本的问题,这些假设可以逐渐放宽。但首先,我们应该复习一些优化理论中会派上用场的概念。

图 7-1 优化
什么是优化?
优化是寻找某个预定义目标函数的最小值或最大值。目标函数 就是你可以想象的那样:一个将我们的杠杆映射到业务目标的数学函数。由于我们的目标是做出尽可能最好的决策,所以优化理论的一些知识几乎是有帮助的。
有些情况下,我们需要优化的问题相对比较简单。比如找出两个数字中的最大值:比如 5 和 7。我们可以立即看出第二个数字更大,所以如果有关联的杠杆的话,我们会选择第二个。在任何二元决策中,这就是与优化阶段相关的全部内容。
如果数字是有限 的,我们可以再次对它们进行排序,很快找到最大值或最小值。这可能需要一些时间,我们可能无法手工完成,但有计算效率高的排序算法。但请记住,足够大但“有限”的数字列表可能在排序上具有计算成本,因此我们可能需要更高效的计算解决方案。
有些问题可能看起来有限,但在计算上找到最优解可能仍然很困难。可以说,其中一个最著名的问题是旅行推销员问题,在这个问题中,给定几个城市(及它们之间的距离),我们的任务是找到一条经过所有城市并返回初始城市的最短路径。如果只有几个城市,你可以通过枚举所有可能的路线并找到最短的一条来轻松找到解决方案。但是一旦城市数量增加,这类组合问题就会变得计算昂贵。¹ 这是公司在处理分销和物流决策时经常面对的一个常见优化问题,因此它不仅仅是数学上的一个好奇问题。
如果你对数据科学感兴趣,你一直在处理优化问题。大多数,如果不是全部,机器学习算法都在优化某个目标函数,无论是损失函数的最小化还是其他中间函数。例如,在监督学习中,我们希望我们的模型尽可能接近数据。因此,我们定义“损失”为模型预测与数据的差异(以某种聚合方式)。很多时候,这个最小化问题本身实际上是一个伪装的最大化问题,例如,当损失函数是对数似然函数的负值时,我们从统计角度来看是要最大化它。
当我们处理无限多个值时,事情变得更加困难。图 7-2 从一个相对简单的例子开始。左侧面板显示了最小化一个非常好的凸目标函数的情况。通常会在垂直轴上绘制函数取值,并用来表示。类似地,在水平轴上绘制我们的决策变量或杠杆( )的值。

图 7-2. 简单优化问题:最小化和最大化
在这种简化的情况下,我们可以通过视觉检查问题,并注意如果我们想要达到最小值,那么必须是 。右侧面板显示了最大化和最小化问题的相关性:如果我们希望找到最大值,我们可以简单地将函数乘以 并相应地继续。当决策变量的取值范围足够大或者当我们有超过两个决策变量时,视觉检查就不再可行。
图 7-3 展示了一个函数的例子,它的表现并不好,因为它有许多局部最小值(方块)和最大值(星星)。这里的局部指的是你可能认为找到了最优解,但一旦你开始放大视野并看到整个图像,你会意识到函数仍然在减小或增加。我们的理想是找到全局最小值或最大值,这样我们可以确信我们真的找到了最好的解决方案。

图 7-3. 具有局部最小值和最大值的目标函数
在实践中,我们使用计算机来解决像前面图示中的优化问题。有许多算法只能找到局部最小值,因此我们必须再次检查我们是否确实找到了最优解。也有全局优化算法来寻找最佳解决方案,但一般很难校准。
在机器学习中最著名的算法是梯度下降,其中一个人根据公式迭代更新当前最佳猜测。
这里 是我们更新的决策变量的猜测值, 是前一个猜测值, 是校准算法在每次迭代中应采取的步长的参数,而 是我们正在最小化的目标函数的梯度。在只有一个决策变量的情况下,这就是函数的导数,在前一个猜测值处求值。如果你还记得你的微积分 I 课程,你可能还记得如果我们想要找到一个内部最大值或最小值,那么在那一点导数为零是必要的(这是一阶条件)。
极小化的一阶和二阶条件
在你的微积分课程中,你可能还记得对于可微的目标函数 ,极小化的一阶条件(FOC)指出对于 成为内部极小化器,必须满足 ;也就是说,导数必须为零。
二阶条件(SOC)说明,如果 ,则 是一个局部极小化器。SOC 描述了极小化器处函数的曲率(应为凸),而 FOC 则说明在内部极小化器处,你不应能增加或减少函数的值。
现在你可以看到为什么梯度下降是有道理的了:首先,如果导数没有消失,那么我们还没有找到一个极小化器(FOC)。一旦导数为零,算法将停止,并且不会进行更新。此外,如果导数不为零,梯度下降告诉我们继续探索的最佳方向:如果当前猜测值处的导数为正,并且我们正在寻找最小值,那么新的候选猜测值只能比当前猜测值小(否则我们的函数将继续增加)。
数值优化算法对额外参数非常敏感,例如梯度下降算法中的步长参数或我们需要初始化算法的初始猜测。
图 7-4 展示了在图 7-2 的二次函数上进行梯度下降的实现。您可以调整参数(初始值和步长),亲自验证对于这个简单问题的最优解可能存在问题。

图 7-4. 梯度下降的示例:
此图由 示例 7-1 中显示的代码生成。
示例 7-1. 梯度下降算法的实现
def gradient_descent(prev_guess, step, derivative_f):
'''
Given a previous_guess, the step size, and the value of the derivative_f
this function outputs a new guess
'''
new_guess = prev_guess - step*derivative_f
return new_guess
# use gradient descent to optimize the previous functions
def quadratic_fn(x):
'''
Example: y=x²
'''
y = np.power(x,2)
return y
def quadratic_derivative(x):
'''
To update we need the value of the derivative of the function
'''
dy = 2*x
return dy
# two parameters we need to initialize
x_init = -10
step=0.2
# other parameters to stop the algorithm
max_iter = 1000
stopping_criterion = 0.0001
curr_diff = 100
counter = 0
while curr_diff>stopping_criterion and counter<max_iter:
# Update guess
x_new = gradient_descent(x_init, step, quadratic_derivative(x_init))
# update difference, initial and counter
curr_diff = np.abs(x_new-x_init)
x_init = x_new
counter +=1
print(x_new)
数值优化很困难
尽管数值优化算法有所进展,但在实践中执行起来并不简单。我们需要深入了解要优化的函数,检查它是否良好(即只有一个最大值或最小值),尝试多种初始化参数,并且在优化算法的参数(例如梯度下降算法中的步长大小)上要非常小心谨慎。
有时候,我们可能确实想要避免进行数值优化的痛苦,但根据使用情况,这样做的好处可能是巨大的。而有时,正如我们将在稍后的例子中看到的那样,如果我们从优化问题的基本原理出发,可能会找到简单的算法。
优化在商业环境中并不新鲜
在数据科学流行之前,公司通常会聘请一些被称为 决策科学家 的人。他们可能不是机器学习的专家,但擅长优化目标函数。他们的背景可能是运筹学、经济学、应用数学等,他们解决着非常有趣和有价值的问题,如最优库存、最优路由或价格与收入优化。既然我们已经在 第四章 中提到了这些内容,那么让我们更仔细地看看后者。
价格与收入优化
简化一下,收入只是价格( )乘以数量( ):
销售量取决于我们所收取的价格——由函数 表示——得益于需求法则,通常是向下倾斜的,如果我们考虑提高价格,就会产生自然的紧张:第一个项会一对一地增加,而第二个项会随着价格上涨而减少。只要第一个效应占优势,收入就会增加;否则,我们降低价格会更好。理想情况下,价格作为收入的函数将如 图 7-5 所示。然后,将价格设置为优化的$50 将会相对直接。

图 7-5. 一个良好行为的收入函数
如果我们的目标是优化这个函数,我们需要什么信息?由于我们不想在最优价格的左侧或右侧,我们需要了解需求对价格变化的敏感性;这就是经济学家所称的 需求价格弹性。
要明白这一点,我们只需对收入函数进行关于我们的决策变量(价格)的导数。在进行一些代数运算后,您可以找到:
其中,像往常一样, 表示需求函数对价格的导数, 对应需求价格弹性(如果需求法则适用,始终为正)。我们可以将其解释为当我们将价格提高 1%时,需求量的百分比变化的绝对值。例如,如果价格弹性为 2,提高价格 1%将 减少 需求量 2%。
这个数学背后有一些非常好的直觉:假设你把价格提高 1%。其他条件不变,收入方程中的第一个效应将导致收入增加 1%。然而,由于适用需求法则,我们的销售量将下降,其数量取决于我们客户的价格弹性。如果销售量下降的少于1%,我们的收入仍然会增加,因为负面影响不足以完全抵消正面价格上涨的影响。这表明只要需求的价格弹性小于 1,我们就可以提高价格并且情况会更好。回到最后一个方程,回想一下导数的符号告诉我们当我们提高价格时我们收入的方向变化:由于需求不能为负,符号取决于弹性是小于还是大于 1:在前一种情况下,我们的收入增加(正号);否则,我们提高价格会更糟糕。
决策科学家和经济学家(以及一些研究这类问题的数据科学家)在他们旨在设定最优价格时,大部分时间都在估计其产品的需求价格弹性。这不是深入探讨这一企业的困难之地,但我将在章节末提供参考文献。
没有不确定性的优化
如前所述,优化可能非常困难,但我们可以通过假设消除所有不确定性来简化问题。让我们看一些示例,以了解在进行优化时简化的威力。
客户流失
图 7-6 展示了没有不确定性的客户流失情况。在这种理想情况下,我们将了解客户的真实状态:他们可能毫无疑问地离开,他们可能肯定会留下来(暂时来说,未来可能会改变),或者他们可能在考虑改变,但如果我们提供良好的保留优惠,他们会选择留下。由于我们有魔球,我们还知道保留优惠必须有多好(使他们留下的最低要求)。

图 7-6. 客户流失:没有不确定性的情况
注意,在纯态的情况下(毫无疑问地离开或者绝对留下),我们不应该提供保留优惠:在第一种情况下,存在机会成本(时间,我们团队设计策略的努力,而不是针对更好的候选人),我们应该转而针对其他客户。在第二种情况下,我们的客户很可能会接受优惠,并且这对我们有直接成本(例如,如果以价格折扣的形式,这将导致失去的收入),以及与第一种情况类似的机会成本。正如在图 7-6 中所示,这两种情况下,我们总是更好地不提供保留优惠。
中间情况更加有趣:因为我们知道我们需要提出的最低报价(请记住,这里没有不确定性),对于业务案例来说,必须是增量收入至少与我们提供保留报价的成本一样大。有些客户可以通过提供足够小的报价而满足,而对于其他客户来说,我们试图保留他们可能是不赚钱的。
解决没有不确定性的问题有助于我们精确调整杠杆和直觉的选择,还允许我们清楚地识别问题本质的根本不确定性所在。
跨销售
图 7-7 显示了没有不确定性的跨销售案例。在这种情况下,我们有四个杠杆可以操作(现在让我们只考虑我们的杠杆是我们可能提供的不同产品)。我们应该怎么做?
为了凸显问题的主要根本不确定性在哪里,图表已经显示了当我们向每个产品提供时客户将会做出什么选择。产品一、二和四将被接受,每个产品都具有正增量价值。产品三将被拒绝,因此一旦考虑到提供的成本(比如市场支出),回报就变成了负数。

图 7-7. 跨销售:没有不确定性
如果我们假设客户只购买一个产品,那么次优报价是哪个?很快就会发现,我们应该提供第二个产品,因为这个产品能够最大化增量价值。这显然是一个过于简化的例子,但它展示了我们面临的主要权衡:对于将被拒绝的产品,我们有直接成本和未提供正确产品的机会成本。对于将被接受的产品,我们是否提供了最大化我们回报的产品?如果没有,那就有一个机会成本(放弃收益),我们的竞争对手将乐意接受。
您可以开始使这个没有不确定性的问题变得更加复杂。如果客户愿意购买多个产品,我们应该将它们一起提供,甚至捆绑销售,从而降低整体组合的价格吗?这取决于情况:如果竞争对手能够以同样的价格提供一个或所有产品,那么我们面临一个机会成本,捆绑销售现在是一个可行的替代选择(如果法规允许)。如果订单的顺序很重要,比如因为产品越来越复杂,那么我们可能决定等待(因为这个限制也适用于我们的竞争对手)。
重要的是要记住,提出一个不太可能被接受的报价是有真实成本的:直接成本如市场支出以及创建和联系潜在客户的成本,还有通常被忽视的真实机会成本。其中一个经常被忽视的是信息过载:我们不断向客户发送电子邮件,一段时间后他们就会系统地忽略它们,从而关闭了一个有价值的销售和沟通渠道。
CAPEX 投资
让我们回到我们的 CAPEX 投资示例,我们需要决定在几个不同领域投资多少。其中一个示例是当我们需要在不同城市投资时,因此在本示例的其余部分中,我们将讨论地理单元。
正如我们在前几章中假设的那样,资本支出对每个城市收入的影响是:
在没有不确定性的情况下,销售增长率 是由更高投资导致的。我们可以将其视为已知。两种模拟增长率的替代方法如 图 7-8 所示,我使用了通用 logistic 函数来参数化增长,形式如下:

图 7-8. 替代增长率
该图由 示例 7-2 中显示的代码生成。
示例 7-2. 假设的 CAPEX 优化 logistic 增长
def logistic_growth(x, A,K,C,D,B,nu):
'''
Generalized logistic function
'''
return A + (K-A)/(C + D*np.exp(-B*x))**(1/nu)
# generate plot
fig, ax = plt.subplots(figsize=(10,5))
x = np.linspace(-10,10,100)
y1 = logistic_growth(x, A=-2,K=2, C=1, D=1, B=0.3, nu=1)
ax.plot(x,y1, color='k', label='slow')
y2 = logistic_growth(x, A=-2,K=2, C=1, D=1, B=1, nu=1)
ax.plot(x,y2, color='k', label='fast', ls='--')
ax.plot([-10,10],[0,0], color='k', alpha=0.2)
ax.plot([-10,10],[2,2], color='k', alpha=0.2, ls='--')
ax.plot([-10,10],[-2,-2], color='k', alpha=0.2, ls='--')
ax.plot([0,0],[-2.1,2.1], color='k', alpha=0.2, ls='--')
ax.axis([-10,10,-2,2])
ax.set_title('Two Alternative Parametrizations of Growth', fontsize=18)
ax.set_xlabel('Investment in City (x)', fontsize=18)
ax.set_ylabel('Growth Rate $g(x)$', fontsize=18)
ax.legend(loc=2, fontsize=12)
使用 logistic 函数来模拟增长有几个优点:首先,增长受到渐近线的限制,在这种情况下是 –2 和 2。有界增长不仅现实(至少在短期内),还将限制总收入,使优化问题变得可行。它也很平滑,因此我们可以无障碍地处处求导数(在这种情况下,我们可以分析地找到导数,这总是加快计算的速度)。如果我们使用计算机来完成找到最佳分配的艰苦工作,这一点至关重要。
此外,我们允许城市的减资效果,因为决策变量可以取负值。考虑在一个城市关闭商店以在另一个城市开设额外商店的情况。这种减资可能对该城市的收入产生广泛影响,而我们的模型允许这种情况发生。重要的是,在某些地点减资可能是最优的,而该模型足够通用,可以应对这种情况。
但是在图中还可以看到另一个驱动部分结果的特性。请注意,当我们开始在一个城市投资时,增长率会非常快地加速,但某些时候 递减收益 开始产生作用,因此我们每额外花费的一美元效果递减(直到完全消失)。
图中显示了两种不同的参数化方式,即不同速率的递减收益。在第一种情况下(慢),城市达到最大潜力增长需要更大的投资。在第二种情况下,增长开始非常快,然后停滞。
根据这些假设,总收入只是所有城市收入的总和。在两个城市的情况下,我们的优化问题变成了:
依据 。
请注意,原则上,增长率可能在城市之间有所不同,因此我相应地加以标注。此外,这是一个受限制的优化问题,我们有一个需要在城市间分配的总预算(CAPEX)。在没有进一步(积极性)限制的情况下,我也允许在每个城市进行 撤资。
从两个城市开始使我们能够理解优化问题的基本权衡,并且我们还将能够直观地检查我们的目标函数。请注意,由于预算必须用尽,我们可以将这个涉及两个变量的问题转换为仅依赖于某个城市的投资问题,比如 。通过在目标函数中替换 来实现这一点。
图 7-9 展示了我们的目标函数在对称情况下的形式,即两个城市在大小和购买力上完全相同(因此我们收入方程中的平均票价或价格相同,我也认为初始销售额相同),还有在增长率上也是如此。我绘制了两种不同的增长率参数化,只是像在图 7-8 中那样改变加速的速度。

图 7-9. 两个城市对称示例的总收入
对称案例是一个很好的起点,因为它允许我们测试我们的直觉(当然也包括我们的代码)。在这里,我把总预算设为 $100,并将总收入作为城市 1 投资的函数来绘制,我们可以用尽总预算或撤回相同的总量( )。
正如图所示,由于两个城市完全相同,我们预期最优分配也应该相同(为什么我们会在一个城市进行过度投资呢?)。在两种情况下,您可以验证确实最优的投资分别是 。
我们可以使用数值优化,但在这种情况下,经济学足够简单,我们可以构建一个算法,这个算法可以轻松推广到许多城市。其核心思想如下:假设你只有 $1。你可以把它分配给城市 1 或者 2(我们不能拆分它,因为这是我们的核算基本单位)。那么应该把它花在哪里呢?简单的经济直觉表明,它应该用在能够创造更大增量(边际)收入的城市(因为两种情况下的边际成本都相同,均为 $1)。因此我们相应地进行操作,并将其分配给较好的城市。如果增量收入相同,那么就随意分配给第一个城市,比如说城市 1。
现在想象一下,我们的财务总监现在给了我们额外的 $1 来分配。在这里的直觉是一样的:我们应该把它分配给增量收入更高的城市,但请注意,有些事情已经改变了:我们已经把前一个美元分配给了城市 1。如果增长率显示递减的边际回报,额外的美元在城市 1 中的增量收入将较低,并且根据实际增长率,这些收入可能大于或小于第二个城市。
伪算法的工作方式如下:我们从每次迭代中获胜的增量回报城市开始分配额外的美元,更新每个城市当前的总投资,并继续,直到我们用尽预算。我喜欢这个算法,不仅因为它很容易推广到许多城市并强制约束得到满足,而且因为它始终贯穿基本的经济推理(通过进行一些小的改变,它还将允许最优的撤资),因此我们可以很容易地向我们的业务利益相关者解释它。以下 Python 片段(示例 7-3)展示了该算法的一个实现:
示例 7-3. CAPEX 分配问题的迭代解决方案
def revenues_in_city(x,**kwargs):
'''
Compute revenues as a function of investment (x)
Note: keyword arguments (**kwargs) allow us to parametrize growth
(A,K,C,Q,B,nu) and price, sales
'''
P,Q,A,K,C,D,B,nu = kwargs['P'],kwargs['Q'],kwargs['A'],kwargs['K'],
kwargs['C'],kwargs['D'],kwargs['B'],kwargs['nu']
revenues = P*Q*(1+logistic_growth(x, A,K,C,D,B,nu))
return revenues
def find_the_optimum_iteratively(CAPEX, **kwargs):
'''
We can assign one dollar to the city with largest incremental
(marginal) revenue
'''
# to allow for asymmetric cases we can include some parameters
p1,q1 = kwargs['P1'],kwargs['Q1']
p2,q2 = kwargs['P2'],kwargs['Q2']
B = kwargs['B']
# Initialize array to save incremental allocations
optimal_assignments = np.zeros((CAPEX,2))
for x in range(CAPEX):
# compute revenues for both cities if we assigned the marginal dollar
# 1\. Accumulate previous investments (if any)
x_init1, x_init2 = np.sum(optimal_assignments[:x,:], axis=0)
# Test allocations: current allocations plus an additional $1
x_test1, x_test2 = x_init1+1, x_init2+1
# Compute Marginal Revenues: rev(x+1)-rev(x)
marg_rev1_x = (revenues_in_city(x_test1,P=p1, Q=q1, A=A, K=K, C=C,
D=D, B=B, nu=nu)-
revenues_in_city(x_init1,P=p1, Q=q1, A=A, K=K, C=C,
D=D, B=B, nu=nu))
marg_rev2_x = (revenues_in_city(x_test2,P=p2, Q=q2, A=A, K=K, C=C,
D=D, B=B, nu=nu)-
revenues_in_city(x_init2,P=p2, Q=q2, A=A, K=K, C=C,
D=D, B=B, nu=nu))
#print('Iteration ={0}, rev1 = {1}, rev2={2}'.format(x,
# marg_rev1_x, marg_rev2_x))
# if they are the same, it doesn't matter where you assign it
if marg_rev1_x==marg_rev2_x:
optimal_assignments[x,0] = 1
elif marg_rev1_x>marg_rev2_x:
optimal_assignments[x,0] = 1
elif marg_rev1_x<marg_rev2_x:
optimal_assignments[x,1] = 1
# when done, we get the full trajectory of investments
return optimal_assignments
图 7-10 显示了我们在两个城市对称案例中投资边际美元的轨迹。注意,在最后,我们已经达到了对称解决方案:两个城市都分配了 $50,正如前面的图表所示的那样应该是的。

图 7-10. 迭代解决优化问题
一旦我们对在最简单、对称情况下的解决方案感到满意,我们就可以继续处理非对称城市的情况。假设两个城市的购买力相同,但一个城市的规模是另一个的 10 倍(通过销售来代表)。你认为会发生什么?
图 7-11 的左侧面板显示了总收入,其中两个城市除了规模(Q)外,其他一切都相同。我们现在可以看到,最优解对较小的城市(图中的城市 1)不利,因为在投资较大城市的边际收益也较大。有趣的是,我们并未将所有预算都分配给那个城市。这是因为最终边际收益开始发挥作用,而在该城市的每一额外美元对公司的价值都减少。你可以在右侧面板中看到每个迭代中发生的情况:前 $72 被分配给了较大的城市,此时边际收益已完全发挥作用。

图 7-11. 非对称情况下的总收入和分配(城市 2 的规模是城市 1 的 10 倍)
你可能会想知道,如果第二个城市规模是第一个城市的 10 倍,为什么最优分配并不是 10 倍大?这些是我们的业务利益相关者会问的问题,只有当我们真正理解我们模型的运作方式时,我们才能作出答复。请注意,这个问题暗示了某种线性关系,但我们的增长率完全不是线性的:它们不仅受到限制,而且投资回报递减从一开始就融入了我们的模型中。
在继续之前,请注意这种类型的优化问题在商业环境中非常常见。例如,如果你从事市场营销工作,你可能希望决定在不同渠道之间的最优分配(这就是著名的市场组合建模)。如果我们知道不同渠道的增长率或投资回报率函数,优化解决方案就会沿着相同的线路进行。现在我们需要我们的数据科学家利用他们非凡的机器学习技能为我们估算这些函数。
最佳人员配备
尽管在整个过程中一直强调,但在规划阶段选择目标函数是至关重要的,它应该直接与我们的业务目标联系在一起。这在最佳人员配备的情况下会非常明显。
正如名称所示,我们希望找到最佳的员工数量以最大化某些业务目标。抽象来看,我们可以考虑许多这样的目标,例如我们公司的利润。一般观察表明,大多数公司相对于这个最佳水平都倾向于雇用更多人员,所以如果我们能够优化我们的工作人员规模,这不是件好事吗?答案当然是肯定的,但事实上这是一个非常困难的问题,因为很难获得精确、可信赖的员工级别生产力测量。如果我们能够做到这一点,我们知道最佳规则会是什么样子:如果员工对我们的收入的影响大于其成本,我们应该雇用额外的员工。
所以让我们提出一个不同的目标,一个相对容易获得个人级别生产力测量的目标。考虑在我们的商店中找到我们应该拥有的收银员的最佳数量的情况。他们的生产力可以通过单位时间内服务的顾客数量来衡量,因此最直接受影响的度量标准是顾客排队等待的时间。稍后我们可能希望通过其对顾客满意度的影响将其与我们的业务绩效联系起来——这本身又影响了流失概率——但现在让我们把它作为我们的目标。
让我们从一个商店开始。图 7-12 展示了排队问题的高层次图像:顾客以每期 的速率进入(以每期顾客数计量),每位收银员每期服务 位顾客,因此如果我们有 名收银员,则每期有 位顾客离开商店。每期的长度由我们定义,并且由操作约束严格限制:我们可能能够解决五分钟的人员配备问题,但通常不可能在如此短的时间窗口内进行更改。
请注意,除了我们员工的规模(我们的决策变量)之外,这些数量通常是不确定的:进入取决于需求,并且通常显示高度季节性模式(例如,高峰时间、午餐休息、周末等),而服务速率则取决于每位收银员的生产力,这不仅在我们的员工中有所变化,而且每位个体在一天内也有所不同。由于我们首先简化所有的不确定性,我们将假设这些是固定且已知的。

图 7-12. 队列理论:初步概念
和往常一样,在没有不确定性的情况下解决问题之前,我们需要做一些简化的假设:让我们首先假设顾客排成一条线,并且按先来先服务的原则提供服务。这就是我们设计队列的方式。此外,即使队列很长,顾客也不会离开商店(他们有无限的耐心),并且他们都在每个周期的开始时到达,因此如果我们以一个小时为周期,所有周期内的顾客都在零分钟到达。
在继续之前,让我们讨论我们假设的有效性和影响。我们队列的实现细节是我们的选择,没有不确定性它们将不起作用;也就是说,我们可能每个收银员都有一个不同的排队队列,接下来的分析仍然成立。假设顾客是无限耐心的,这是为了数学上的便利:对于等待的顾客来说,计算等待时间更容易。如果他们离开了,不仅队列的长度会改变(以及后面顾客的等待时间),而且由于提前离开而截断时间的顾客会使平均等待时间的计算变得困难。
最后一个假设——顾客在周期开始时到达——将起到重要作用,并且肯定会高估我们分析中的等待时间。我之所以这样做,是因为如果每个人的时钟都从同一时间开始(我可以使用通用时钟),那么更容易计算等待时间;否则,我将不得不在顾客进入后为每个顾客分别启动时钟。另一种假设是,他们在整个周期内均匀进入,因此随着时间的推移,顾客的恒定比例进入:前 10 分钟内有 6 个,前 20 分钟内有 12 个,依此类推。当我们看到这个排队模型的一些特性时,我会回到这个假设。
让我们从一个非常简洁的例子开始,其中每个周期表示一个小时。假设入店率为,因此每小时有 100 名顾客进入商店。此外,每个收银员每小时服务 20 名顾客(),这意味着为每位顾客提供服务需要 3 分钟(这是倒数)。
图 7-13 展示了在考虑拥有 收银员时,队列的几个重要特性。从顶部面板开始,考虑拥有四名收银员的情况。由于一切都是确定性的,我们知道在这 60 分钟批次期间进入的每一个顾客的等待时间,每个顾客用一个圆圈表示。阴影的强度表示他们等待的时间长短。

图 7-13。使用三种不同员工数量选择的队列 (n = 4, 5, 6):每个圆圈代表一个顾客,其阴影表示他们的等待时间(较浅表示等待时间较短)
注意,排在前四位(从左到右)的顾客将立即被服务,因此他们等待零分钟。每位四名收银员为他们的顾客提供服务时间为 3 分钟,然后下一批四名顾客被服务。接下来的四名顾客总共等待 6 分钟,依此类推,直到这段时间内进入的 100 名顾客被服务。如果我们平均计算所有顾客的等待时间,我们得到他们等待了 36 分钟(竖直虚线),其中五分之一的顾客实际上等待了至少一个小时,也就是新的一批 100 名顾客进入店铺的确切时间(竖直实线)。
这最后的结果——由于先前一批无法在这段时间内完全被服务而重叠的批次——在 时始终成立,因此队列将继续累积。当 时(中间面板),我们可以看到在这段时间内所有 100 名顾客都得到了完全服务,平均等待时间现在是 28 分 30 秒。如果我们包括顾客需要等待的 3 分钟,我们会看到当 时,正如此处的情况,整个 60 分钟都用来服务所有顾客。在这种情况下,队列不会无限制地累积,系统实际上会达到一个均衡或稳态(当队列继续累积时,等待时间会无限增长)。
底部面板展示了当我们拥有超过达到均衡所需的最少收银员数量时, 的情况。平均等待时间继续下降(至少 23 分钟),并且与以前一样,所有顾客都在这段时间内得到了服务。顺便提一下,由于多了一名收银员,每个周期现在有一些空闲时间,我们可能希望将其纳入成本效益优化分析中。
总之,当我们的收银员少于队列有限的最小数量时,等待时间是无限的。这是因为当第二批顾客到达图中的顶部面板时,该第二批的前四位顾客已经等待了 15 分钟才能服务,总计,因此你可以看到每一批接踵而来时发生了什么:商店实际上永远不会关闭。
增加从 4 到 5 名收银员,根据等待时间的测量,获得了巨大的边际回报。增加从 5 到 6 名收银员减少了近 5 分钟的等待时间。图 7-14 显示了这种模式,直到 50 名收银员(平均等待时间达到 1.5 分钟)。示例 7-4 展示了代码。我们看到雇佣更多收银员是值得的,或者说它值得吗?

图 7-14. 随着收银员人数的增加,平均等待时间减少。
示例 7-4. 计算确定性人员配置问题中的等待时间
def compute_waiting_time_deterministic(entry_rate, service_rate, n_cashiers):
'''
Given entry_rate, service_rate, n_cashiers
Simulate waiting time in a deterministic setting
'''
# Get a DF to compute average waiting time
# in the deterministic optimal staffing problem
n = n_cashiers
time_per_customer = 1/service_rate
# save results in a DF:
# rows: groups of n customers served at a time
number_of_rows = int(np.ceil(entry_rate/n))
df_simu = pd.DataFrame(n*np.ones((number_of_rows, 1)), columns=['customers'])
# check that total customers in line match the entry_rate
cum_sum = df_simu.customers.cumsum()
diff = df_simu.customers.sum()-entry_rate
df_simu.customers.loc[cum_sum>entry_rate] -=diff
# compute waiting_time per group of n customers served
df_simu['wait_time'] = df_simu.index*time_per_customer
# Average will be waited by each group's share
df_simu['frac_waiting'] = df_simu.customers/entry_rate
# Share x Waiting Time of each Group
df_simu['frac_times_time'] = df_simu.frac_waiting*df_simu.wait_time
# accumulate to find weighted average (last observation will be average
# waiting time)
df_simu['cum_avg'] = df_simu.frac_times_time.cumsum()
return df_simu
results_df = compute_waiting_time_deterministic(entry_rate=100, service_rate=20,
n_cashiers=5)
avgwt = results_df.cum_avg.iloc[-1]
print('Average Waiting Time (minutes) = {0}'.format(avgwt*60))
真正的问题在于,递增的节约是否大于递增的成本。正如图所示,等待时间的递增节约随着收银员数量的增加而减少。另一方面,如果每增加一个收银员的成本是恒定的,我们的最大化问题将会表现良好,确保我们可以找到一个最优的员工规模,以最大化利润。
让我们回到假设,即所有顾客都在期初到达的情况。我们已经知道,如果入口是分布的(比如均匀分布),那么我们对某些顾客的等待时间是高估的。为了看清楚这一点,想象一下当我们有六名收银员时,最后四位顾客在被服务时(图 7-13 的底部面板),他们等待了 48 分钟,但实际上,假设均匀入场,他们会在最后 10 分钟进入,那时没有人排队,所以他们的等待时间实际上是零。
请记住,在没有不确定性的情况下解决问题有助于我们精炼对推动结果的基本力量的直觉,因此我们可以就此结束并继续在不确定性下解决问题。如果你仍然想得到更好的全局图景,你可以采取以下几种方式之一。首先,你可以尝试估算我们估计平均时间的偏差(例如,在均匀性假设下)。但这会否定在没有不确定性的情况下解决问题的目的。其次,你可以尝试将间隔分解为从你的业务角度来看有意义的更小的间隔。当平衡条件成立( )时,批处理中的队列与其他批次中的队列是独立的(因为所有客户将在期间内被服务),因此我们可以继续并按照 30 分钟的时间段解决问题。第三,你可以为每位客户实施单独的时钟(就像现实中的商店今天在其排队系统中所做的那样)。
最后,我们需要将等待时间映射到业务绩效上。在没有不确定性的世界中,映射是相对直接的,至少在概念上是如此。等待时间对客户体验来说很重要,不满意的客户将毫不犹豫地从我们的竞争对手那里购买,从而减少我们未来的收入。如果我们手头有这样一条规则,将平均等待时间转化为流失率,我们就可以比较每增加一个收银员的成本与增量节省的收入,从而使优化问题可解。
但这只是一个可能的目标函数。为了突出目标函数的重要性,让我们想象我们不想最大化利润,而是更愿意在所有店铺之间实现均匀的客户体验。因为对于任何店铺,我们已经知道平均等待时间如何映射到收银员的数量,我们的优化算法可以从该地区的表现最好者开始,每次一个收银员地重新分配,直至收敛。我们在这里试图最小化的度量是最差表现者与最佳表现者之间的等待时间差异。
最佳店铺位置
假设我们考虑开设店铺,考虑到我们的固定年度预算,我们打算耗尽。在没有任何不确定性的情况下,如果我们已经有一组候选位置,用它们的地理坐标表示( ),问题就很简单了:我们按未来利润流的顺序降序排列所有位置,包括设置成本,然后要么用完预算,要么在第一个达到收支平衡的店铺处停止 (Figure 7-15)。

Figure 7-15. 优化我们开设新店的位置
这是一个没有不确定性的简单问题,因为我们从一个(有限的)预过滤的候选位置开始。而当我们不预过滤时,更一般的问题则要困难得多,因为可能会有无限多个位置(想象一下您在任何地图上看到的可能坐标数量),但是排序位置的一般原则仍然适用。您可能希望通过将地图划分为矩形网格,并将每个矩形的长期平均利润作为排序的度量来使事情有限化。
不确定性优化
如我们在第六章中所见,面对不确定性的最优决策是在最大化我们的期望目标函数时获得的,因此,原则上,“我们所需做的”只是用其期望替换我们的目标函数。有时这相对简单,但有时不是,我们将需要找到解决问题的方法,至少是一个一阶近似。无论如何,建议始终尝试在没有不确定性的情况下理解问题,因为这将准确指出您应该集中注意力的位置(并非所有不确定性都是平等的)。
客户流失
在客户流失情况下,我们已经看到了不确定性的根本来源:无需提供任何优惠的情况下客户是留下还是离开,并且我们需要对那些未决定的客户所需的最低优惠进行估算。
用表示给定价值的优惠时客户流失的概率。我预期流失的概率随着这个价值的增加而减少:在极端情况下,例如,如果我们送出一辆新车,大多数客户会选择留下来(至少在短期内,因为无论他们多么厌恶我们的公司,他们仍然可以从卖车中获利)。对应于那些无需提供激励即会忠诚于公司的客户的纯粹情况,并且对于非常大的 — —我们找到那些无论优惠多大都会离开的客户。
现在,将优惠的值固定为两个可能的值,比如 或 。对于客户 CLV ,提供优惠的预期回报是:
我们在预期利润大于不进行优惠的情况下进行优惠:
最右边的条件只是在提醒我们进行优化时的一般规则:只有在预期的增量保存收入超过增量成本时,才进行优惠。
这是一个非常好的不等式,因为它指导我们向哪些客户提供优惠,哪些客户应该放弃。为了实际操作,我们需要我们的数据科学家使用他们的 ML 工具包,并估计流失函数 (我假设我们有客户级别的 CLV 数据)。然后,我们可以找到平衡点客户,使得不等式成为一个方程。
注意,设置和解决规定性问题将我们远离预测状态。大多数公司要求他们的数据科学家估计越来越多的预测流失概率。但正如这一最优条件所显示的,我们应该再进一步:我们需要他们估计在我们提供的优惠大小给定的条件下更换公司的条件概率。而这不是一个容易的任务,原因有几个。
第一个问题是由于客户偏好的异质性而存在不确定性。我们可以想象,对于某些客户来说,最低可接受的优惠较小,而对于其他客户来说较大。起初,我们可能会满足于有一个平均估计。
但更重要的是,估计这一概率的问题依然存在。正如我们之前讨论过的,观察数据并不理想。建议在此处进行一些实验:选择两个或三个(或多个)不同价值的优惠,随机分配给您的客户,并估计它们对概率的影响。通过根据一些客户特征(例如年龄、性别、任职时间、交易历史等)进行条件设置,我们可以处理部分异质性,从而在我们追求完全定制化的过程中更进一步。
交叉销售
正如我们已经看到的,在其纯粹形式中,假设我们知道我们正在考虑向每位客户销售的每种可能产品的增量价值,我们所需做的只是估计客户接受我们的优惠的概率 ,可能通过对某些客户和产品特征 进行条件设定来实现。
对于每位顾客,我们只需对每个提议的预期价值进行排名,并设计我们的营销活动,以确保我们始终提供下一个最佳提议,即最大化预期价值的提议。
这就是构建下一个最佳提议模型所需的“全部”。当然,魔鬼在于细节,准确估计这些概率需要大量实践。
基本经济学告诉我们,如果顾客需要产品(偏好)并且能够购买,他们就会购买。因此,我们希望将价格作为条件(这让我们想到了“价格与收入优化”),并且考虑代表我们顾客偏好的特征。这说起来容易做起来难,但我们需要从某个地方开始,并通过更复杂的模型不断迭代前进。
最佳人员配备
正如我们先前所见,最佳人员配备问题中的两个基本参数是入场率和服务率,因此我们需要对它们进行分布假设,这一点并不令人意外。其中一种概率模型是Erlang C 模型,其中入场率遵循泊松分布,而退出或服务率遵循指数分布。与没有不确定性的情况类似,也假设顾客具有无限的耐心并排队等候。所有这些假设从经验的角度来看都是有问题的,因此根据您的应用场景,您可能需要求助于更先进的随机模型。
当有名收银员时,店铺的平均利用率用表示。根据这些分布假设,可以显示出顾客需要排队等候的概率如下所示:
然后,我们可以像在没有不确定性的情况下那样计算预期等待时间,或者计算更严格的顾客服务指标,例如服务等级(GoS),定义为顾客等待不超过固定的可接受等待时间(AWT)的概率:
也许从这些公式中不容易看出来,但是我们从解决没有不确定性的问题中发展出来的直觉表明,等待的概率随着收银员人数的增加而减少,并且 GoS 随着我们的员工规模扩大而改善。考虑一个平均每小时接待 100 名顾客的店铺。服务率为每位顾客 3 分钟,我们想找出需要多少名收银员,使服务等级至少达到 80%,并且平均等待时间为 1 分钟。图 7-16 显示了 Erlang C 等待概率和相应的 GoS 随着收银员数量的增加而变化。从右侧面板可以看出,我们需要 7 名收银员才能实现这一服务等级。

图 7-16. 等待概率和服务等级
有了这些表达式,我们可以制定不同的规范问题。例如,我们可以像 CAPEX 示例中那样继续,并提出找到最大化增量利润的收银员数量的问题:
这里的基本假设是,GoS 影响客户满意度(和流失),从而影响未来的销售和收入。我们可以通过雇佣额外的收银员来减少流失率(增加收入),但前提是我们要承担相应的劳动成本。关键是要注意,在提出这个问题时,我们排除了所有其他成本(租金、电力等),因为这些成本不会随人员决策而改变,至少在第一阶段是这样。
现在,我们需要做的是回顾我们所做的事情:通过对入场和服务率进行强烈的分布假设建模,我们能够从分析上推导出一个 GoS 的表达式,或者说是客户等待固定可接受时间的概率。现在我们需要的是流失概率与 GoS 之间的映射。
在这里,您可以做几件事情。您可以将增长率函数参数化,使其正向依赖于 GoS,并尝试估计或校准相应的参数。这里有些模糊之处,因为我们不再是在最大化预期利润(除非一切都是线性的),但如果可以牺牲概率精度并且解决问题的话,也许是可以接受的。
或者,您可以查看客户流失的微观基础,并推导一个直接依赖于 AWT 的函数。例如,我们可以沿着第六章中的路径进行,并说客户在其等待时间达到最大阈值或极限时(即,他们无法再忍受并决定转换公司的点)就会流失。
方便地,我们可以称之为他们自己的个体级阈值的可接受等待时间。由此可知,客户的流失概率取决于他们自己的:
不幸的是,我们不知道每个客户的等待时间,但我们怀疑存在异质性,因为有些客户可能更耐心,而其他人则会更早退出。重要的是,我们已经根据概率模型找到了销售负增长率与 GoS 之间的映射。然后,我们可以插入合理的 AWT 值,并解决相应的优化问题,可能还要进行敏感性分析。
处理不确定性下的优化问题的技巧
最后的例子让我们非常接近以下一般问题。假设我们想要最大化依赖于某随机变量的预期收益:
在这里不要迷失在抽象符号中: 是我们的基本不确定性来源(随机变量), 是决策变量。例如, 可以是每位顾客的等待时间,而 则是我们雇用的收银员数量。
我想强调的是,除非问题相对简单,否则这个目标函数可能是一个复杂的对象:请记住,数学期望既可以是涉及概率的有限项之和,也可以是连续随机变量的积分。
一个技巧是尽可能简化(但不要过于简化)。例如,尝试用二元随机结果解决问题。这就是我们在客户流失示例中所做的:客户要么离开要么留下。使用阈值水平来二元化决策的好处在于,我们可以将一个具有无限异质性的模型转化为将宇宙分为两个阵营的模型:那些高于阈值的和低于阈值的。
另一个技巧是使用线性目标函数,因为期望运算符是线性的。让我们再次看一下收入示例:
如果增长率函数 在 中是线性的,比如 ,其中 是常数,我们可以直接插入随机变量 的期望值。请注意,如果我们像在 CAPEX 优化示例中使用 logistic 函数,情况就不会是这样。
记住的重要一点是,一般情况下不会出现 ,除非函数 是线性的。我们讨论的技术性问题太多了,所以我只是用警告留在这里。
计算困难积分的最后一个替代方案是进行蒙特卡洛(MC)模拟,我们从选择的分布中抽取许多随机变量,为每次抽取计算目标函数,并对所有这些计算取平均值。选择的分布必须与我们决策中的不确定性源匹配。这里的直觉是,函数的样本平均值(跨我们的抽样)很好地近似了期望值。
要了解其工作原理,请考虑图 7-17 中的示例,我们试图解决以下最小化问题:
with 为均值为 10、方差为 36 的正态随机变量( )。在这种情况下,我们的目标函数在随机变量上是线性的,因此不需要进行模拟。我在这里的目标是在非常简单的设置中展示其用途,希望你能理解主要思想。
尽管示例的简单性,但请注意,由于随机变量可以改变二阶导数的符号,函数的形状可能会根据实现的情况发生 drastical 的变化。
左侧面板显示了我们的随机变量遵循的分布,并突出显示了对应于我们最小化凹函数的概率(约 4.7%)。右侧面板显示了我们目标函数的 100 个实现:在几乎 95%的情况下,我们最终将最小化一个凸函数(最优决策为零),但在剩余的情况下,我们可能会最小化一个凹函数。

图 7-17. 随机优化的简单案例
简言之,MC 模拟应用于这种优化问题的思想是,在相对标准的假设下,我们对随机变量的期望值的最佳估计是从观察到的个实现中计算得到的样本平均值:
使用示例 7-5 中的代码,我们从相应的正态分布中进行 100 次抽样,得到以下结果(图 7-18)。虚线是我们真正的目标函数( ),实线是我们 MC 模拟的结果。

图 7-18. 蒙特卡洛模拟的示例
一旦我们有了目标函数,我们就可以像在确定性优化问题中一样继续找到最优解。这有点棘手,因为我们不再有一个函数,只有一组有限的数字。但我们已经知道如何在数值上解决这种优化问题(某种排序的变体),或者如果问题是高维的,我们可以适应一个参数函数到这个模拟数据集上,以便进行优化。
例子 7-5. 简单的蒙特卡洛模拟
def quadratic_stoch(x,epsilon):
return epsilon*x**2
# Monte Carlo simulation
def get_montecarlo_simulation(objective_func,grid_x, N_draws):
'''
For each realization we will have (x_k,objective_func(x_k,realization))
We then average _across_ realizations
Inputs:
objective_function: pointer to a well-defined Python Function that takes
an array (grid_x) and returns an array of the same size
grid_x: the grid over our decision variable where we wish to evaluate
the function
N_draws: size of our Monte Carlo simulation
Output:
An array of length, len(grid_x) of sample averages across draws
'''
# get random draws: in this case we know its normal N(10,36)
draws_from_normal = 10 + 6*np.random.randn(N_draws,1)
# Initialize matrix to store results
K = len(grid_x)
matrix_results = np.zeros((K,N_draws))
for i,draw in enumerate(draws_from_normal):
eval_i = objective_func(x=grid_x,epsilon=draw)
# save in corresponding row
matrix_results[:,i] = eval_i
# Find sample average:
sample_avg = np.mean(matrix_results,axis=1)
return sample_avg
关键要点
-
处方阶段完全关乎优化:因为我们希望做出最佳决策,我们需要能够对所有选项进行排名,并选择最优选项。
-
许多问题是简单的:当我们只有两个(或仅有少数)杠杆或行动可供选择时,我们只需能够计算期望效用,按递减方式排序它们,并选择排在前面的替代方案。因此,难点在于计算期望和排序。
-
但一般来说,优化是困难的:当我们有许多(无限多)可能的行动时,优化变得困难。我们很可能会使用数值方法——如在机器学习中使用的梯度下降算法——来找到解决方案,而这些方法在处理足够简单的问题时仍然很难校准。
-
始终从解决无不确定性的问题开始:解决这个更简单的问题将为我们提供有价值的见解和直觉,了解相关的基础不确定性是什么,以及杠杆和目标函数的运作方式。然后我们可以继续尝试解决更一般化的问题。
-
清晰陈述处方性问题将帮助我们的数据科学家准确理解需要估计或预测的内容:例如客户流失的情况下,为了解决处方问题,我们可能需要要求我们的数据科学家估计与我们通常要求的内容截然不同的对象。在该例子中,我们不需要估计客户流失的概率,而是需要了解这一概率随保留优惠的大小变化的方式。
进一步阅读
在优化理论中有许多优秀的参考资料,例如斯蒂芬·博伊德(Stephen Boyd)和利文·范登伯格(Lieven Vandenberghe)的凸优化(剑桥大学出版社),或更简介水平上,Rangarajan Sundaram 的优化理论初级课程(剑桥大学出版社)。应用数值优化在 Jan Snyman 和 Daniel Wilke 的实用数学优化:基础优化理论和基于梯度的算法(Springer)中有所涵盖,或者在更高级别上,Kenneth Judd 的经济学中的数值方法(MIT 出版社)。
我所知道的关于定价与收入优化(斯坦福商学院出版社)最好的参考资料是罗伯特·菲利普斯的同名书籍。定价管理牛津手册(牛津大学出版社),由厄尔帕·厄泽和罗伯特·菲利普斯编辑,是关于定价主题的一本很好的通用参考书,涵盖从特定行业的具体策略到定价的理论基础的一切。提供良好实际案例的更非正式的参考资料是贾格莫汉·拉朱和奈顿·布利斯的智能定价:谷歌、普利斯林和领先企业如何利用定价创新实现盈利(FT 出版社)。
在排队理论中,爱尔朗 C 模型非常标准,所以你可以在任何关于随机过程的书中找到相关参考资料(参见前几章的参考文献)。
最后,在蒙特卡罗模拟方面,你可以查阅克里斯蒂安·罗伯特和乔治·卡塞拉的蒙特卡罗统计方法(斯普林格出版社)。关于利用这些方法解决随机优化问题的良好综述文章,同时提供其他参考文献,可以参考提托·奥梅姆-德-梅洛和古津·拜拉克桑的在线发现。
¹ 如果你读过计算复杂性理论,你会知道它属于 NP-hard 问题的一类。
第八章:结语
在最近的几章中,我们涵盖了大量内容。分析工具箱如此多样,以至于许多技能可能看起来毫无关联。让我们通过放大视角来总结一下这些部分是如何串联起来的。我们还将讨论一些可能遇到的困难,并以我对未来可能发展的看法结束。
分析技能
在前面的每一章中,我们至少涵盖了一个技能。让我们总结一下,将一切放入透视,并讨论前方依旧存在的一些挑战。
提出指导性问题
我们首先需要学会提出业务问题,具体来说,我们需要学会提出指导性的业务问题。要做到这一点,我们首先必须学会区分这种分析类型与其描述性和预测性对应物,并且这是需要实践的。
好消息是,我们总是在做决定,所以我们可以通过不断审视我们在工作和生活中所做的选择来学习和实践这一技能。我们的分析力量就像任何其他力量一样,我们只需要始终保持并有意识地锻炼它。
如果你想要练习并进一步发展这种技能,下面是你可以提出的问题类型的总结:
-
我们首先为什么要做这个决定?
-
我们想要解决的问题是什么?
-
我们为什么关心这个问题,我们关心的结果又是什么?
-
我们可以采取哪些行动来达到这些结果?
-
我们在过去的表现如何?
-
我们需要什么理想数据集来详细了解我们的行动及其与结果的关系?
-
我们的行动会带来什么后果,这些后果又依赖于什么?
-
隐藏的不确定性是什么,我们又该如何在没有不确定性的情况下做出这个决定?
这些问题适用于我们做出的任何决定,所以从你最基础的日常决策开始工作,并尝试回答每一个问题。
描述性分析对我们来说是最自然的,但做好优秀的描述性分析是我们必须发展的技能。如果做得正确,它可以启发我们,因为它帮助我们重定向初步理论,解释事物为什么会如此运作,并展示我们可能遇到的因果陷阱。大多数高级从业者遵循的一个经验法则是从问题开始,逆向搜索数据以寻找答案。
当然,你必须从正确的问题开始。正如我之前所说,识别正确问题的重要性不言而喻,这一技能与学习机器学习算法的工作原理及其应用同样重要。无论算法有多好,数据看起来有多棒,从错误问题开始必然会导致死胡同。
单靠预测分析并不能创造价值,除非我们的决策本来就已经是最优或者非常好的。预测是我们决策过程的输入,而当前的机器学习和人工智能技术正是来支持我们的。
提出规范性问题将迫使我们:
-
关注我们希望影响的正确指标或目标。
-
质疑并扩展我们目前可以使用的杠杆机制。
我们如何学会提出规范性问题?我认为我们必须从质疑我们追求的目标开始。这本质上就是为什么问题序列所做的事情。
理解因果关系。
一旦确定了业务目标,你可以专注于实现这些目标的过程。你想确保自己问以下问题:
-
我们目前有哪些杠杆?
-
它们为什么有效以及如何工作?
-
需要什么样的理论或假设?
提出这些问题必然会带我们到因果关系的问题。理解因果关系与测试因果关系当然是不同的。前者涉及我们创造连接我们行动与业务目标的理论能力。“通过拉动这个杠杆,那个结果将随之而来,从而影响我们的目标。”但为什么会出现这种结果?有哪些隐藏的或不那么隐藏的假设?
从实证上来看,解开因果关系通常非常困难,就像我们在第四章中看到的那样。在投资获取这种技能之前,学习质疑我们认为是因果关系发现的东西是很好的。我们可以提出反事实的解释吗?一旦我们控制了它们,还有其他变量可以解释结果吗?有选择效应吗?
回答这些问题类型的问题比估计因果效应要容易。通过采用实验方法,也就是系统地进行 A/B 测试,可以快速地做到这一点。大多数数据驱动型公司每年运行数千次实验,只是为了建立更好的决策基础。如果实验不可行,因为成本太高,例如,有很多统计方法可以测试因果关系。为了让这些方法起作用,你的数据需要满足一个或多个假设,因此通常需要一些专业知识来学习和应用这些方法。
但是一旦你开始提出并测试理论,你会发现世界可能与你计划的截然不同。举个例子,2019 年诺贝尔经济学奖授予了三位研究贫困和经济发展的研究者,他们在研究中采用了实验方法,并多次失败。因此,要做好多次失败的准备。
跳出固有思维模式。
反复失败会迫使您打破常规思维。通常情况下,我们会从最明显的杠杆选择开始测试。然后,当事情不如预期时,我们开始质疑我们对业务和人性的最基本理解。
然而,有时我们发现,我们越是发展分析能力,就越难以创造性地思考。分析推理往往是非常线性和系统化的,这可能与创造性思维的能力相去甚远。我们必须时刻记住可能会出现这种情况。建立强大的实验文化可能有助于缓解这些影响。但是,跨职能团队的运作,拥有多样化技能的团队也应该有所帮助。
简化
无论我们的大脑多么强大,企业的运作——更不用说整个世界了——总是难以一次理解透彻的。如果我们不得不简化,那将会很好,因为这样我们就能做出绝对最佳的决策。
在这种意义上,我们的解决方案通常是局部最优解。这意味着很可能有更好的决策可以做,但目前解决这个更一般的问题就太复杂了。
这很好。我们的目标是击败竞争对手,而他们的企业也是由人类管理的,无论他们有多聪明或拥有多少计算能力或数据。我们都在寻找局部最优解的领域内。开始简化,解决手头的问题,并在成本效益可行时迭代到下一个复杂级别。
拥抱不确定性
所有我们的决策都是在不确定性下做出的。这很重要,因为当我们拉动一个杠杆或做出一个决定时,我们无法确定随后会发生什么。
我们应始终在假设没有不确定性的情况下解决问题。这不仅有助于我们更好地理解杠杆和关键的底层不确定性——这是我们问题的一级要素——而且还可以作为比较在不确定性下决策质量的基准。
话虽如此,在处理不确定性决策时至少有三种方法:
-
无为而治
-
使用以数据驱动的强力方法
-
使用基于模型驱动的方法
无为而治的方法
您可能会决定处理不确定性成本太高。学习概率计算绝非易事。需要时间才能内化其逻辑并使其直观化。但总体来说,其好处通常更大,您始终可以雇佣具备此技能的人。我们企业的任务是创建具有互补技能的团队。
由于无为而治的方法通常不是最优的,因此投资一些时间和金钱来获取公司所需的正确技能是有道理的。此外,当前人工智能和机器学习的进步使得找到这些技能相对便宜:许多人正在不断学习和改进数据科学家的工具箱,而(更大)计算能力的价格已经大幅下降。总之,处理不确定性的成本从未像今天这样便宜过。
数据驱动的方法
许多公司都在这条路上前行:拥有数据,投资正确的技术,并雇佣人才。这种方法的基本原则是,数据本身将告诉我们如何处理不确定性。但单靠数据是不足够的。或者更好地说,数据可以讲述很多不同的故事,我们不知道哪一个适合我们的用例。
要处理不确定性——就像创建关于为什么某些杠杆起作用的理论一样——我们需要做出假设,创建模型。
以模型驱动的方法为例
模型驱动的方法对不确定性的来源和工作方式作出了强有力、可反驳的假设。我们首先识别每一个这些来源,对其进行分类,并专注于对我们问题第一序的那些来源。
下一步是对相关的基础不确定性进行分布假设。这可以通过观察数据来完成。它是均匀分布的吗?它是否遵循正态钟形曲线?它是否有长尾巴?
或者,我们可以从白纸开始,不查看数据,认真思考不确定性的来源。由于大多数不确定性并非纯粹,比如量子不确定性,而是我们的无知、异质性、我们需要简化或复杂交互的结果,我们应该始终从理解每个来源开始,并考虑我们是否可以做出分布假设来处理它。
想象一下抛硬币:在数据驱动的方法中,我们观察多次重复抛硬币实验的结果,并估计平均而言正反面出现的可能性是相等的。但我们也可以从看到的事实出发,认为在一个公平的硬币上,没有任何应该使结果偏向任何一边的因素。在这里,我们从对称性假设出发,提出一个简化的理论,并用数据验证我们的理论。
如果还不清楚模型驱动方法的工作原理,可以考虑在第七章中对最佳人员配置问题提出的解决方案。在确认了不确定性的主要来源是客户进入和退出的速率后,我们对这些如何分布做出了强烈的假设。
无论是频率主义还是贝叶斯方法,我们都对数据进行分布假设,但后者使得对不确定性的思考过程更加明确。
解决优化问题
规定性分析都关乎优化。如果我们旨在做出最佳可能的决策,我们必须能够对备选方案进行排名。
但优化是困难的。让我们回顾一下通常会遇到的一些困难。
理解目标函数
目标函数将我们的操作或控制杆映射到我们想要优化的业务目标或度量。我们应始终深思这一目标函数:
-
它看起来像什么?绘制超过两个操作或决策变量的目标函数可能很困难,但通常最好绘制每个决策变量相对于其他决策变量保持不变或固定在某些值时的目标函数。
-
它是否“平滑”?您能在任何地方求导数吗?如果您计划使用数值梯度方法,这将很重要。
-
它是否有很多局部最优解?
-
即使它表现良好,它在最优点或其他某个范围内是否相对平坦?这可能会影响您使用的任何算法的收敛速度。
与不确定性一样,我们可以通过模型和数据驱动的方式来推导目标函数。数据驱动方法可以像处理任何其他监督学习任务一样执行:我们的特征是我们的控制杆或操作,以及我们认为重要的任何其他控制因素,而要预测的结果则是我们的业务目标或度量。不用说,为了使用这种方法,我们需要观察控制杆和业务目标,并且在控制杆中有足够的变化以提供可靠的估计。此外,您可能需要一种监督方法,允许您估计非线性效应,以使问题更为真实。
数据驱动方法存在两个问题。首先,没有任何东西能保证结果在商业角度上是合理的。这是因为我们通常不在监督学习算法中对预测问题施加任何业务结构或限制。相关性并不意味着因果关系,而预测技术通常捕捉相关性,优化则关乎从操作到目标的因果关系。
此外,由操作到业务目标的预测值组成的目标函数可能不满足任何优化的期望属性。例如,如果你在进行最大化操作,我们可能希望有一个凹函数的目标函数。然而,预测算法中没有任何东西能保证这一点成立。
为了理解这一点,请考虑价格和收入优化(第七章)。根据我们确切的业务目标,数据驱动方法将估计依赖于价格(和其他控制变量)的预测模型,如收入、利润或贡献利润率,并使用这种预测关系作为我们的目标函数。或者,我们可以通过思考经济基本原理来建模我们的目标函数:收入等于价格乘以数量,这本身又通过需求法则依赖于价格,等等。通过给问题加上结构,我们可以确保它既符合商业逻辑,又具有理想的特性。
处理局部最优解
我们可能已经找到了解决方案,但我们怎么知道这是我们能做到的最好的?这个问题在数值优化算法中特别显著,因为它们往往在无法进一步改进时停止。我们首先需要检查确实我们的解决方案是一个最小化器/最大化器,根据我们的业务问题,然后尝试不同的初始猜测或解决方案,看看是否可以找到其他的极值点。
对初始猜测的敏感性
正如之前提到的,处理多个局部最优解的一种方法是尝试不同的起始点来初始化我们的优化算法。在找到数值解的稳健性方面存在缺乏标准化的问题,我们应始终检查我们的解决方案对替代初始猜测的稳健性。
规模化和生产问题
规模问题是指解决优化问题的时间和复杂度是否随着数据增加而不成比例增加。这是机器学习中众所周知的问题,很多时候我们选择将可扩展的算法投入生产,这些算法可能在预测性能上并非最先进。
让我们简要讨论一些常见的权衡:
-
如果有新的或更多的数据进来,我们应该重新解决优化问题吗?
-
如果我们这样做,我们能否足够快地作出反应?也就是说,我们能够及时解决优化问题吗?
-
如果我们不能,我们的最优推荐对新信息或更多信息有多敏感?我们应该多频繁地重新解决优化问题?
这些问题并不容易回答。例如,如果我们的最优行动结果是依赖于其他信息的映射或函数,我们可能只需在新信息上重新评估这些映射,这可能并不需要大量计算资源。
为了理解这一点,想象一下航空公司的最佳定价问题。在这种情况下,最佳定价规则依赖于出发前的时间(即预订和乘坐航班之间的时间差)。如果我们知道这个函数的样子,我们可以简单地评估该函数,并在任何给定时间设置最佳价格。另一方面,如果我们每次想设置价格都需要解决优化问题,这可能很难扩展或投入生产。
未来的人工智能驱动企业
未来的 AI 驱动企业会是什么样子?虽然我不从事未来预测的业务,但讨论由于 当前 技术可利用的机会仍然是值得的。为此,让我们从重新阐述本书的三个主要观点开始:
-
我们通过做出决策来创造企业价值。
-
预测是做出更好决策的一个输入。
-
还有其他与预测技术互补的技能,因此在企业决策性能的提升中是必不可少的。
回到 AI
当前的人工智能是预测技术,支持着日益强大的机器学习算法,需要大量的数据和计算能力。当然,人工智能远不止如此,但当前的热点主要集中在深度学习算法上。一个自然的问题是,我们能否利用当前技术做出更好的决策。这里提出的一个途径是,在明确定义的决策问题中使用来自机器学习算法的预测作为输入,特别是用它们来包容不确定性。
但我们能否以其他方式使用它?大多数成功采纳 AI 范式的公司在将业务问题转化为可以用当前技术解决的预测问题上表现出色。我们能否将决策阶段中的任何一个阶段转化为预测问题?
学习如何做决策
让我们想象一个假设情景,将决策问题转化为预测问题。输出变量是决策的结果,由我们的业务度量或目标来衡量。或者,我们可以将其转化为分类问题,其中每个决策都标记为 好决策 或 坏决策。
现在,机器学习算法通过数据学习,所以让我们继续想象我们也有过去决策的数据集。我们不仅有之前描述的输出变量,还有我们所拉动的杠杆或行动(以及它们被拉动的程度)。因为决策是在不同的背景下做出的,我们还需要尽可能多的背景信息作为输入。背景信息不仅允许我们将我们的决策与背景互动,还能近似不确定性。
数学上,我们的监督学习算法会尝试学习从决策 到业务结果 的映射,给定一些背景信息 :
原则上,在这些条件下,我们可以训练一个机器学习算法来做出这些决策。如果结果变量是一个连续的业务指标,比如利润,在训练模型后,我们可以只是打开和关闭数据集中的每个可能的操作杆(矩阵中的每个虚拟变量),模拟预期的利润,并选择返回最大利润的那个。如果我们已将输出变量转换为一些类别标签,如好决策或坏决策,我们将重复拉动杆的模拟,并选择得分最高的那个。
让我们以自动驾驶汽车为例,我们自动记录了人类驾驶员做出的每个决策,以及各种传感器捕获的所有可用上下文信息。然后我们可以使用这种方法来做驾驶决策。关于自动驾驶汽车示例的好处在于数据集可以自动生成,因此它作为该方法的一个很好的基准。
这种自动决策制定方法存在一些问题
第一个问题是创建数据集,因为我们遇到的大多数决策问题并不像自动驾驶汽车示例那样容易存储。但即使我们可以创建这样的数据集,它可能没有所需的因果推断所需的理想属性。
请记住,机器学习算法通过相关性创建预测,因此它们是强大的模式识别设备。理想情况下,我们应该系统地随机化我们的选择或操作到不同的上下文信息,但这当然可能是昂贵甚至危险的。
此外,数据中的任何偏见都将反映在这些算法做出的决策中,这可能引起严重的伦理关切。
最后,我们面临的问题是可解释性。强大的学习算法是黑匣子,很难解释为什么做出了预测。在我们的情况下,由于预测变成了决策,这个问题甚至更为严重。
如果你在其他地方已经阅读过当前人工智能面临的问题,你可能会立即在这个列表中认出它们。用于自动化我们决策的预测技术将必然继承当前技术的所有缺点。
伦理
我在上一节中简要提到了道德维度,但这是一个值得单独讨论的话题。
从人工智能驱动决策的角度来看,伦理关切的主要来源在于预测阶段,我们使用大量数据进行预测。当数据存在偏见时,机器学习预测很可能会强化这种偏见。让我们看看这个过程是如何运作的。
假设你想要预测某银行对新信用卡的接受情况,目的是做出是否放贷的决定。由于大多数银行传统上保守,许多缺乏足够信用数据的少数民族群体要么从一开始就被阻止,要么被允许进入筛选流程,但最终被拒绝信用。机器学习算法非常快速地找到了一个模式:“少数民族潜在客户被拒绝信用。”它不深入研究,当然也不做成本效益的商业案例。
自然地,如果我们使用预测算法的结果,我们最终将拒绝向受影响的人群提供信用,从而强化已经存在的有偏信用决策。这与信用风险无关。这完全取决于数据的性质,以及如何正确地去偏数据的问题,在机器学习社区中正在积极研究这个问题。这也可能通过负面报道来影响公司。¹
另一个较少讨论的问题涉及 A/B 测试中的情况,因为其难以扩展。在这种情况下,我们随机将一种处理方式分配给一个组,并将另一种方式分配给另一个对照组。对于世界各地许多大学的学术研究人员,每当他们想要对人类进行实验时,他们都必须从机构审查委员会或伦理委员会获得批准。虽然大多数公司不需要委员会批准进行测试,但我们应该始终记住,测试对个人有后果。
考虑一下在网页上展示两种不同布局的情况。一个随机选取的客户组将查看传统布局,另一个将查看您想要测试的新版本。您想要测量的结果是转化率,即有多少观众最终购买了您的产品。这种简单的设置可能引发伦理问题:您是否对某一群体造成了负面影响?当然,如果您只是尝试不同的颜色,这种担忧可能是没有根据的,但您可以想象许多现实场景并不那么清晰(例如,展示虐待儿童或战争受害者的图片)。
伦理问题在于很难以明确、清晰的方式区分某事物是否在道德上是错的。要看到这一点,想想一个手机制造商想要估算坏硬件或软件对其收入(通过客户流失)的影响。硬件故障难以预测,质量控制成本高,但我们可能希望找到对公司最有利的百分比,比如 3%或 4%。该公司决定进行以下 A/B 测试:向一组客户生产并随机销售故障手机,并测量相对于对照组的客户流失的影响。如果测试设计正确,它将提供有关硬件故障和客户流失因果效应的清晰估算,然后我们可以回头找到我们想要的最佳质量控制水平。
你对这个实验有什么感觉?我与同事和学生讨论过几种实验的变体,大多数人发现这令人恶心,即使故事包括一个专注的客户支持服务,以确保事后客户和对照组中的客户一样好甚至更好。
结束时,使用分析工具箱中的某些工具时会引发伦理关切,我们至少要在意这一点,并尽量消除可能影响特定人群或群体的结果的偏见。
一些最终的思考
自从大数据革命开始以来,我们已经走了很长的路,其承诺是为我们的公司创造越来越多的利润。多亏了它和计算能力的进步,AI 革命随之而来,我们才刚刚开始理解能够做到多少。
本书的主要观点是价值是通过做决策而不是数据或预测来创造的。但数据和预测是做 AI 和数据驱动决策所必需的输入。
为了以系统化和可扩展的方式创造价值并做出更好的决策,我们需要提高我们的分析能力。作为一个在不同公司担任从业者和决策者的人,我已经描述了我发现最有用的那些能力。我还发现学生、商业人士和从业者都渴望更好地理解从这些新技术中创造价值的方法,因此我希望这本书能引导他们朝这个方向发展。
我们可以期待在不久的将来自动化决策吗?在某种意义上,许多简单的决策已经自动化了,就像在没有任何变化的简单环境中一样。但是在不久的将来,通过某种类型的人工通用智能自动化人类般复杂的决策是不太可能的。在那之前,我们有足够的空间为我们的公司和整个社会创造更多的价值。
¹ 举一个最近的例子,请参阅《“Apple Card Investigated After Gender Discrimination Complaints”》(New York Times)。
附录 A. 机器学习简介
在这个附录中,我简要总结了机器学习的概念,目的是提供一个自包含的指南。我没有试图深入了解各种方法的复杂性,因为本书的主题是学习如何从这些技术中创造价值,而不是学习每一种不同的方法。它将提供一些背景知识,希望能对机器学习的工作原理有一些直观理解。对于感兴趣的读者,我还将介绍 A/B 测试的基础知识。
什么是机器学习?
机器学习是一门科学学科,研究机器如何通过数据和算法学习完成某些任务。算法是一种配方或一系列指令,反复应用直至达到精确的目标,并且是用编程语言编写的,使人能够与计算机进行交互。然后这些指令被转换成机器语言,然后进行处理和计算。
ML 模型的分类法
机器学习算法的任何分类法都从描述监督和无监督方法开始(图 A-1)。通常情况下,当有人或某物告诉我们任务成功完成时,我们称这种学习为监督学习。例如,如果你正在学习弹奏一种乐器,比如康加鼓,你的老师可能会首先展示给你一个好的掌声音调的例子。你自己尝试后,她会告诉你你的技术和音调是否接近完美音调;我们称这种将尝试与理想情况进行比较的过程为监督。

图 A-1. 学习模型的分类法
监督学习
监督学习算法同样如此,人类提供指导,告诉算法世界的情况与其当前猜测的差异。为了实现这一点,我们必须首先对数据进行标记。以图像识别为例,我们输入一张图片,算法需要正确识别图片中显示的内容(比如狗)。我们向算法提供足够多带有“狗”标签的狗的图片,以及其他物体(如猫、鼓、大象等)的图片,并标有相应的“猫”、“鼓”和“大象”标签。通过标记,算法能够将最新的预测与现实进行比较,并相应调整。
监督学习的世界相对简单;我们只需要一种生成预测标签的方法,一种与实际标签比较的方法,以及一种随时间改进性能的更新规则。我们通过损失函数评估当前猜测的整体质量:当我们的数据完全预测时,它达到最小值,并且随着预测能力变差而增加。正如您可能想象的那样,我们的目标是最小化损失,聪明的更新规则使我们能够持续下降,直到不再可能获得显著改进。¹
无监督学习
无监督学习要困难得多,因为没有明确的衡量标准来判断预测的对错。我们的目标是发现数据中一些潜在的模式,这些模式对问题解决同样有信息性。聚类和异常检测是两个例子。
在聚类中,我们的目标是找到相对同质的客户群体,例如,这些不同群体之间也应该有所不同。这在数据驱动的分割中经常使用。²
在无监督异常检测中,算法试图通过观察特征的分布来区分“预期”的和“意外”的。例如,也许我们的高管中有 95%在正常的一天内销售 7 到 13 台电脑;超出这些限制的任何事物都可能被标记为异常。
半监督学习
还有一个中间类别未在图 A-1 中显示,有时称为半监督学习,在这种算法中,只需少量数据示例即可泛化知识。一些从业者认为,这更接近人类学习的方式,与最先进的需要数千或数百万数据点才能提供可靠预测的监督技术形成鲜明对比。儿童只需少量示例即可学会识别物体。一些研究人员认为,当前人工智能必须克服的主要挑战之一是这种半监督学习问题。³
回归和分类
继续我们的学习算法分类,让我们讨论两种最常见的监督学习任务:回归和分类。在回归中,我们的标签采用量化的形式。例如,您可能希望预测客户的年龄或收入水平,或者他们将忠诚于我们公司的时间;所有这些都可以准确表示为数字:您 40 岁的邻居比您 39 岁的兄弟大一岁,比您 47 岁的朋友小七岁。在回归中,数值具有严格的数值解释。
相比之下,在分类任务中,目标是预测一个分类标签:你可能想预测客户的性别、他们是否会违约贷款,或者某个特定销售是否存在欺诈行为。请注意,这里的标签是类别,你可以为它们指定任何你想要的名称。在性别分类中,“男性”也可以被标记为“0”,“女性”标记为“1”,但这些显然是数值标签缺乏数值意义:你可以随意交换标签并相应地重新定义一切,而你的学习任务中没有任何改变。没有意义表明其中一个大于另一个或者你不能进行算术计算。
回归可以通过利用数字的有序属性轻松转换为分类问题。业务中一个常见的回归任务是预测特定活动的利润,但有时你可能不需要确切的数值:比如你只想知道你的公司是否会亏钱(负利润)或者不会(零或正利润)。同样,对于广告和市场目的,我们通常需要与行为差异相关联的年龄范围,而不是客户年龄的精确估计。在这两个例子中,我们最终得到了分类问题,而不是最初的回归任务。顺便提一下,在第七章中也提倡使用相同的技巧来将决策二元化,在那里可以采取一系列行动。
注意到,尽管我们可以将任何数字轻松分组成有序的组,但逆转这一过程以恢复原始的数值标签可能是不可行的。我们可能会尝试通过某些统计量(例如类别中的平均值)来近似这些值,但这通常是不建议的。举例来说,考虑你的客户的学历水平,精确测量为受教育年限。想象一下,针对你的业务问题,你只关心预测客户是否完成了大学教育。现在我们可以使用大学阈值将世界分为两部分:客户的学历水平要么高于完成大学教育,要么低于。请注意,如果稍后尝试恢复标签,可能会遇到问题,因为在回归中的严格数值解释可能会被打破。而且,绝对应避免对每个类别进行任意的重新标记(例如对完成大学教育的标记为 1,否则为 0),并在回归设置中使用这种方法,因为回归算法会将标签字面上视为数字(而不是象征性地)。
做预测
由于当前的 AI 技术是预测技术,了解预测的产生方式非常有用。为此,让我们从一个相当抽象但足够一般的任务描述开始。我们的目标是预测一个结果,我们人类推测它依赖于输入(也称为特征)。为了得到预测,我们需要将输入转化为结果,数学上可以描述为一个函数。例如,我们可能想预测下个季度的业务利润(),并推测它们依赖于天气的严重程度()和季度内预计的劳动成本()。在这种情况下,我们只有两个特征,所以。
在这一点上,不清楚这个函数从何而来,但请注意,如果我们有这样一个函数,预测应该相对简单:我们只需将输入的值插入方程式右侧,并输出我们的预测。例如,我们可以评估我们的预测函数,对于 100 英寸降雨和季度劳动成本为$15,000,如。如果我们有一个线性函数,我们插入这些值,得到利润为 2,000 × 100 - 2 × 15,000 = $170K。
插件方法的注意事项
这种方法的简易性有两个要注意的地方。首先,为了进行预测,我们必须插入特征的值,所以我们假设我们知道这些值。回到例子中,要预测下一个季度的利润,我们必须知道并插入天气严重程度的值。是哪个季度的天气?当前季度还是下一个季度?我们可能能够测量本季度的降雨量,但如果真正重要的是下一个季度的降雨量,那么我们必须预测以便预测。这个故事的寓意是,如果我们关心预测,我们必须仔细选择我们的输入,以避免这种循环依赖。
第二个微妙的问题涉及回归和分类问题的预测。在回归的情况下,插入方法效果很好,因为函数将数值特征映射到数值结果。这是我们对数学函数的期望。那么,我们如何定义输出标签的函数,比如“狗”,“猫”或“火车”?在分类中使用的技巧是使用将数值特征映射到概率的函数,即 0 到 1 之间的数字,量化我们对当前示例属于某一类别的信念程度。因此,在分类任务中,我们通常预测概率分数,并使用决策规则将其转换为类别。
使用监督学习作为优化决策的输入
我一直在说 AI 是我们决策过程中的一个基本输入。为了理解这是如何运作的,请回顾第六章,即在不确定性下做出决策时,我们需要将我们要优化的指标的期望值进行比较,并选择生成最大的杠杆。对于两种结果的情况,期望值为:
分类模型提供概率估计()。或者,有时您可能更愿意直接使用回归,并为每个杠杆估计预期效用。
这些函数从哪里来?
现在我们知道如何在手头有一个将输入映射到结果的函数时进行预测,最后一个问题是这些函数是从哪里来的?回到我们的利润例子,利润如何随降雨或劳动力成本的变化而变化?
数据驱动方法使用监督算法来拟合最佳预测函数,而不施加任何其他限制。这是从业者中最常见的方法。相比之下,模型驱动方法从第一原则出发(有时甚至不看数据)并对允许的函数类型施加限制。后一种方法主要被计量经济学家和工业界使用,而在业界中很少见。后一种方法的主要优势在于提供可解释的预测,因为理论是从头开始建立的。但预测能力通常也较低。
在机器学习中,解释性与预测能力之间的这种权衡普遍存在,并具有几个重要的后果。首先,当我们使用预测算法分配优惠或做出决策时,并且无法解释为何做出了这个决定时(想象一下类似“我应该雇佣那个人吗?”或“被告有罪还是无罪?”的问题),可能涉及伦理考虑。伦理问题在第八章中有详细讨论。其次,这种透明度的缺乏也可能成为我们业务中广泛采用这些方法的障碍。人类喜欢在做出选择之前理解为什么事情会发生。如果数据科学家无法解释为什么,他们的业务伙伴可能更愿意继续以传统方式做事,即使预测解决方案更优。
做出良好的预测
到目前为止,我希望我已经说服了你,如果我们有一个将输入映射为结果的函数,并且我们知道特征的值,那么做出预测相对简单。但是,我们如何做出好的预测呢?毕竟,我可以预测这本书会成为畅销书,但这可能大错特错。
不幸的是,关于做出良好预测的魔法配方并不存在。但是,我们可以遵循一些良好的实践。首先,将函数拟合到我们的数据并不等同于做出良好的预测。事实上,通过记忆实际数据集,我们可以在这些数据上获得完美的预测。做出良好预测的关键在于在收到新数据时能够泛化。
数据科学家通常通过随机将数据集分成训练和测试样本来解决这个问题。他们首先使用他们的算法在训练样本上拟合最佳函数,然后在测试集上评估预测的质量。如果我们过于关注训练集,我们可能会过拟合,这是在现实世界中泛化能力差的表现。请注意,在实践中,我们通过保留数据的子集——测试样本来模拟“真实世界”。这种模拟的质量通常很好,除非在我们训练模型和进行预测之间,世界在预测问题上发生了有意义的变化。AI 通常因其在这些非静态环境中泛化能力不足而受到批评。我们稍后将遇到一个例子,过拟合会阻碍我们对新数据进行良好外推的能力。
另一个好的实践是确保我们的估计对数据的小变化具有鲁棒性。这有几种不同的方式。例如,在训练阶段可以排除异常观测值,因为某些算法对离群值非常敏感。⁴ 我们也可以使用对这类数据集具有鲁棒性的算法,例如通过对不同模型的预测进行平均或平滑处理。
从线性回归到深度学习
自时间开始以来,人类一直在使用不同的预测技术,但深度学习是最先进的技术,也是当前人们谈论 AI 的原因。虽然这里不是深入讨论深度人工神经网络(ANN)的技术细节的地方,但至少对于解密的目的,给出这些算法如何工作的直观解释仍然是有用的。为了这样做,我们最好从最简单的预测算法开始:线性回归。
线性回归
在线性回归中,我们将一个定量输出 建模为不同输入或特征 的函数,但我们限制自己于线性表示,即: 。注意算法选择如何限制我们能够拟合数据的函数类。在这种情况下,学习任务是找到权重或系数 ,使我们能够很好地逼近我们的数据,并且最重要的是,能够对新数据进行泛化。
想象一下,我们想要开一家新店,但是考虑到不同的位置,我们希望找到能够最大化投资回报率(ROI)的位置。如果我们能够预测各个位置的利润,这将是一项相当容易的任务:在预算范围内,在不同位置中选择预期利润更高的位置开店。
由于利润等于收入减去成本,理想的数据集应包括所有可能位置的这两个量。正如您可以想象的那样,这样的数据集可能难以获得。假设我们能够获得一个数据集,告诉我们在我们城市的任何街道上午 9 点到中午之间经过的人数。作为一个起点,我们可以安全地推测,更多的过路人会带来更高的利润。我们的推理可能是这样的:我们的收入来自于销售,销售本身与进入我们店铺并最终购买东西的人有关。如果没有人经过,我们很难做出销售。另一方面,如果一些人经过,有些人可能会进店并购买。这解决了收入问题,但成本呢?其他店铺经理可能也像我们一样思考,因此我们可能需要竞争租金,从而增加成本。请注意,这个故事只谈论我们认为可能的影响方向,而不是实际的大小;我们将让算法拟合数据,并检查结果是否与我们的直觉一致。
一个简单的线性模型可以假设利润()随过路人数()的增加而增加,即 。请注意,我们人类专家已经决定了三件事:(1)我们想要预测的结果是每家商店的利润;(2)利润仅依赖于每个位置的过路人数,这是一个显著的简化;(3)我们限制自己在一个线性世界中,这是另一个显著的简化。在线性回归中,我们要问:哪些参数 能使我们的 预测最准确?
图 A-2 显示了我们公司目前运营的 10 家假设商店的利润与过路人数的散点图。我们可以立即看到数据中存在明显的趋势,即更高的利润与更多的过路人相关联。

A-2. 10 家假设商店的利润和过路人数
最小二乘法是我们所说的“预测最准确”的最常见解决方案。在这种损失函数下,算法找到能使平均误差最小化的参数,如 图 A-3 所示。这一线性模型下的预测由虚线表示,误差用垂直线表示,可以是正数也可以是负数。例如,对于商店 10,我们的预测几乎比实际数额低了 2K 美元,误差是正数。另一方面,对于商店 2、5、6 和 9,我们的线性模型高估了实际利润与他们的过路人数相比。在图表底部展示了实际的预测方程式。对于这个数据集,算法发现 和 。这是如何发生的细节超出了本书的范围,但我想指出的是,该算法尝试不同的可能值,以减少计算量。一个天真的替代方案是尝试许多不同的随机组合,但由于这个集合非常庞大,我们将需要多年时间才能找到最佳的可能值。⁶

A-3. 线性回归中的预测误差
这个方程不仅仅是对计算它费心的数据科学家的一个智力好奇,它实际上提供了一些将过路人转化为利润的可能机制的解释:每多经过 100 人的地点,“生成”40 美元的利润。我们在第二章中讨论了解释这些结果具有因果关系的风险,但现在重要的是强调,这个数学对象可能具有重要的商业内容,这种内容是使用 AI 创造价值所必需的,因为它使我们能够以非常简单的方式解释我们的结果。正如之前讨论的那样,线性回归处于预测能力与解释性的极端之一,如果理解和可解释性得到足够重视,这是一种常见的算法选择。
回到我们的结果,注意对于某些商店预测非常好,而对于其他商店则相当糟糕:我们的线性模型对 1、3、5、7 和 8 号商店几乎给出了完美的预测,但对于 9 号和 10 号商店则表现不佳。最小二乘解的一个特性是平均误差为零,⁷ 所以正误差和负误差最终会互相抵消。

图 A-4. 拟合二次方程
控制其他变量
线性回归非常适合捕捉数据中发现的一些关系的直觉。在我看来,线性回归中最重要的结果之一被称为弗里斯-沃-洛弗尔定理 (FWL),它指出通过在回归中包含控制变量(在第二章中称为混淆因素)来估计感兴趣变量的净效应。
为了看到这一点的作用,假设您怀疑在先前的回归中的结果可能受到高商业化社区潜在顾客更多的影响,因此您的低利润可能与高竞争社区中的价格效应有关,而不是仅仅与顾客数量有关。这第三个变量可以作为您试图估计的纯量效应的混杂物。
您可以通过将额外变量——附近商业机构数量——包含在您的线性回归中来控制此效应:
与以前一样, 表示每个时间段的过路人数, 表示附近不同商店的数量,都是店铺 的属性。
FWL 定理指出,如果你运行这个回归,通过包括其他控制变量,路人(或邻里商店)的估计系数是净的。你实际上可以通过估计以下三种备选回归来验证得到完全相同的结果:
-
对 进行回归,包括 (以及一个常数),并保存残差(称为 )。
-
对 进行回归,包括 (以及一个常数),并保存残差(称为 )。
-
最后,对


浙公网安备 33010602011771号