提供面向客户分析的策略

比较不同数据共享方法的开发工作量、可定制性和安全性。

目标:提供自助服务分析

首先,让我们明确一个目标:为客户提供自助服务分析。所谓分析,我们指的是为您的客户提供正确的工具(例如图表和仪表板)和材料(相关数据),以帮助他们理解自己的数据并做出更好的决策;所谓自助服务,我们指的是让您的客户能够分析自己的数据——超越预建的图表和仪表板。

背景介绍:许多公司向Metabase咨询,表示希望在他们的应用程序中嵌入分析功能,并询问Metabase是否能做到。答案是肯定的!嵌入是实现面向客户分析最受欢迎的方式之一。但是,它并非为人们提供进行分析所需工具和材料的唯一(或最佳)方式。

如果您想构建面向客户的报告或数据可视化(而不提供让人们自行处理数据的选项),请查阅将数据可视化发布到网络

An example dashboard using the Sample Database included with Metabase.

高质量外部分析的标准

您实现面向客户的自助服务分析的方式将取决于客户的需求和您的开发资源,但从根本上讲,您会希望推出一个具备以下特点的解决方案:

  • 让客户能够分析自己的数据。
  • 将他们的分析限制在仅授权可见的数据范围内。
  • 提供卓越的用户体验。

我们将介绍一系列实施策略,从投入低但回报丰厚的方案,到投入高但可定制性极强的方案。

通常,我们建议采用最简单的选项来满足客户的分析需求。一旦您从客户那里获得了一些采纳和反馈,您就可以逐步提升投入水平,以改善用户体验。

使用Metabase提供面向客户分析的策略

以下策略按投入从低(1)到高(5)排序

  1. 从您的应用程序链接独立Metabase (从此开始)
  2. 在iframe中嵌入整个Metabase
  3. 使用Metabase React组件定制您的分析
  4. 分叉Metabase源代码
  5. 自建分析平台

1. 从您的应用程序链接独立Metabase

Metabase sidecar: instead of embedding Metabase in your app, you coordinate users between your app and your Metabase instance, and send users to your Metabase instance to view their dashboards, charts, and more.

在此策略中,Metabase与您的应用程序并行运行;您无需将其嵌入到应用程序中。您可以通过单点登录(SSO)设置Metabase,让客户直接访问您的Metabase,使用数据沙盒为每个人定制数据访问权限,并进行白标化(品牌化),使Metabase与您的其他产品保持一致。然后,您只需在应用程序中添加指向独立Metabase的链接即可。

以下是该过程的预期:您将启动一个Metabase实例,添加您的徽标和品牌颜色,并连接您的数据库。然后,您将对数据进行沙盒化,确保客户只能看到他们被授权查看的数据,并通过SSO对人员进行身份验证,以便您的应用程序和Metabase能够协调权限。

设置好您品牌化的独立Metabase后,您只需在您的应用程序中放置指向Metabase的链接,您的客户就能拥有精美、符合品牌调性的仪表板和图表,他们可以使用Metabase易于使用的查询构建器和钻取功能自行探索。您还可以设置自定义目的地,将用户引导至其他仪表板、问题,甚至自定义URL。您的客户开箱即用就能获得出色的用户体验,并且可以在您为他们设置的任何现有仪表板之上进行自己的分析——无需嵌入。

The query builder in Metabase that your customers can use to ask questions of their data. The query above filters the Orders table by the Widget category, counts the rows, and groups those counts by month.

这种方法的优势在于设置和部署速度快,而且(也许更重要的是)您无需预测客户会对其数据提出何种问题。Metabase配备了一个图形化查询构建器工具,可以帮助人们自行查找、筛选和聚合数据。您仍然可以创建现成仪表板作为起点,或者对数据进行编辑性解读,但关键是您*不必*这样做。

此外,选择将Metabase应用程序作为您应用程序的“边车”来部署,可以降低项目风险。如果您发现Metabase不适合您的需求,您也不会浪费任何时间去研究如何将其集成到您的应用程序中。

优点

  • 设置快速。
  • 为您的用户提供真正强大的分析基元。

权衡

  • 您的客户需要离开您的应用程序才能查看图表和仪表板。
  • 可定制性有限:您只能使用Metabase的用户界面和功能。

2. 在iframe中嵌入整个Metabase

Embed the full Metabase application in your app to integrate charts, dashboards, collections, query-builders, and more.

交互式嵌入是我们客户中最受欢迎的策略。这种嵌入方式将整个Metabase应用程序通过iframe放置在您的应用程序内部,让人们可以访问分析功能,例如用于钻取的操作菜单和用于自助服务数据访问的查询构建器。

