如何基于用户期望构建可解释的数据质量框架
作为数据工程师,我们对提供的数据质量负有责任(或应该负有责任)。这并不是什么新鲜事,但每次加入一个数据项目,我都会问自己同样的问题:
- 我应该什么时候开始关注数据质量?
- 我应该对数据质量有多大的担忧?
- 我应该关注数据质量的哪些方面?
- 我应该从哪里开始?
- 我的数据什么时候达到了可使用的标准?
- 我如何向利益相关者突出我的数据质量?
完美是不存在的,而且你不希望因为展示数据能为业务带来的全部价值而失去动力。你需要在质量和时间投入之间找到平衡。回答这些问题对于找到平衡至关重要。
本文的目标是分享一种逐步指南,以获取构建有效数据质量策略所需的所有答案,以满足业务需求。这个过程涉及与利益相关者、产品所有者、开发人员的合作,并与潜在用户共享数据质量指标。
此外,我还将展示为一个提供营销活动报告工具的数据产品开发的实际文档,展示策略如何最终转化为业务价值。
最后,我将介绍数据网格实现中的数据产品如何帮助我们在访问数据之前与用户共享数据的质量水平。
让我们从第一个问题开始
我应该什么时候开始关注数据质量?
我想我们都有一个内心声音对第一个问题有答案:从一开始就应该关注。从一开始就工作和了解数据质量的期望是确保信任和早期用户采纳的关键。这有助于我们在开发过程中接收早期反馈,帮助我们进行改进。作为数据生产者,我们不希望最初的质量问题损害我们数据的可信度。
我们应该对数据质量有多大的担忧?
这个问题是因情况而异的。为了回答这个问题,你的团队必须了解我们的数据解决的需求的性质。起点是了解我们的数据将如何使用。
我们可以与利益相关者和业务所有者进行会议,以了解他们打算如何使用数据。通过这种合作,我们将确立与实际用户需求和期望相一致的数据质量标准。
这将是我们实际示例的文档,用于营销活动报告工具的数据整合
从这个例子中我们得到了:
- 有多少人经常访问我们的数据,以及他们将如何访问,这样我们就了解了需要提供的性能类型
- 我们的数据需要多完整和准确,这样我们就了解了需要向数据流程添加什么类型的控制。确保高水平的准确性和完整性涉及唯一性、完整性和不一致性管理的检查。
- 我们的数据需要多新鲜,这样我们就了解了我们需要多久运行一次转换来刷新数据
- 我们的数据需要在什么时候可访问,这样我们就了解了需要提供的可用性
服务水平目标
这个实践的最终结果是为我们的服务水平目标制定基准。在数据质量中,服务水平目标(SLO)是一个具体和可衡量的目标,用于定义特定数据服务或过程的预期数据质量水平。SLO设置可量化的指标和阈值,以确保数据符合预定义的质量标准,并与用户和利益相关者的需求和期望保持一致。
在我们的场景中,我们可以定义其中一个SLO是我们的数据应该每6小时重新计算一次。如果数据超过这个阈值,它就无法满足这个特定的SLO。
我应该关注数据质量的哪些方面?
现在,我们在团队中的一个位置上,可以将抽象级别降低到数据质量维度。数据质量维度代表了数据质量的特定方面,具有一些特定的特征。每个数据质量维度都专注于数据的特定方面,并有助于识别可能需要改进的领域。
其中一些维度包括:
- 准确性:数据值反映现实程度和无错误程度。
- 完整性:所有所需的数据元素是否都存在且没有缺失值。
- 一致性:数据在不同来源之间或同一数据集内的和谐程度和一致程度。
- 及时性:数据更新的程度。
- 唯一性:每个记录在数据集中是独特且不重复的程度。
通过理解我们的数据和SLO的使用模式,我们确定了应该努力改进的维度,并将它们与它们在我们的场景中带来的实际价值相联系。这有助于我们确定我们需要努力改进的数据质量的最相关方面,并开始思考具体的行动。
根据我们的示例,我们将在使用模式会话中确定的数据质量维度与直接提供的业务价值相关联。
我应该从哪里开始?
一旦确定了数据质量维度以及它们所提供的相应业务价值,我们将在团队内部进行协作会议,为实现每个维度的目标制定具体、可衡量和可实现的目标。这些目标将成为定义可行动的任务的基础,例如在转换阶段添加数据质量测试、进行差距分析或纳入强大的数据清理流程。通过将我们的数据质量工作与这些明确定义的目标保持一致,我们确保我们的行动直接解决业务需求,并增强整体数据质量。
在过程中发现的所有行动都将被添加到我们的待办清单中,并由团队优先考虑。最终的结果是一个根据业务需求量身定制的数据质量框架,可以帮助我们追踪进展。
对于利益相关者来说,拥有可见且易于理解的数据质量框架具有一些好处:
- 它对于组织内部如何管理、监控和改进数据质量提供了清晰性。
- 促进了数据管理实践中的信任和透明度。
- 降低了对数据质量标准的误解的可能性。
- 展示了团队和组织对数据质量及其在推动业务成功中的重要性的承诺。
什么时候我的数据足够好可以使用?
你的框架将回答这个问题。一旦你实现了准备数据以满足业务期望的所有目标,你就可以有足够的信心将其提供给用户,并寻求他们的反馈以进一步改进。
请记住,你的工作的输入是在使用模式会话中确定的服务水平目标。只要你的数据与这些目标保持一致,就没有理由担心它不符合要求。
数据发布后该做什么?
监控
您在数据质量战略中定义的所有操作和目标都需要进行积极的监控。利用能够建立警报并通过各种渠道进行通信的监控工具对早期检测至关重要。
此外,记录您的事件并根据受影响的维度对其进行分类是至关重要的。这种做法可以让您将注意力集中在特定领域,并识别出战略中的潜在差距。更好的是,如果您保持一份事件报告,它还可以让您反思您在特定领域的工作如何随时间减少事件数量。
定期修订框架
您的团队必须定期审查事件日志,并相应地更新您的数据质量框架,以填补已识别的差距。这确保了您的操作和目标反映了现实并且是最新的。
服务水平指标和透明度
衡量您的服务水平目标的达成非常重要。对于每个服务水平目标(SLO),您应该有一个服务水平指标(SLI),显示SLO的达成情况。例如,在我们的例子中,您可以有一个SLI,显示最近X天在生产环境中没有超过6小时的老数据的成功率(及时性维度)。这有助于用户了解数据的行为方式,并对其质量建立信任。
透明度在实践中是增加用户采用度的关键,而服务水平指标负责提供这种透明度。
共享我们的数据质量指标
为了共享我们的数据质量指标(SLIs),我非常喜欢在数据网格实施中拥抱数据产品概念。
我们的数据质量战略具有以下特点:
- 它是领域特定的,因为目标来自业务需求
- 透明,因为我们可以共享并且希望与用户共享
- 可见,因为我们的数据质量框架易于解释
这与数据网格为数据产品所给出的定义完全一致。我完全推荐使用数据网格方法将数据及其质量指标封装到数据产品中,以增强透明度。
为什么使用数据产品来共享我们的数据质量指标
按照定义,数据网格中的数据产品是一种独立的、领域特定的数据能力单元。它们封装了数据、处理逻辑和数据质量检查,促进了分散的数据所有权和无缝集成到更广泛的数据生态系统中。它们旨在为特定领域的特定业务需求提供服务。它们易于找到和透明。作为我们数据质量框架的组成部分,数据产品确保我们的战略与每个领域的独特要求完全一致,为领域特定的数据质量提供可见性和透明度。
数据产品在数据质量环境中的一个关键优势是它们能够保持自己的SLIs。通过直接将数据质量指标整合到数据产品中,并通过用户友好的目录使其可见,我们使用户能够在完全了解其质量的情况下搜索、请求访问和探索数据。这种透明度和可见性增强了用户的信心,并鼓励更广泛的采用。
结论
通过这个逐步指南,我们学会了如何设定可衡量的服务水平目标,涵盖业务需求,识别数据质量维度,并将我们的操作与目标对齐,以满足SLO定义的期望。通过拥抱数据产品提供的透明度和可见性,我们可以有效地共享我们的数据质量指标,建立信任并增加用户采用度。请记住,完美不存在。持续监控、事件记录和定期修订帮助我们保持数据质量框架的最新状态。
按照以下步骤,您将能够创建一个强大的数据质量框架,并构建一组作为可共享知识库的工件,以供利益相关者和团队成员轻松理解。更好的是,您的数据质量框架在努力需求方面保持了完美的平衡,这将使您的团队能够在准备好以满足业务需求时立即发布数据。
祝您的数据工程顺利!
参考资料
https://www.thoughtworks.com/en-es/insights/blog/digital-transformation/how-to-brew-a-perfect-strategy-responsibly-part-one
https://towardsdatascience.com/how-to-create-a-data-quality-framework-6887dea268ae