Chevron Left

查看所有社区故事

极简建模如何改进自助式分析

2022 年 8 月 11 日

贡献者

Olga Tatarinova

Epoch8.co

photo of Olga Tatarinova

Olga 是 Epoch8.co 的联合创始人,这是一家专注于分析和机器学习项目的机构。她热衷于自助式分析的实施。您可以通过以下方式联系她:LinkedIn

作为一家分析机构,我们乐于为客户提供自助式分析工具。让业务用户不仅可以探索我们准备好的仪表板,还可以探索整个数据集,这个想法非常强大。但是,业务用户在开始使用自助式分析时经常会遇到困难。

在本文中,我们将阐述自助式服务中常见的实体-关系数据模型的典型问题,并讨论如何通过使用不同的数据建模技术来改善自助式体验。

假设我们有一个从 Google Analytics 获取的典型数据集。我们有关于用户及其事件的信息。通常,我们会为这类数据准备两张表:用户表(Users)和事件表(Events)。

用户数据集示例:Metabase 截图

事件数据集示例:Metabase 截图

为了满足自助式服务需求,我们通常通过主外键连接事件表(EVENTS)和用户表(USER),并从事件表(EVENTS)中获取一些用户属性。

a screenshot from Metabase

这种方法看起来很合理,至少直到有一天,我们的一位客户要求为某个管理会议绘制 DAU(日活跃用户)图表。

“您可以自助完成,”我们说,“只需前往事件表(EVENTS),按天统计独立用户数量即可。”

a screenshot from Metabase

“但是,”业务用户说,“如果我想绘制日活跃用户图表,为什么我要去事件表(EVENTS)呢?我实在不明白!”

这就是公司自助式分析发展中的真正障碍——对工程师来说显而易见的事情,对核心业务用户来说却不一定显而易见。

因此,我们决定寻找一种比传统实体-关系模型更适合自助式需求的数据模型。

在探索了一些数据建模技术后,我们偶然发现了 极简建模方法,它将数据库分解为锚点(领域的主要名词)、锚点之间的链接和属性。

极简建模的要求之一是将链接表与锚点表分开。

因此,在重新建模我们的数据集后,我们得到

  • 锚点表(用户和事件)Metabase 截图 Metabase 截图

  • 以及一个独立的链接表 Metabase 截图

这个链接表包含两个 ID:user_idevent_id 和事件发生的时间戳。 Metabase 截图

诀窍在这里:如果我们将此链接表用作自助式分析的主表,我们可以将用户表(USER)和事件表(EVENTS)都链接到它。

因此,用户表(USER)和事件表(EVENTS)将在“汇总”侧边栏中共享相同的级别。

a screenshot from Metabase

因此,如果业务用户需要绘制日活跃用户指标,他无需猜测应该去哪里:用户表(USERS)还是事件表(EVENTS)。他可以直接进入链接表作为入口点。

使用链接表构建的日活跃用户:Metabase 截图

用户(USERS)和事件(EVENTS)的指标都可以仅使用一个链接表来定义。拥有一个宽链接表的这个想法可以扩展:如果我们在领域中有订单(ORDERS)、交易(TRANSACTIONS)和其他锚点,它们也可以在单个链接表中链接在一起,从而成为自助式需求的单一入口点。

贡献者

Olga Tatarinova

Epoch8.co

photo of Olga Tatarinova

Olga 是 Epoch8.co 的联合创始人,这是一家专注于分析和机器学习项目的机构。她热衷于自助式分析的实施。您可以通过以下方式联系她:LinkedIn

您可能还会喜欢

预测下一次点击

Ukrit Wattanavaekin

Metabase

利用数据提供可靠的指标

Frédéric Vion

Subclic

您可能还会喜欢

预测下一次点击

Ukrit Wattanavaekin

Metabase

利用数据提供可靠的指标

Frédéric Vion

Subclic

© . All rights reserved.