自助数据分析作为需求层次结构

自助数据分析:满足需求层次结构的利器

从食物和住所到自我实现:如何利用科学方法来创建支持自助分析的基础

Self-Service Hierarchy of Needs (image by author)

我一直回想起90年代,当时自助商业智能(BI)工具如Business Objects和Cognos首次推出。事实上,就像所有过度热情的软件工程师一样,我甚至在花旗集团的短暂工作中帮助构建了一个。那时,年轻的我做出了两个非常快速的预测:

  1. Excel已经过时了
  2. 自助数据将快速取代

好吧,我并不是诺斯特拉达姆斯。离开花旗集团后,我发现自己已经在作为BI顾问的职业中度过了十年,进行一些数据工程(当时是ETL,而不是ELT),在其上添加了一个BI工具,培训业务用户,反复进行。我们做了一些“伟大的工作”,但是项目之后留下的结果并不令人满意:

业务用户没有按我们预期的速度采用软件进行自助服务。

只有少部分“高级用户”(通常是技术方面的人员)会使用这些工具创建不同级别的仪表板和报告,但业务方面并没有普遍采用。而且对顾问有很大的依赖性。

BI供应商的销售宣传:100%自助式数据民主

我的期望:60-80%的采用率

现实情况:不到20%的采用率,乐观估计

过了一段时间,这些项目开始感觉像是一个失败,一个很好的学习机会。到底是什么原因导致失败?是工具、用户、IT还是顾问的问题?我们已经到了2010年左右,对于失败的BI项目已经有了大量的文档记录。并不是指项目从来没有产生有意义的结果,而是指它们很少达到其全部潜力。业务领域仍然对数据有很大的依赖性。干净、可靠的数据无法迅速获得。

在这个时期,一个名为Tableau的数据可视化产品开始广泛应用。它无处不在,也是数据民主的解决方案。然后,Power BI作为一种兼具数据可视化和报告功能的最佳工具进入竞争。然而,十年或更长时间过去了,我们在这些更新的工具上仍然看到同样的问题:BI工具的自助采用率令人堪忧。显然,我并不孤单。

所有组织中全球BI采用率为26%。(360Suite 2021)

2021年令人震惊的商业智能统计数据

随着商业智能市场的不断发展,这些统计数据显示商业智能工具的重要性将继续存在…

www.trustradius.com

我不能袖手旁观。自然而然地,我不得不创造世界一直需要的东西:解决自助服务的BI工具。是的,我告诉自己,我最终会做对。于是,我以此为目标创建了FlexIt Analytics。还记得我之前的预测吗?是的,再次,我非常错误。让我直入主题:

永远没有一个单一神奇的解决方案能够使数据分析对大众来说有意义且易于使用。

没有哪个BI工具能解决自助服务问题。然而,我们可以退一步,从“宏观”非技术角度思考问题,并可能获得一些有价值的见解和策略来前进。

马斯洛需求层次理论

如果能够回到高中时充满活力的心理学课堂,回想起关于人类动机的那堂讲座,那就太好了。如果你在学校没有学过这个,或者记不清楚了,那么这里是一个回顾:

美国心理学家亚伯拉罕·马斯洛提出了一种人类动机理论,认为在一个人能够实现更高层次需求之前,基本需求必须得到满足。当我们沿着层次结构上升时,我们从更低层次的短期需求,如食物和水,移动到更高层次的需求,这些需求的持续时间更长,更复杂,越来越难以实现。最高层次是自我实现和超越。

马斯洛需求层次理论

马斯洛需求层次理论是驱使人们行动的需求的金字塔。个体最基本的需求位于金字塔的基底…

www.simplypsychology.org

简而言之,你需要一个基本的基础才能进入下一个层次。任何数据界的人都会立刻认识到这一点,并理解这直接适用于实现“数据的自我实现,”也就是“自助服务。”来吧,它们都有“自我”,这不可能是巧合。让我们深入探讨一下。

自助服务需求层次

我们将展示相同的图片,因为它不仅是一个令人惊叹的图形,而且在我们即将进行的分析中也非常有帮助。与马斯洛的层次结构类似,自助服务数据分析需求层次展示了每个层次如何支持和促进上面的层次。此外,您将看到随着层次的升高,越来越多的信任是必要和可交付的。

再来一次,DJ:

自助服务需求层次(作者图片)

收集

