保持分析井井有条
随着用户、问题和仪表盘数量不可避免地增加,如何保持分析井井有条。
如果您想保持竞争力,就需要让组织中的人员能够访问他们做出更好决策所需的数据。然而,这种数据民主化的代价是不可避免的分析洪流——这可能会使您难以知道哪些分析是可信的。
重要的是要理解,这个问题没有治愈方法。总会有一定程度的分析熵需要驯服,但通过正确的工具和流程,您将能够控制不可避免的混乱。
数据分析民主化的问题
这些问题的核心集中在定义上:我们究竟如何定义收入、生命周期价值、客户流失率等业务逻辑?我们所说的“定义”通常是指对您的组织重要的任何可量化的概念。不仅是 X 是什么,而是我们如何计算 X?这些是您衡量组织的术语,您定义得越具体(和一致),就越好。
以下是我们需要防范的一些定义问题
人们在哪里找到具体的定义?
一旦您开始对数据进行切片,从不同的角度审视您的组织,定义就会激增:收入、客户流失率、预期生命周期价值等等。如果我们想了解客户流失的原因,我们应该参考哪些定义?我们需要定义哪些新定义?而且(实际上)我在 Metabase 中的哪里可以找到这些官方定义?
冲突的定义
我们所说的冲突是指:我们甚至在谈论同一件事吗?例如,考虑收入。对于销售团队来说,收入可能意味着预订量,但会计人员指的是已确认的收入应计,而营销团队谈论的是生命周期收入。
重新定义,或者哪个是规范定义?
如果我们为同一个概念找到多个定义怎么办?我们如何知道信任哪个?它们都偏离目标了吗?即使多个小组都同意我们应该跟踪每周预订量,但这些预订量的汇总方式可能因查询而异:一个查询可能是准确的,另一个查询可能是不准确且未经审查的,由一位分析师创建,他没有意识到计算预订量的官方查询已经存在;或者忘记省略测试数据,或者未能考虑折扣,或者只是创建了一个新查询以不同的方式切片预订量。
不断变化的定义
随着一些收入来源逐渐减少,其他收入来源增加,每月收入的计算可能会发生变化。如果我们有不同的部门在多个问题、模型和仪表盘中使用相同的定义,我们应该如何管理定义的更改?
驯服混乱的策略
在确定了我们的问题之后,让我们讨论一下如何缓解这些问题。我们将把此讨论分为两类:Metabase 提供的功能,以及我们建议您采用的组织流程。
功能
以下是一些 Metabase 附带的工具,可帮助您保持井井有条。您可能已经了解问题、仪表盘和集合,但在此处逐项列出它们以全面了解工具包是值得的。
模型
模型允许您将那些常用的概念编纂为新问题的起点,这些问题可以一次又一次地轻松引用。通过查询构建器和 SQL 问题构建的问题可以转换为模型,并且它们会在搜索结果中显示得更高,以鼓励在您的组织中广泛使用。您也可以自定义模型元数据,允许您指定列类型,以便您可以即使在 SQL 问题上也可以下钻。
例如,您可以编写一个问题,将关于“活跃用户”的信息(无论您如何将一个人定义为“活跃”)汇总并计算出来,然后将该问题转换为模型,以便人们在对活跃用户有疑问时知道去哪里。
数据参考和描述
Metabase 为您提供了一些位置,用于包含有助于情境化特定项目的有用文本,无论该项目是数据库、表格、模型、问题、仪表盘还是任何其他内容。您不必描述所有内容,但您包含的描述越多,人们花在弄清楚“这是正确的数据吗?”上的时间就越少,他们的分析就会越好。记录数据的例外情况尤为重要(例如,表格是否包含测试数据或员工帐户或分析师应注意的其他例外情况)。
对于“官方”数据库、仪表盘、模型和问题,您应该要求所有者维护其文档。并且不要对您的标题偷懒;您可以使用一些额外的词语做很多事情。将“客户订单”与类似“官方:北美地区 7 天滚动平均每日订单量”的内容进行比较。
有关 Metabase 中参考工具的更多信息,请查看使用 Metabase 数据浏览器浏览数据。
事件和时间线
事件允许团队捕获上下文,并在人们查看其数据时提供该上下文。因此,例如,您可以添加一个事件来标记销售开始、电子邮件营销活动或新版本发布。这样,人们就可以看到这些事件对数据的影响(如果有的话)。您还可以避免所有关于为什么数字在四月或其他月份上升或下降的问题。
您可以将这些事件组织到时间线中,时间线与集合相关联,因此团队可以将事件分组到连贯的时间线中。不同的时间线可以对影响您业务的不同事件集进行分组:月球周期、气象现象、神秘仪式等等。
分段和指标
管理员可以定义官方筛选器(或筛选器集),称为分段,可以在 Metabase 的查询构建器中使用。例如,您可以通过分段正式定义“活跃用户”的含义。“活跃用户”随后将出现在筛选器侧边栏中,因此任何人都可以按活跃用户筛选其查询,以查看这些特定用户购买哪种类型的产品、商品在购物车中停留多长时间等等。
同样,指标编纂了计算方法。例如,管理员可以为“平均订单总额”设置官方指标,以便每个人都知道(并且可以使用)该指标的官方计算方法,其中包括税费,但不包括应用的折扣。
分段和指标都是版本化的。要了解更多信息,请查看分段和指标。
SQL 代码片段
SQL 代码片段是基于 GUI 的分段和指标的 SQL 对应物。您可以使用它们来捕获和复制小段 SQL 代码。这些代码片段可以捕获分段、指标、复杂的连接或您可能希望在许多查询中重用的任何其他 SQL 位。
分段、指标和代码片段的想法是编纂定义,并使它们易于随着时间的推移改进定义而更改。当您更新代码片段时,每个使用该代码片段的问题都以一致的方式从更新后的定义中受益。要了解更多信息,请查看SQL 代码片段:重用和共享 SQL 代码。
集合
集合将问题、模型和仪表盘(以及其他集合)分组。此外,您可以将最重要的项目固定到集合的顶部,尤其是根集合“我们的分析”,以便这些固定的仪表盘显示在主页上。要了解更多信息,请查看使用集合权限。
官方集合
官方集合功能允许您将特定集合指定为重要集合。当管理员将集合标记为官方集合时,它会获得一个徽章,并将显示在搜索结果的顶部附近,使用户可以轻松找到它。
已验证项目
管理员可以验证问题和模型,以表明他们已经查看并批准了这些问题和模型。这些已验证的项目通过其名称旁边的复选标记来标识,因此用户可以轻松识别其管理员认为值得信赖的问题。
如果您想了解有关验证功能的更多信息,请查看我们关于建立信任的帖子。
流程
了解工具的功能只是一半,另一半是了解何时以及如何使用它们。
为每个部门创建集合
为每个部门创建一个集合,并使其只能由一小群人编辑。该小组应管理该集合,并且仅固定他们审查过的、用有用的描述装饰过的且积极维护的问题、模型和仪表盘。
SQL 代码片段文件夹
SQL 代码片段文件夹允许您按部门组织文件夹,为这些文件夹分配所有者,并利用文件夹权限。
采用命名约定
在仪表板、集合、模型和问题中设置标准命名约定,以便清楚地识别哪些项目是官方的。如何定义该约定不如拥有一个约定本身重要。如有疑问:即使是像“已认证”或“官方”这样的简单前缀(例如,“官方:每 1000 名用户的电子邮件打开次数”)也可以帮助人们筛选搜索结果,并了解哪些项目经过审查。
指定用于实验和在建项目的集合
为人们创建指定的场所来存储在建项目(有时称为草稿或playground集合)。人们可以并且应该使用个人集合进行实验,但拥有公共场所也很重要,人们可以在这些场所与他人分享他们的工作,以获得对其正在进行的分析的反馈。
任何人都可以复制官方问题和仪表板,但您应鼓励人们将这些项目保存到他们的个人集合,或指定用于实验的集合。如果这些区域中的某个仪表板取得成功,您可以将其重新定位到相关的“官方”集合。您可以对这些官方集合设置权限,以便所有人都可以查看它们,但只有少数人可以编辑它们 - 确保该集合中的所有内容都是正确且积极维护的。
制定关于何时存档项目的政策
对于这些短暂的项目,请明确人们应何时存档它们的期望,以使这些playground不会堆满杂物。如果您正在管理您部门的集合,并且只固定经过审查的项目,杂乱就变得不再是一个问题,但是保持草稿集合相对新鲜将改善搜索结果。
并且不要担心存档,因为您可以随时恢复项目。
还有其他控制混乱的想法吗?
如果您有任何技巧要分享,或者对 Metabase 的更改或改进的想法,请在我们的论坛上告诉我们。
下一步:多环境
启动开发、暂存或测试环境的选项。