Chevron Left

查看所有社区故事

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

2022年8月11日

作者

奥尔加·塔塔里诺娃

Epoch8.co

photo of Olga Tatarinova

Olga是Epoch8.co的联合创始人,这是一家提供分析和机器学习项目的机构。她热衷于自助分析的实现。您可以在LinkedIn上联系她。

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

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

假设我们有一个从Google Analytics获取的典型数据集。我们有关于用户及其事件的信息。通常,我们会为此类数据设置两个表:用户表和事件表。

用户数据集示例:Metabase的屏幕截图

事件数据集示例:Metabase的屏幕截图

为了满足自助服务的需求,我们通常通过主外键将EVENTS表和USER表链接起来,并从EVENTS表中获取一些可用的USER属性。

a screenshot from Metabase

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

你可以在自助服务中完成它,”我们说。“只需进入EVENTS表,然后按天统计独立用户数。

a screenshot from Metabase

但是,”业务用户说,“如果我想绘制每日活跃用户(Daily Active USERS),为什么我要去EVENTS表?我真不明白!

这正是公司自助分析发展的一个真正障碍——对工程师来说显而易见的事情,对核心业务用户来说却未必如此。

所以我们决定寻找一种比传统实体-关系模型更适合自助服务需求的数据模型。

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

极简建模的一个要求是,链接表必须与锚点表分开。

所以,重新建模我们的数据集后,我们得到

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

  • 以及一个单独的链接表Metabase的屏幕截图

这个链接表包含两个ID:user_idevent_id,以及事件发生的时间戳。Metabase的屏幕截图

诀窍就在这里:**如果我们把这个链接表作为自助分析的主表,我们可以把用户表和事件表都链接到它。**

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

a screenshot from Metabase

因此,如果业务用户需要绘制每日活跃用户指标,他就不必猜测是应该去用户表还是事件表。他直接进入链接表,作为入口点。

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

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

作者

奥尔加·塔塔里诺娃

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

© . This site is unofficial and not affiliated with Metabase, Inc.