最基本的马斯洛的需求是明显的:食物、水、住所。同样地,自助服务需求层次的基本层次也是明显的——数据收集。您需要收集数据。让我们再进一步,说你的基础需要从不同的来源收集原始数据。在现代数据世界中,这就是 ELT(Extract, Load, Transform)的提取和加载部分,最终形成了我们称之为数据湖的简化术语。请注意传统/较旧的数据仓库概念 ETL(Extract -> Transform -> Load)与之的区别,由于种种原因,这一概念已不再适用,我们会在另一篇文章中详细介绍。

这里最后要指出的是,从这一层次产生的任何数据分析都需要由更高级别的分析师/数据科学家完成,并且在信任度上较低,因为它尚未经过层次结构的更高层次。类比一下,你能直接跳到顶级的超越吗?可能,但当周末派对结束后,你很难继续保持下去。

转化

马斯洛的需求层次结构中的下一个层次是安全需求,包括安全、社会稳定、可预测性和控制。在我们的自助服务需求层次中,我们通过将数据整理和组织为我们数据仓库中的业务模型来实现可预测性、稳定性和控制性。这通常采用多维星型模型的形式。使用来自较低级别的“收集”层次的原始源数据,分析师可能需要将大量不同的表连接在一起以获取客户数据。在这个层次上,那些不同的数据已经被整合到一个统一的表中,称为客户维度。另外,在这个过程中,数据被清理(重复、不匹配的客户名称)并进行有益的计算(例如,第一次下单日期),从而允许更简单的 SQL。

最后,我们在数据中建立了另一层安全和信任,同时也为一批新的分析师提供了自助服务的能力,因为他们不需要了解底层源数据的业务复杂性。还非常重要的是,这一层次应该看到业务领域所有者的参与。转化过程旨在支持真正的业务需求,因此业务所有者必须参与其中。在现代数据世界中,我们开始看到“分析工程师”作为一个关键角色来支持这种混合需求。

语义层

马斯洛的第三层是通过关系和联通来实现爱和归属感。与我们的自助层级的关联是神奇的,因为语义层实际上是您建立关系(表连接)的地方,并且是将所有事物联系在一起的基础。关于语义层,我可以继续讲下去,并在此处的帖子中详细介绍:

“无语义”是商业智能的未来

dbt、指标、无头和通用语义层如何实现“无语义”商业智能

towardsdatascience.com

我会争辩认为,这个层级对于实现真正的自助服务非常重要,并且业务领域所有者需要积极参与。“通用语义层”可以提供单一的真相来源,通过数据素养、简单性和信任来支持自助服务分析。分析师可以依赖友好的业务字段和实体名称、数据目录描述,以及最重要的是,他们不需要知道表之间如何连接(或至少不需要知道如何编写SQL)。我们还可以访问关键的内容,如数据血统(追踪字段回到源表)、同义词(你称之为“销售”,我称之为“收入”)和数据新鲜度(数据最后刷新时间)。

这里需要注意的一件重要事情,特别是对于可能会说“Business Objects在90年代就有这个功能”的历史学家们。我们尚未达到“分析层”(BI工具层级)。出于多种原因,在上面链接的帖子中有详细说明(“无语义是商业智能的未来”),将业务逻辑语义层嵌入BI工具是非常重要的是关键。我们自助服务的层级结构中的“语义层”应该支持下一层,而不是成为下一层。

分析

在这个层级中,我们开始涉及BI工具、报告、仪表板,这是大多数人谈论自助服务分析时所想到的内容。如果你觉得语义层与马斯洛的层次结构之间的关联像我一样神秘,那么请坐好,准备迎接马斯洛的自尊水平。在这里,他将需求分解为“较低版本”需求,如地位、认可、名声、声望和关注,以及“较高版本”需求,如力量、能力、掌握、自信心、独立性和自由。你好,数据英雄,Zen大师和领悟者。

在我们自助服务层级的这个层级,我们开始看到业务领域拥有权和自助服务分析,重点放在四种分析类型中的两种上:

1. 描述性——显示发生了什么的报告和仪表板

2. 诊断性——显示为什么发生了这样的分析

你是从干净的数据仓库、良好建模的转换层和通用语义层构建你的仪表板吗?

矛盾的是,我们认为能够实现自助服务的BI工具实际上可能会带来最大的困扰。我们知道Tableau(一个令人难以置信的可视化工具,具有巨大的价值,毫无疑问)通过绕过行动迟缓的IT部门,直接向企业销售,从而获得了早期的发展,并继续利用这种分歧。太多实施涉及将数据从源数据库手写的SQL或静态BI报告导出,并将其导入Tableau。虽然在这个自助服务的自助餐中你可以选择健康的饮食,但现实往往相当不同。随之而来的混乱往往会严重拖累企业,使其永远无法达到下一个层级,因此它们只会继续产生关于已发生事情的描绘性仪表板。

