Introduction to Process Mining (10)Process Discovery
今回は、「プロセス発見」のアプローチについて詳しく解説します。
プロセス発見 - Process Discovery
プロセス発見は、プロセスマイニングの土台となる手法です。プロセス発見をベースに適合性検査、プロセス強化、運用サポートが行われます。
プロセス発見とは端的に言えば、イベントログに基づいて「プロセスモデル」、すなわち対象プロセスのアクティビティの流れを表した「フローチャート」を自動的に作成することです。事前に、どのような手順で行われているか、といった情報を与える必要はありません。イベントログの情報(必須情報はケースID、アクティビティ、タイムスタンプ)だけを用いて、固有のアルゴリズムによってフローチャートを自動的に再現します。
従来、プロセスの流れはモデリングツールを用いて、手作業でフローチャートを作成していました。元となるのは、システム関連のドキュメント類、現場担当者へのヒアリングやワークショップによって得られた情報です。
一方、プロセスマイニングでは、ITシステムから業務に関わる操作履歴をイベントログとして抽出し、ツールにアップロードすれば自動的にフローチャートを作成してくれます。このことから、プロセスマイニングは初期のころ、「ABPD(Automated Business Process Discovery)」、すなわち、自動化された業務システム発見」とも呼ばれていたのです。
さて、プロセス発見のアプローチでは、様々な視点での分析が行えますが、基本となるのは「頻度分析(Frequency Analysis)」と「パフォーマンス分析(Performance分析)」です。
頻度分析 - Frequency Analysis
頻度分析では、各アクティビティの処理件数、および複数のアクティビティの間を移動した移行件数に着目します。下図のサンプルフロー図で解説します。
開始アクティビティの処理件数は7542件です。その次のアクティビティXへの移行件数も同じく7542件です。開始アクティビティで処理された案件(ケース)はすべてアクティビティXに移行したことがわかります。
アクティビティXの処理件数は7820件となっています。移行件数7542件よりも多いのは、アクティビティXは同じ案件について繰り返し業務が発生していることが考えられます。なんらかのミスをした場合など、操作をやり直したために繰り返し業務(リワーク)として記録されたということです。
アクティビティXからアクティビティYに移行しているのは7102件と大きく減少しています。これは、アクティビティXの後、手戻りが発生して前工程に戻ったり、全く別のアクティビティへ移行していたり、分析時点ではアクティビティXが最後のアクティビティとして記録されていたりしたためです。(簡略化したサンプルのため他のアクティビティへの移行は示されていません)
頻度分析の場合、処理件数や移行件数が相対的に多くなっているところを中心に分析を深掘りします。件数が多いということは作業負荷が高いということですから、次項のパフォーマンス分析と併せて、生産性の低下やボトルネック発生がないかを確認し、改善すべき問題を特定していきます。
パフォーマンス分析 - Performance Analysis
パフォーマンス分析は「時間」に基づく分析です。下図のサンプルフロー図で解説します。
開始アクティビティから終了アクティビティまでの総所要時間=スループットは、対象プロセスのパフォーマンス分析において最も重要なKPI(Key Performance Indicator)と言えるでしょう。
プロセス改善の第一の目的は多くの場合、このスループットの短縮にあります。案件処理を開始してから終了までのスループットが短ければ短いほど、生産性は向上し、処理コストも低下するからです。
スループットは、「サイクルタイム」とも呼ばれます。ある定型的な業務、たとえば特定製品の製造工程において次々と新たな製品を生み出すサイクルにおる1件あたり平均処理時間のことです。
一般にまず、全案件の平均スループットを算出します。その上で、平均スループットよりも著しく長くなっている問題プロセス、逆に、平均スループットよりも短いプロセスを把握します。前者に関しては、なぜスループットが長くなってしまっているのかの原因を探ります(例えばミスが多く発生して繰り返しが多い、手戻りが発生しているなど)一方、スループットが平均より短いプロセスは、それが正しい手順で行われているとするなら効率の良いやり方とみなすことも可能です。(こうしたプロセスのバリエーションと併せて分析することは、後述する「バリアント分析」と呼ばれます)
サンプルフロー図に戻りましょう。アクテビティごとの時間は処理時間、また複数のアクティビティの間は待ち時間です。
サンプルフローでは、開始アクティビティの処理時間は5分11秒です。開始アクティビティからアクティビティXをつなぐ線上の時間は54分。これは待ち時間です。開始アクティビティは完了した時間から、アクティビティXの処理が開始される時間までの間の時間だからです。
さて、アクティビティごとの処理時間が、KPIの目標値よりも長い場合、効率性が低いという判断になります。例えばアクティビティYの処理時間は3時間45分17秒です。もし、当アクティビティのKPI目標値が「3時間」とするなら、約45分余計に時間がかかっているわけですから効率が良くない。なんとか処理時間を短縮すべき問題箇所となります。
また、その前のアクティビティXからアクティビティYの間の待ち時間は20時間を超えています。これも、KPI目標値よりも長ければ、業務が滞留している=ボトルネックの発生ということになり、是正対象ポイントとして原因追求を図る必要があります
バリアント分析 – Variant Analysis
プロセスマイニングの分析対象とするイベントログデータの件数は一般に数百件から、数百万件になります。ここでの件数は対象プロセスで処理される案件数です。例えば、経理部における請求書の処理プロセスの場合、処理された請求書の件数のことです。これは経理システムで付番した請求書IDの数と一致するでしょう。
さて、開始アクティビティと終了アクティビティが同じ「定型業務プロセス」であったとしても中間処理のプロセスには様々なバリエーションがありえます。請求書処理プロセスであれば、金額などに応じて上長承認が必要なもの、必要でないもので手順が異なります。内容不備の場合の差戻し、再受領というイレギュラーな手順もあるでしょう。
バリアント分析は、こうしたバリエーションが何パターンあり、それぞれのバリエーションで処理された案件数を算出します。もちろん、それぞれのバリエーションについてのプロセスモデル、すなわちフローチャートを作成し、頻度分析やパフォーマンス分析を行うことができます。
下図のバリアント分析のイメージ図では、3つのバリエーションが存在していることを示しています。合計処理案件数433件(260件+125件+48件)のうち、バリアントXが最も多く処理されているパターンであることがわかります。バリアントは開始から終了までシンプルな流れであり、余計な分岐や手戻り的なものがありません。こうした処理件数が多いバリアントはしばしば「ハッピープロセス」と呼ばれることがあります。多くの場合、ハッピープロセスは効率的でボトルネックがなく、スループットが最も短いからです。(必ずしもそうでない場合もあります)
一方、バリアントZは、バリアントXと比べて手順が多くなっています。パフォーマンス分析で比較すれば、おそらくバリアントZのスループットはバリアントXよりも長いでしょう。バリアントZが上長の承認が必要であるなど、不可欠な手順を踏んでいるのであれば問題はありません。しかし、担当者の裁量でやらなくてもよいことをやっている、あるいはなんらかのミスによって手順が増えてしまっているとしたら是正すべき問題箇所ということになります。
以上、プロセス発見の基本的な分析視点を解説しました。多くのプロセスマイニングツールでは、リソース(担当者)のデータを付加することにより、担当者間の関係性を可視化する「ソーシャルネットワーク分析」を行うことができます。
また、費用に関わるデータを追加することにより、コスト視点での様々な分析が可能です。