Chevron Left

查看所有社区故事

如何为数据科学团队使用 OKR 来改进我们的数据栈

2024年9月28日

作者

Thomas Schmidt

Agrando

photo of Thomas Schmidt

Thomas 是 Agrando 的首席数据科学家,Agrando 致力于通过数字化力量让区域农业结构适应未来。您可以在 LinkedIn 和 Twitter @somtom91 上找到 Thomas。

“你能给我 X 的数据吗?”——数据科学家可能经常收到这样的问题,我们的团队也是如此。

尽管在大多数情况下,人们索要的数据并非他们真正需要的,但这却是一个信号,表明有些事情不对劲。

我们为什么为数据分析团队引入 OKR

我们意识到,收到这些问题的原因之一是我们未能为自助服务分析奠定基础。我们必须面对现实,承认眼前存在的问题:

  • 我们在教育人们如何使用和分析数据方面做得不好;
  • 由于不同数据源之间集成不佳,非工程师或没有数据库和 SQL 知识的人无法合并数据进行分析;
  • 数据科学成为了数据驱动决策的瓶颈,并且由于我们的速度太慢,甚至阻碍了数据驱动决策;

我们需要一种更好的策略来使数据更易于访问——并且我们需要一个框架来统一团队并跟踪进度。那时我们转向了 OKR(目标与关键成果)。

什么是 OKR,为什么它对分析团队有用?

必须进行战略转变,以提高数据可访问性并实现自助服务分析,而且我们需要一个框架来正确地统一团队并能够衡量我们的进展。在此期间,我们的公司开始研究 OKR(目标与关键成果)。OKR 是一种面向团队的目标设定方法,可帮助您设定可衡量的目标。关键思想是,您需要定义 **宏大的目标**,每个目标由 **3-5 个关键成果** 来衡量,可以使用以下模板:

我将通过 [关键成果] 来实现 [目标]

我们的数据科学团队希望成为先驱,并尝试使用该框架。

我们的第一个 OKR:使公司范围内的数据可访问

  • 我们希望共同制定团队目标,以提高一致性和目标所有权;
  • 我们希望能够以透明的方式衡量我们的进展;
  • 我们的日常工作应与我们想要实现的目标紧密相关;

我们一起制定并分析了当前情况,以得出目标和关键成果。我们的目标是为未来的更大进步奠定基础,并开始设置数据仓库结构,其中包含预先连接和处理好的表,这些表易于我们的业务用户进行分析。因此,我们设定的一个示例目标是 **“公司中的每个人都可以访问数据”**。

在 Metabase 中跟踪 OKR 进度

为了保持目标可见且可操作,我们在 Metabase 中创建了一个仪表板来跟踪 OKR 进度。每周,我们在 OKR 检查中一起回顾仪表板。

这包括我们用来衡量成功的以下关键成果:

  • 所有新的 Metabase 问题都使用集中的数据仓库
  • Metabase 中的问题遵循一致的文件夹结构
  • 仓库中的每个表都有描述
  • 业务用户使用的每个列都有描述

乍一看,这些听起来像是基本得不能再基本了的关键成果。然而,它们在衡量基本可访问性方面发挥了关键作用。

我们在 Metabase 中创建了一个 仪表板 来衡量我们的进度,并在我们每周的 OKR 进度检查中查看数据。

a screenshot from Metabase where OKR are used

我们为在 Metabase 中设置 OKR 仪表板所采取的步骤

免责声明:以下步骤针对使用 BigQuery 的仓库设置以及运行 PostgreSQL 数据库的 Metabase 实例进行了定制。

  1. 将 Metabase 连接到您的 BigQuery 项目(文档
  2. 将 Metabase 连接到存储 Metabase 数据的 PostgreSQL 数据库(连接到 PostgreSQL 数据库的文档
  3. 创建您想在仪表板中看到的问题(参考下面的模板查询)
  4. 将所有新创建的问题合并到一个 仪表板 中。

查询模板

如果您想构建类似的东西,这里有一些查询模板可以帮助您入门。为了使其适用于您,您可能需要替换以下查询中的一些变量:

<YOUR_DATA_REGION>:您的数据存储区域,例如 region-europe-west1 <YOUR_GOOGLE_PROJECT_NAME>:您的 Google Cloud 项目名称

带描述的 dbt 仓库表百分比

显示使用 dbt 创建的仓库表和视图的描述进度。

我们为此使用了这个 SQL 查询:

WITH descriptions AS (
  SELECT
    table_name,
    1 AS has_description,
  FROM `<YOUR_DATA_REGION>.INFORMATION_SCHEMA.TABLE_OPTIONS`
  WHERE
    option_name = 'description'
    AND option_value <> '""'
    AND table_schema LIKE 'dbt%'
)

SELECT
  SUM(COALESCE(has_description, 0)) / COUNT(*) AS ratio
FROM `<YOUR_DATA_REGION>.INFORMATION_SCHEMA.TABLES`
LEFT JOIN descriptions USING(table_name)
WHERE
  table_catalog = '<YOUR_GOOGLE_PROJECT_NAME>'
  AND table_schema = 'dbt_marts'

带描述的仓库列百分比

显示带有描述的仓库表列的进度。

我们为此使用了这个 SQL 查询:

SELECT
  SUM(IF(description IS NOT NULL AND description != '', 1, 0)) /
    COUNT(*) AS ratio,
FROM `<YOUR_DATA_REGION>.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS`
WHERE
  table_catalog = '<YOUR_DATA_REGION>'
  AND table_schema = 'dbt_marts'

按数据源新创建的 Metabase 问题

显示每月按数据源划分的新创建问题所占的份额。不包括使用 Metabase 数据库的问题。

我们为此使用了查询生成器。

a screenshot of Metabase query interface a screenshot of Metabase query interface

最终思考:为什么 OKR 对数据分析团队有效

为我们的数据分析团队实施 OKR 帮助我们从被动支持(回答无休止的临时请求)转变为主动赋能(构建赋能他人的系统)。我们朝着成为推动战略而非仅报告战略的团队迈出了更坚实的一步。

如果您的团队因一次性数据请求而不堪重负,或者在团队目标一致性方面遇到困难,那么设定 OKR 可能是您工作取得清晰度、所有权和动力的改变。

作者

Thomas Schmidt

Agrando

photo of Thomas Schmidt

Thomas 是 Agrando 的首席数据科学家,Agrando 致力于通过数字化力量让区域农业结构适应未来。您可以在 LinkedIn 和 Twitter @somtom91 上找到 Thomas。

您可能也喜欢

预测下一次点击

Ukrit Wattanavaekin

Metabase

为什么你应该投资数据目录

Ali Baghshomali

Mentat Analytics

何时应该投资客户数据平台 (CDP) 工具?

Ali Baghshomali

Mentat Analytics

撰写社区故事的技巧

Metabot

Metabase

您可能也喜欢

预测下一次点击

Ukrit Wattanavaekin

Metabase

为什么你应该投资数据目录

Ali Baghshomali

Mentat Analytics

何时应该投资客户数据平台 (CDP) 工具?

Ali Baghshomali

Mentat Analytics

撰写社区故事的技巧

Metabot

Metabase

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