派生字段准则
Customer Journey Analytics 派生字段允许您在查询时转换、分类和扩充数据,而无需修改源数据集。 如果没有纪律性的应用,这种灵活性可能会带来复杂性、性能问题和维护开销。
本文提供了使用派生字段的准则(最佳实践、护栏和常见隐患)。 目标受众是数据架构师、产品管理员和分析师,他们需要:
本文围绕以下主题组织了章节:
每个部分包括:
- 要检测的模式:派生字段定义中的可观察信号。
- 风险诊断:为什么模式有问题。 可能的原因是对性能、数据质量或 维护 有负面影响。
- 建议:重构或改进实施的具体步骤。
这些准则可帮助您在Customer Journey Analytics中创建高效、可扩展且语义正确的实施。 在审核现有数据视图、设计新的派生字段或构建治理工具时,请应用这些准则。
高基数派生字段
此部分讨论引用高基数派生字段的数据视图默认区段。
模式
风险诊断:性能
- 根据接触页面URL或其他高基数维度的派生字段进行过滤的默认区段,会为针对数据视图的每个查询添加延迟。
推荐
规则链时过度复杂的大小写
本节讨论Case When规则的过于复杂的链。
Customer Journey Analytics为每个派生字段强制实施显式函数和运算符限制(例如,运算符最大数、每种类型的函数最大数)。 过于复杂的函数和函数中的链更难维护,且容易出错。
模式
风险诊断:性能、数据质量、高维护
- 可维护性和错误风险:编码为单块规则块的逻辑难以调试和更新。
- 潜在性能和限制风险:您可能会达到或接近运算符或函数限制,尤其是对于类分类模式。
推荐
使用错误
本节讨论派生字段的错误使用。 尤其是当替代方案是更好的解决方案时。
模式
风险诊断:数据质量,高维护
- 冗余复杂性:在存在更简单的内置数据视图功能的情况下,使用派生字段。
- 治理风险:其他用户可能不了解为什么存在派生字段而非本机设置。 在派生字段管理中,该模式会增加混乱。
- 降低了可重用性:将条件标志编码为派生字段使得跨项目使用不同过滤器的基本量度更难重用。
推荐
指标和维度的分类错误
此部分讨论量度和维度的分类错误。
模式
-
派生字段会清楚地生成:
- 数字输出(计数、比率或算术),但组件配置为维度。
- 分类输出(标签或字符串),但组件配置为量度。
-
派生的字段将0/1标记编码为字符串。
Customer Journey Analytics允许将数值字段强制为维度,将字符串字段强制为数据视图级别的量度,但若不一致,可能会导致报表混乱。
风险诊断:数据质量
- 语义不匹配:组件类型与派生结果的性质不匹配,这使得组件类型更难以正确分析或聚合。
推荐
-
如果输出是数字:
- 在数据视图中将组件类型设置为量度。
- 如果该组件表示一个子集量度(例如,结账页面查看次数),请在数据视图中使用过滤量度,而不是使用派生字符串加上顶部计算量度。
-
如果输出是标签:
- 将组件类型设置为 Dimension 并相应地配置持久性设置(分配模型和到期)。
营销渠道和营销活动逻辑隐患
此部分讨论营销渠道和营销活动逻辑缺陷。
模式
-
Customer Journey Analytics营销渠道通常使用派生字段实施。
- 根据URL参数、反向链接、登陆页面等实施营销渠道或营销活动分段的派生字段。
- 可疑排序:在应用更具体的规则之前,将显示一个通用的“全部捕获”规则。
- 未完成处理所有可能的选项:未设置 反向链接域的显式分支 或未设置查询参数。
风险诊断:数据质量
- 逻辑排序错误:链中后面的规则可能会覆盖特定渠道并导致分类错误的流量。
- 直接流量标签错误:不匹配的流量进入非预期渠道或标记为
Other。
推荐
- 强制实施自上而下的优先级排序。 将最强的信号放在最前(例如:用于排除付费促销活动参数的内部域)。
- 包括最终显式 否则将值设置为 大小写。 将回退设置为 没有值 以避免覆盖以前的渠道。 请勿在此捕获所有步骤中将该值设置为自定义字符串值,然后将 自定义字符串值 设置为
Direct、None或Unclassified。 - 使用模板。 尽可能利用营销渠道派生字段模板。 或者至少将逻辑与Adobe推荐的营销渠道最佳实践保持一致。
在查找中使用的非规范化字符串键
本节讨论在查找中使用非规范化字符串键值的问题。
模式
- 针对事件或配置文件字段的查找函数,用于提供查找数据集。
- 没有前面的小写、Trim或Regex Replace标准化键。
- 常见候选项:URL、促销活动ID、电子邮件、帐户ID。
风险诊断:数据质量,高维护
- 数据质量风险:当关键大小写或空格与查找表不同时,查找会失败,导致 不匹配 值,并且报表中存在间隙。
推荐
正则表达式滥用或伸手过长
此部分讨论派生字段的正则表达式功能滥用或过度覆盖问题。
模式
-
Regex Replace或基于regex的条件使用宽模式;更简单的Case When函数包含 Contains 或 Starts with 是更好的替代方案。
accordion 示例
-
多个正则表达式条件重叠或冲突。
-
大量使用正则表达式来解析URL,而不是使用URL Parse函数。
风险诊断:性能、数据质量、高维护
- 性能和可维护性风险:复杂的正则表达式模式更难调试,并且速度可能较慢。
- 正确性风险:过于宽泛的正则表达式可能会捕获意外的价值。
推荐
- 首选标准URL元素(域、路径、查询参数)的URL解析而不是正则表达式替换。
- 对于简单模式检查,使用Case When和Contains、Starts with或 Ends with 逻辑,而不是使用Regex Replace的正则表达式。
- 标记使用多个嵌套组或简单模式替代的正则表达式。 或使用派生字段字符串函数替换的正则表达式。
派生字段中的计算量度样式逻辑
本节讨论在派生字段中计算样式逻辑的用法。
模式
-
类似于计算量度的派生字段(和、减、除)中的数值字段的纯算术。
accordion 示例
。
-
不使用字符串操作或分类;逻辑是纯数字的。
风险诊断:数据质量
-
治理和设计问题:算法可能更适合:
- 派生字段量度(如果您希望派生字段作为所有用户的受管标准量度)。
- Analysis Workspace中的计算量度(如果计算量度特定于分析)。
推荐
- 如果算术结果通常在用户和项目中很有用,请将结果作为派生的字段量度保留。 确保组件类型为量度,并在数据视图级别配置格式(货币、百分比)。
- 如果结果属于小范围或特定于分析师,请将结果移至计算量度并简化数据视图。
过度使用下一个或上一个或顺序函数
本节讨论Next或Previous或顺序函数的过度使用。
模式
- 派生字段多次使用Next或Previous函数(接近记录的每个字段限制)。
- Next或Previous用于实现类似持久性的逻辑(例如:向前执行活动),而不是使用数据视图持久性。
风险诊断:数据质量,高维护
- 复杂性和脆弱性:沉重的顺序逻辑更难推理,并且如果会话规则或排序更改可能会中断。
- 具有维度持久性的冗余:维度上的数据视图持久性设置(分配模型)更好地涵盖某些用例(例如,会话上的最近联系渠道)。
推荐
- 对于与标准持久性类似的模式(例如,跨会话或人员转发值),请在数据视图中使用维度的持久性设置(分配模型和到期),而不是使用下一个或上一个模拟这些模式。
- 保留Next或Previous,用于仅保留维度持久性无法实现的高级多步骤路径或funnel标记(例如:通道序列连接)。
忽略会话和人员级别上下文
本节讨论在定义派生字段时忽略会话和人员级别上下文。
模式
-
派生字段隐式假定特定容器级别(事件、会话或人员),但:
- 派生字段不引用会话或人员级别属性。
- 数据视图会话设置与预期逻辑冲突。
风险诊断:数据质量
- 概念不匹配:派生字段语义可能与分析人员预期的聚合级别不匹配(例如:可随每个事件更改的基于角色的字段)。
推荐
达到或接近记录的函数限制
本节讨论达到或接近记录的派生字段函数限制的影响。
CustomerCustomer历程分析文档每个派生字段的最大函数和运算符数,包括每个函数类型的限制。atterns**
风险诊断:性能,高维护性
- 可扩展性风险:如果字段达到其函数限制,则未来的添加操作可能会失败或出现意外行为。
推荐
- 在使用量超过阈值时主动标记(例如:大于任何函数或运算符限制的70%)。
- 将逻辑拆分为链接在一起的多个派生字段(例如:规范化查找键的派生字段A,以及使用规范化查找键查找标签的派生字段B)。
- 在需要特别大的分类的情况下,使用外部数据准备或查找数据集。
数据视图特定的优化规则
此部分讨论派生字段的数据视图特定的优化规则。
同时检查每个派生组件的数据视图配置。
模式
- 派生维度具有默认归因(例如:最近联系且会话到期),但派生字段名称暗示不同的语义(例如:
First Campaign of Visit,Original Source)。 - 派生维度具有默认的持久性设置(例如:最近分配,有 会话 到期),但派生维度的名称暗示不同的语义(例如,
First Campaign of Visit或Original Source)。
风险诊断:数据质量
- 语义不匹配:维度的标签建议使用与实际配置不同的分配或到期行为(例如,原始分配或人员级别到期)。
- 这种不匹配增加了分析人员误解报表或比较名称相似但使用不同分配模型的组件的风险。
推荐