プロセスマイニングに向けたデータのクリーニングと準備
プロセスマイニングを効果的に行うには、品質の高いデータが欠かせません。多くの場合、対処すべき問題は限られています。記録されていないイベント、システム間で一致しない識別子、形式の不統一、扱いにくいほど大容量または機密性の高いエクスポートデータなどです。このページでは、こうした問題と解決手順を説明します。ProcessMind内で同様の作業を行う方法については、データセットの設定とデータ品質をご覧ください。
データのクリーニングと準備が重要な理由
プロセスマイニングでは、ビジネスプロセス内のアクティビティの詳細な順序を記録したデータセットであるイベントログを使います。データセットに欠損や不整合、エラーがあると、分析結果の信頼性が損なわれます。データを適切に整えておくことで、ツールがワークフローを可視化し、ボトルネックを検出して、改善が必要な箇所を示せるようになります。
データのクリーニングと準備の主な手順
1. 関連するすべてのシステムからデータを収集する
データは通常、複数のシステムに分散しています。たとえば、受注や請求書を管理するERP、顧客対応のステップを記録するCRM、チケットを管理するサービスデスクなどです。クリーニングを始める前に、すべてのシステムからデータを収集してください。対象から漏れたシステムにしか記録されていないステップは、後から復元できません。
- データソースを統合する:プロセスの一部を記録しているシステムを洗い出し、それぞれからデータを抽出します。たとえば、受注から入金までのプロセスには、営業システム(Salesforceなど)と財務システム(SAPなど)が関わります。
- データの分断を解消する:どのシステムを対象にするか、誰がデータをエクスポートできるかを、プロセスの担当者と確認します。データの欠落は、クエリの不具合よりも、システムが把握されていないことが原因である場合が多くあります。Apache NiFi、Talend、Informatica、Power BIなどの統合ツールを使うと、複数のソースを1つのファイルにまとめられます。
- 抽出できないデータへの対応を決める:電話での承認や紙の書類への署名など、システム外で行われるステップは、少なくとも結果をデジタルシステムに記録します。または、プロセスビューに全体を反映できるよう、そのステップをモデル化します。システムごとのデータソースについては、データの取得元をご覧ください。
2. 重複を削除する
レコードが重複すると、アクティビティの件数が実際より多くなり、1つのイベントが複数回発生したように見えるため、分析結果が歪みます。ケースID、アクティビティ、タイムスタンプがすべて同じレコードを特定し、削除するか1行にまとめてください。
3. 欠損データに対処する
タイムスタンプ、アクティビティ、ケースIDが欠けていると、イベントの順序を正しく把握できず、不完全なプロセスモデルになります。
- 欠損値を特定する:空欄のタイムスタンプ、未入力のアクティビティ名、nullのケースIDを確認します。
- 欠損を補う:可能であれば、別のデータソースや業務知識を使って補います。タイムスタンプが1つ欠けている場合は、前後のイベントの時刻から範囲を絞り込めます。
- 値を推測せず、モデル化する:まったく記録されていないステップは、タイムスタンプを作り上げるのではなく、プロセスモデリングで追加します。これにより、データから検出したプロセスと文書化したプロセスをすり合わせられます。
- 補完するか、除外する:重要な欠損には、平均値による補完や回帰モデルなどの手法を使います。ケースを復元できない場合は、理由を記録したうえで除外します。
4. 形式、ID、名前を統一する
- タイムスタンプ:すべてのデータで同じ形式を使います(例:
YYYY-MM-DD HH:MM:SS)。抽出データに複数のタイムゾーンが混在する場合は、すべてUTCに変換してください。対応する日付形式の一覧を見る - ケースID:同じプロセスでも、システムによって識別子が異なることがあります。たとえば、CRMでは注文番号、財務システムでは請求書番号が使われます。すべてのイベントが1つのケースに紐づくよう、抽出データ内または参照テーブルで対応関係を作成し、各プロセスインスタンスに一意のIDを割り当ててください。ProcessMindでは、結合するすべてのデータセットでケースID列が同じ方法でマッピングされていることを確認してください。詳しくはデータセットの属性をご覧ください。
- アクティビティ名:システムによって同じステップの名称が異なることがあります。各ステップで使う名称を統一してください(「注文を承認」と「注文承認」は同じアクティビティです)。
- 値と型:数値(コスト、所要時間、金額)は数値として保持し、列ごとに単位を統一してください。
5. 関係のないイベントを削除する
記録されたイベントがすべて、分析対象のプロセスに含まれるとは限りません。システムへのログイン、技術的な再試行、管理作業などは、分析に役立つ情報を加えず、マップを見づらくすることがあります。
- 対象外のイベントを除外する:業務知識をもとに、プロセスを表すイベントを判断し、それ以外を除外します。
- 適切な粒度を選ぶ:「受注を処理」のように粗すぎるイベントでは、確認したい違いが見えません。一方、細かすぎるイベントは技術的な情報でマップを埋め尽くします。プロセスの専門家と相談しながら、低レベルのイベントを該当する業務アクティビティにまとめます。
6. 外れ値とノイズに対処する
外れ値があると、通常のプロセスの進み方を正確に把握できません。まれな事象によってタスクに例外的に長い時間がかかると、その値が平均を大きく左右することがあります。
- 外れ値を特定する:そのステップの通常の範囲から大きく外れた所要時間を確認します。
- 残すかどうかを判断する:まれでも重大な障害など、実際に起きた例外は、残す価値のある情報であることが少なくありません。一方、データの誤りは残すべきではありません。扱いにくいという理由ではなく、誤りのあるデータだけを削除してください。
7. イベントの順序を確認する
イベントの順序が正しくないと、ツールは誤ったフローをたどります。
- 順序を検証する:各ケースのイベントがタイムスタンプ順に並んでいることを確認します。同じケースで「受注を作成」より前に「受注を承認」が記録されている場合は、タイムスタンプを確認してください。
- タイムスタンプ順に並べ替える:アップロードする前に、タイムスタンプ列を使って各ケースのイベントを並べ替えます。
8. 大規模データセットに対処する
大容量のデータは準備にもアップロードにも時間がかかります。無理に処理するのではなく、データ量を考慮して計画してください。
- 確認にはサンプルを使い、分析には全データを読み込む:抽出したイベントに問題がないかを確認するには、代表的なサンプルで十分です。分析に必要な場合は、全データを読み込みます。
- 段階的に読み込む:すべてを置き換えるのではなく、増分(差分)アップロードを使って、新しい期間のデータを追加します。
- 列指向形式を優先する:大容量データでは、ParquetやORCはCSVやExcelよりファイルサイズが小さく、アップロードも速くなります。詳しくは対応データ形式をご覧ください。
9. 機密データを保護する
イベントログには、氏名、住所、顧客番号、ユーザーIDなどが含まれるため、エクスポートデータは個人データとして取り扱ってください。
- 匿名化またはマスキングする:分析に不要な情報は削除するかマスキングします。リソース分析が必要な場合に限り、ユーザーIDを残します。
- アクセスを制限する:エクスポートデータを共有する相手は、業務上必要な最小限の人数に限定します。アップロードするデータセットには、役割に基づくアクセス制御を設定します。
- 適用される規則を守る:データの保持期間、転送中および保存時の暗号化、顧客データに関するGDPRなどの規制に従います。
10. イベントログを作成する
データのクリーニングと整列が済んだら、プロセスマイニングの基礎となるデータセット、イベントログを作成します。イベントログには、次の項目が必要です。
- ケースID:各プロセスインスタンスを識別する一意のIDです。
- アクティビティ:発生したステップの名前です。
- タイムスタンプ:イベントの発生時刻です。イベントの順序を決めるために使います。
任意の列を追加すると、分析をさらに詳しく行えます。たとえば、リソース(担当者またはチーム)、部門、費用や、プロセスを分類するための任意の属性を追加できます。必要な項目の一覧は、対応データ形式をご覧ください。
11. データセットを検証する
分析結果を信頼する前に、データセットが想定しているプロセスを正しく表しているか確認してください。
- ケースを抜き取り確認する:いくつかのプロセスインスタンスを最初から最後まで確認し、イベントの順序に問題がないことを確かめます。
- テスト分析を実行する:プロセスを一度分析し、発生したことのないアクティビティ、開始イベントや終了イベントの誤り、終了しているはずのケースが残っているなど、明らかな問題がないか確認します。
- プロセスの担当者に確認する:業務の専門家に確認すれば、データが実際の業務の進み方を反映しているか、短時間で判断できます。
ProcessMind内でデータをクリーニングする
アップロード後は、ここまでに説明した準備作業の多くをProcessMind内で行えます。
- 列をマッピングして設定する:元のファイルを編集し直す代わりに、データセットの属性で表示名、データ型、タイムスタンプ形式を設定します。
- 品質を確認する:データ品質ダッシュボードで欠損値や不整合を確認し、分析前に修正できます。また、AIデータに関する提案では、マッピングや修正案が提示されます。
- 不要なデータを非表示または除外する:データセットの属性で列を非表示にし、フィルターを使って不要なイベントを除外します。
- 再アップロードせずにデータを再読み込みする:データをその場で置き換えるか、継続的に増えるデータセットには増分(差分)アップロードを使います。
ProcessMindの外でデータをクリーニングする場合は、汎用ツール(Python/Pandas、Excel、Googleスプレッドシート、ETLツール、OpenRefineなど)を使ってからアップロードできます。命名規則、形式、増分読み込み、アーカイブなど、データ準備の全体的な手順については、プロセスマイニングのETLをご覧ください。
関連トピック
- データの入手先:システムからステップごとに1行を抽出する
- 対応データ形式:ファイル形式と構造の要件
- データ品質:品質バッジの確認項目
- データの問題のトラブルシューティング:症状ごとの対処方法
- プロセスマイニングのETL:データ準備の全体的な手順
プロセスをより良く設計し、つながりのあるアーキテクチャを構築して、管理を続けましょう。
クレジットカード不要、待ち時間なしですぐにご利用いただけます。組織の業務の進め方を、明確につながるプロセス設計として可視化します。
プロセスアーキテクチャを構築し、オーナーシップと統制を定め、あらゆる階層で役割と責任を明確にします。
無料トライアルを開始して、プロセスのガバナンス、管理、継続的な改善を支える信頼できる基盤を築きましょう。