自我实现和超越

马斯洛的层次结构的最高层涉及自我实现、个人成长和达到自己的全部潜力。与生活类似,在数据世界中,没有一个你到达并说“就这样,全部完成”的巅峰。这是一个不断进行的工作,非常难以实现,似乎可以永无休止地进行下去。在这个层级上,我们超越了基本的描述性和诊断性分析,并在我们的数据和流程中建立了非常高的信任水平。这使得下面两种类型的分析成为可能:

3. 预测性——弄清楚接下来会发生什么

4. 规范性——基于预测,推荐最佳的前进路径

在此阶段,我们的数据各个层面都建立了坚实的基础,可以开始采取有意义的措施,利用人工智能,自动化业务流程,并解决更高级的用例。

数据驱动组织的组成部分

好的,我们已经制定了改善“数据生活”的框架,旨在实现数据的自我实现。现在,让我们深入了解如何实现这一目标。首先,让我们看一下我们需要关注的内容:人员、流程和工具。

Components of a Data-driven Organization (Image by Author)

人员

我来自技术方面,所以希望创造技术解决方案来解决业务问题。当然,如果我得到一些业务需求,将自己锁在黑暗的房间里,然后编写一些代码,我就可以创建一个软件来满足业务需求。我的错误,以及许多其他人的错误,是没有充分关注软件的软性方面:人员。这听起来显而易见,但我认为我们技术人员需要承认的是,我们经常创建令人难以置信的软件产品,然后将其交给业务用户,说:“看这里,我做好了!”当它们没有按照我们预期的方式使用,或者他们“不理解”时,我们感到困惑。

技术的人性面可以令人困惑和神秘,但这并非必要。在其核心,我们需要通过关注一些关键领域来建立信任和能力。首先,必须有支持,否则与你对立的力量可能会破坏即使是很好的技术解决方案。在此基础上,我们必须与业务密切合作,意识到我们正在努力实现的是“业务驱动”的数据解决方案,而不是“数据驱动”的解决方案。我们做的每件事都必须考虑到业务需求。在构建过程中,我们需要考虑如何在我们交付的产品中提供能力。在数据世界中,我们如何实现“数据素养”?当然,业务方应该了解他们的数据,但当我们将他们的业务通过技术磨坊处理后再呈现给他们时,并不总是像我们认为的那样明显。我们需要通过数据目录和语义层来实现数据素养。最后,当我们推出解决方案时,我们不能只进行标准的推出会议和培训,使其成为讲座。我们需要关注“及时”培训,重点关注业务用户在解决实际数据问题时的真实数据需求。

流程

即使我们正确处理了人员部分,我们仍然很容易偏离正轨。为了保持正常运行,我们还需要正确处理流程部分。在过去几十年中,尤其是在技术领域,最明显的问题之一是许多项目采用了瀑布式的方法,即在项目开始时就要确定最终结果。我们首先的步骤是灵活应对,专注于不断变化的业务需求,采取敏捷方法,尤其是在建立数据驱动组织可能需要多年的数据世界。

敏捷是一种灵活的方法,欢迎在过程中甚至在最后阶段引入方向变更,并考虑干系人在整个过程中的反馈。-福布斯

敏捷与瀑布式:哪种项目管理方法最适合您?

www.forbes.com

人们在进行“敏捷”时的一个重大错误就是进行一系列独立的迭代项目,而没有形成一致的最终产品。即使我们不采用瀑布式方法,我们也必须有一个目标,确保我们专注于这个目标。必须建立标准和数据治理,以确保我们保持专注。业务方拥有他们的数据而不是技术方。他们需要在这个过程中密切参与。最后,流程需要专注于持续改进。什么有效?什么无效?为什么?然后,解决这些问题并继续交付。

工具

在早期,我们依靠工具来解决问题。正如我之前表述的那样,工具并不是解决方案。它们甚至不能解决问题的三分之一。我认为,它们在解决方案中的比重大概是50%的人、30%的流程,只有20%的工具。作为一个商业智能工具提供商,这是一个初步的展望。然而,这是真实的。

