本页内容

流程挖掘的数据清洗与准备

Process Intelligence Process Intelligence 流程智能席位或更高等级可用。只有此方案或更高等级的席位可以使用此功能。 比较方案 Process Intelligence席位或更高席位等级可用

高效的流程挖掘始于高质量数据,而大多数准备工作都集中在几类常见问题上:从未记录的事件、不同系统之间无法对应的标识符、不一致的格式,以及过大或过于敏感而无法随意处理的数据提取文件。本页将逐一介绍这些问题及其解决步骤。如需在ProcessMind中完成相同工作,请参阅配置您的数据集数据质量

为什么数据清洗与准备很重要?

流程挖掘依赖事件日志,即包含业务流程中活动详细顺序的数据集。如果数据集不完整、不一致或包含错误,您获得的洞察就不可靠。经过清洗并正确组织的数据可确保工具能够映射工作流、发现瓶颈并突出需要改进的区域。

数据清洗与准备的关键步骤

1. 收集所有相关系统的数据

数据通常来自多个系统:用于记录订单和发票的ERP、记录客户步骤的CRM,以及记录工单的服务台。开始清洗前,请先从所有系统收集数据,因为遗漏系统中的步骤之后无法恢复。

  • 整合数据源:列出记录流程各部分的系统,并分别提取数据。例如,订单到收款流程可能横跨销售系统(例如Salesforce)和财务系统(例如SAP)。
  • 打破数据孤岛:与流程负责人确认哪些系统应纳入,以及谁可以从这些系统导出数据。数据缺失通常源于未报告的系统,而不是查询出错。集成工具(例如Apache NiFi、Talend、Informatica或Power BI)可以将多个来源合并为一个文件。
  • 规划无法提取的数据:如果某个步骤在线下系统之外发生(例如电话审批、纸质签字),至少应将其结果记录在数字系统中,或对该步骤建模,以保持流程视图完整。数据来源介绍了如何逐个系统获取数据。

2. 删除重复记录

重复记录会增加活动数量,使一次事件看起来像多次事件,从而扭曲分析结果。可通过相同的案例ID、活动和时间戳识别重复记录,然后删除或合并为一行。

3. 处理缺失数据

缺失的时间戳、活动或案例ID会破坏事件顺序,并生成不完整的流程模型。

  • 识别缺失值:查找空白时间戳、空活动名称和为空的案例ID。
  • 填补缺口:在可行时使用其他来源或领域知识。如果缺少一个时间戳,可根据前后事件的时间缩小范围。
  • 建模而非臆造:对于完全未记录的步骤,应通过流程建模添加,而不是编造时间戳,使挖掘出的流程与记录的流程相互衔接。
  • 填补或删除:对于关键缺口,可使用填补技术(例如均值替换或回归模型);如果案例无法恢复,则将其删除并记录原因。

4. 统一格式、ID和名称

  • 时间戳:统一使用一种格式(例如YYYY-MM-DD HH:MM:SS)。如果提取数据混用了多个时区,请全部转换为UTC。查看支持的日期格式列表
  • 案例ID:同一流程在不同系统中通常使用不同标识符,例如CRM中的订单号和财务系统中的发票号。请在提取数据中或通过查找表建立映射,使每个事件归属于同一案例,并为每个流程实例分配唯一ID。在ProcessMind中,请确认合并的每个数据集都以相同方式映射案例ID列;请参阅数据集属性
  • 活动名称:不同系统可能以不同名称标记同一步骤。请为每个步骤确定一种名称(“批准订单”和“订单审批”表示同一活动)。
  • 值和类型:将数字保留为数字(成本、时长、金额),并为每列统一使用一种单位。

5. 删除无关事件

并非所有记录的事件都属于您正在分析的流程;系统登录、技术重试和管理任务会增加流程图的杂乱程度,却不会带来有用洞察。

  • 筛除无关内容:利用领域知识判断哪些事件描述该流程,并排除其余事件。
  • 选择合适的粒度:过于粗略的事件(“处理订单”)会隐藏您要查找的差异,而过于细致的事件会让技术细节淹没流程图。请将低层级事件归并到所属业务活动中,并由流程专家确定边界。

6. 处理异常值和噪声

异常值会扭曲流程正常运行的情况:某项任务可能因罕见事件而耗时异常长,从而主导平均值。

  • 识别异常值:标记明显超出该步骤正常范围的时长。
  • 决定是否保留:真实例外情况,例如罕见但关键的故障,通常值得保留,因为其中可能包含洞察;数据错误则不应保留。只删除错误数据,不要删除仅仅因为不便处理的数据。

7. 检查事件顺序

如果事件顺序错误,工具就会追踪错误的流转路径。

  • 验证顺序:每个案例的事件都应符合时间戳顺序。同一案例中“订单已批准”早于“订单已创建”,说明需要检查时间戳。
  • 按时间戳排序:上传前,按时间戳列对每个案例的事件排序。

8. 处理大型数据集

大型数据提取文件准备和上传都较慢,因此应提前规划数据规模,而不是被规模问题牵制。

  • 用样本探索,用完整数据分析:代表性样本足以帮助您判断提取的事件是否合理;分析需要时再加载完整数据。
  • 增量加载:不要替换全部数据,而是使用增量(差异)上传追加新时间段的数据。
  • 优先使用列式格式:处理大规模数据时,Parquet和ORC文件比CSV或Excel更小、上传更快;请参阅支持的数据格式

9. 保护敏感数据

事件日志包含姓名、地址、客户编号和用户ID,因此应将提取文件视为个人数据处理。

  • 匿名化或脱敏:删除或遮盖分析不需要的信息,仅在资源分析需要时保留用户ID。
  • 限制访问:仅向确有需要的少数人员提供提取文件,并依靠基于角色的访问控制管理您上传的数据集。
  • 遵守适用规则:包括数据保留期限、传输中和静态数据加密,以及适用于客户数据的GDPR等法规。

10. 创建事件日志

数据完成清洗、统一和排序后,创建事件日志,即流程挖掘的主要数据集。每个日志都需要:

  • 案例ID:每个流程实例的唯一标识符。
  • 活动:已发生步骤的名称。
  • 时间戳:事件发生的时间,用于确定事件顺序。

可选列可提供更多信息:资源(人员或团队)、部门成本,或您希望用于切分流程的任何自定义属性。完整要求请参阅支持的数据格式

11. 验证数据集

在依赖分析结果之前,请确认数据集确实代表您认为的流程。

  • 抽查案例:端到端查看几个流程实例,确认事件顺序合理。
  • 运行测试分析:先挖掘一次流程,查找明显不合理的结果,例如从未发生的活动、异常的开始或结束事件,以及本应已关闭的案例。
  • 与流程负责人确认:业务专家可以在几分钟内判断数据是否反映实际工作方式。

在ProcessMind中清洗数据

上传后,上述许多准备工作都可以在ProcessMind中完成:

  • 映射并配置列:在数据集属性中设置显示名称、数据类型和时间戳格式,无需重新处理源文件。
  • 检查质量数据质量仪表板会标记缺失值和不一致之处,便于您在分析前修正;AI数据建议还会提供映射和修复建议。
  • 隐藏或筛选无关数据:在数据集属性中隐藏列,并使用筛选器排除不需要的事件。
  • 重新加载而非重新上传:原位替换数据,或对持续增长的数据集使用增量(差异)上传

如需在ProcessMind之外清洗数据,可在上传前使用通用工具(Python/Pandas、Excel或Google Sheets、ETL工具、OpenRefine)。如需了解更完整的操作方法,包括命名、格式、增量加载和归档,请参阅用于流程挖掘的ETL

相关主题