您在交互式嵌入中投入的精力可能会有很大差异,具体取决于您希望构建的体验广度。您可以为客户指定一组屏幕供其导航,并且可以关联这些屏幕或仪表板。如果您的屏幕集合规模小且简单,那么工作量可能不会比边车实现多多少。但由于您可以控制自己的应用程序,因此您可以(通过更多努力)为客户创造一个可能更丰富的体验。

优点

  • 您的客户可以探索自己的数据。
  • 您可以通过在任何Metabase屏幕、图表或仪表板之间设置特定的导航路径来定制用户体验。

权衡

  • 工作量更大:您需要设计容纳嵌入式Metabase屏幕的页面。
  • 您只能嵌入完整的应用程序,无法选择包含或排除特定功能(例如,您无法禁用查询构建器)。
  • Metabase提供固定数量的外观设置,因此您的应用程序设计与嵌入式Metabase组件之间可能存在一些美学差异。

3. 使用Metabase React组件定制您的分析

Embed Metabase React components

借助嵌入式分析SDK,您可以使用React嵌入独立的Metabase组件(如独立图表、仪表板、查询构建器等)。您可以按组件管理访问和交互性,并进行高级定制以实现无缝样式。

A screenshot of Metabase SDK demo that shows metabase components

这里所需的工作量与交互式嵌入类似;您可以投入更多精力来定制更多体验,但并非必需。一旦您在应用程序中设置好组件,它就应该“即插即用”。

A screenshot of Metabase SDK demo that shows a Metabase dashboard built into the app

优点

  • 您可以选择要嵌入的组件。
  • 您可以完全控制面向客户的分析的外观。

权衡

  • 目前仅适用于React应用程序!
  • 如果您确实想定制分析功能,可能需要更多的Web开发工作。

4. 分叉Metabase源代码

Metabase专业版和企业版是源代码可用的,因此您可以审查代码或分叉它并随心所欲地使用。图表设计?网格系统与您的网格冲突?您将可以访问CSS、图形原语——完整的源代码。

如果您真的想微调嵌入式Metabase应用程序的设计以创建无缝体验,您可以选择这条路径。即使您从不走这条路,知道您有这样的选择,可以在遇到现有Metabase无法解决的分析挑战时更改设计或添加功能,也是一件好事。

优点

  • 对用户体验的精细控制,实现与您的应用程序的无缝集成。
  • 能够为仪表板、图表等添加功能。
  • 完全控制Metabase及其图表的设计。

权衡

  • 您必须维护一个分叉;随着新的Metabase版本发布,您将需要将这些更改集成到您的分叉中。
  • 这需要大量工作。比自建分析平台的工作量要少*得多*,但明显多于交互式嵌入或SDK。

5. 自建分析平台

许多公司承担了自建分析软件的工作,原因往往不明确。这些公司花费大量时间和金钱(数百万至数千万美元)来构建比Metabase开箱即用工具更差的工具,而他们本可以将这些资源投入到核心业务和开发中。

话虽如此,自建分析平台也有其合理原因。在这种情况下,您可能已经有一个第三方分析解决方案,但它未能满足您的需求。您确切知道需要构建什么(以及为什么要构建),并且拥有足够的工程资源来投入该项目。例如,您可能有一个权限问题需要解决,而Metabase(或其他产品)无法处理,这不仅仅是添加功能和提交拉取请求那么简单。请务必确保您打算通过编写自己的平台来解决的问题是任务关键型的,并且现有产品缺乏处理这些问题的特性。

优点

  • 完全控制体验,无需维护分叉。
  • 处理其他解决方案(如Metabase)无法解决的用例。

权衡

  • 最昂贵的选项,投资回报不明确。

哪个选项适合您的组织?

大多数公司选择交互式嵌入(将整个Metabase嵌入到iframe中),因为他们希望通过额外的可定制性为客户提供一套更精选的屏幕。但交互式嵌入并非使用Metabase提供分析的唯一选择。它可能不是最好的起点,特别是如果您是一家试图充分利用有限资源的初创公司。在这种情况下,考虑使用独立的Metabase——这是向客户提供价值的最快方式。您可以随时在迭代过程中过渡到嵌入式解决方案,但在此期间,您已经可以为客户提供他们可以处理的数据,并且您将更好地了解他们所需的分析。

对于大型公司而言,分叉源代码可能是有意义的。这虽然是一项更大的投资,但您将能够提供比从头构建分析平台更具成本效益的解决方案。

当然,如果您不想维护分叉,Metabase接受拉取请求!利用Metabase的内置功能集,为完善您的分析产品提交一个PR,您将以自建平台所需成本的一小部分获得所需的定制解决方案,同时为所有人改进Metabase。

进一步阅读

下一步:将数据可视化发布到网络

与互联网上的所有用户共享独立的图表和仪表板。

下一篇文章
© . All rights reserved.