话虽如此,工具可以通过一些方法来促进整体的人员和流程组成部分。显然,它们需要具备直观性,不需要深入了解如何使用它们,而我认为很多现代商业智能工具都做到了这一点。然而,其中一方面我认为它们不够好的地方就是“即插即用”。正如我之前提到的,我们在工具中放置了过多的商业逻辑,因此从一个工具切换到另一个工具是一项重大工作。更不用说许多组织拥有3个或更多的商业智能工具,通常访问相同的数据集。我们需要做的是将商业逻辑从商业智能工具中分离出来,并将其推送到一个集中的语义层,所有商业智能工具都可以接入。

此外,我们的工具还需要与其他工具集成,而不是试图成为一个庞大的全能工具。这是“现代数据堆栈”所做的一方面,但我们需要注意不要走向另一个极端,拥有数百个工具,从而造成混乱和杂乱的架构。最终要记住的是,工具只是用来支持人员和流程的。

创建数据驱动组织的步骤

既然我们已经建立了一个框架和数据驱动组织的整体组成部分,让我们谈谈如何实现这一目标。

步骤1:取得支持

首先,您需要确定关键的利益相关者,并获得高层的支持。如果没有这一点,您可能缺乏实现自助服务框架和组成部分的“人力”。要获得广泛的支持可能非常困难,因此找出谁能成为早期的倡导者。在完成这些步骤后,您将再次从第1步开始,不断构建您的数据驱动组织,并逐步获得更多的支持。您所追求的是一个滚雪球的效应。

步骤2:小步快跑

继续使用滚雪球的比喻,我们正在堆雪人。当然,我们从小开始,逐步建立起来。我们将所构建的内容视为组件,并采用敏捷方法来满足真实的业务需求。在第一次迭代中,我们希望能够取得“快速胜利”,以便在此基础上取得更多人的支持。

步骤3:建立流程

这些敏捷的“快速胜利”有可能导致混乱的架构。这就是为什么我们立即建立标准和数据治理的原因,这些标准和数据治理提供了一个基础,并使我们专注于提供质量、准确和可靠的数据产品。像Github这样的工具对于支持我们的标准和数据治理非常有帮助。

步骤4:实现民主化

数据治理将使我们能够更安全地推出这些数据产品,增加信心,降低风险。在实现数据民主化时,我们需要:

  • 消除数据孤岛 – 这些是被一个部门(通常是技术部门)控制并与组织其他部门隔离的“黑箱”数据源。
  • 提升数据素养 – 我们不能指望业务用户立即理解IT提供的数据,尽管这是他们的数据。数据目录可以在提升数据素养方面发挥很大的作用,但这可能会很棘手。通常情况下,我们最终得到的是电子表格数据字典,这些数据字典会变得过时并积累灰尘。我们需要转向更动态和活跃的数据目录,使业务用户能够对数据目录实体采取行动,并提供有关定义等方面的反馈,以持续改进。
  • 建立信任 – 要实现数据民主化,IT部门需要相信业务部门会正确使用数据。业务部门需要相信IT会提供准确、可靠和及时的数据。在整个过程中,需要建立和维护信任。

步骤 5:合作

现在,我们已经采取了民主化数据的步骤,我们需要确保我们合作和共同努力来开发解决方案,同时提供关键的反馈意见以改进事物。重要的是要组建一个技术和业务协同的数据分析和报告团队(DART),并定期开会解决问题。

步骤 6:评估

最后,我们需要强调胜利的同时,确保我们建设性地讨论未能成功或需要改进的事项。我们需要找到一种方法来衡量成功,而不是过于教条主义或虚构关键绩效指标(KPI)。这个第一次迭代的结果让人满意吗?我们创建了一个立即有用的数据产品吗?然后,我们反复迭代和不断改进这个工作。

然后,洗涤和重复,以更多的认同重新开始第 1 步,并进行下一个结果导向的项目。

结束思考

综上所述,我们涵盖了三个关键领域,以聚焦并创建我们的数据驱动机构并实现自助服务。一个非常重要的事项是,我们并不是从零的自助服务到完全民主化的机构的转变。我们试图一点点地改变情况,不断改善以使更多组织中的人参与数据。总结一下,我们可以通过以下三种方式来专注于这一努力:

  1. 框架 —— 一个能指导我们建设数据驱动机构的需求层次结构
  2. 组成部分 —— 这个数据驱动机构的组成部分,即人员、流程和工具。
  3. 创建步骤 —— 一个六步方法,专注于这些组成部分,在框架内建立我们的数据驱动机构。

祝您在自助服务的努力中好运!

请发表评论,我很愿意听到您的想法,或者联系Andrew Taft