プロセスマイニング入門(6)プロセスマイニングと関連ソリューション

Introduction to Process Mining (6) Process Mining and Related Solution

今回は、プロセスマイニングの隣接分野、関連ソリューションとの関係性について解説します。

ビジネスインテリジェンス(BI)の視点から

プロセスマイニングは分析手法のひとつです。ビジネスへの適用を前提とすると下図の通り、一番大きな枠として「ビジネスインテリジェンス」があり、その内側に「プロセスインテリジェンス」、さらにその内側に「プロセスマイニング」があるという入れ子構造になっていると考えることが可能です。

まずビジネスインテリジェンスですが、文字通り、ビジネスに関わるあらゆるデータ・情報を分析対象として収集し、分析するものです。いわゆるBIツールを用いて分析することが多いですが、典型的には、売上や利益などの財務データをベースに、年度別、月別、週別などの推移を見たり、エリア別や製品別にドリルダウンして、売上や利益に貢献しているエリアや製品カテゴリ、逆に足を引っ張っている要因がどこかを掘り下げて分析する。これがビジネスインテリジェンスです。

ビジネスインテリジェンスのうち、特に業務プロセスに関わるデータ・情報に絞って各種分析を行うのが「プロセスインテリジェンス」です。さらに、プロセスインテリジェンスの中で、業務の流れ、すなわち「コントロールフロー」を核とする分析手法が「プロセスマイニング」です。

このようにみると、プロセスマイニングは大きくはビジネスインテリジェンスに含まれるため、ビジネスインテリジェンスで代替できるのではないか、とおっしゃる方もいます。

しかし、プロセスマイニングの基本機能である「(自動的な)プロセス発見」には、特殊なアルゴリズムが必要であり、BIツールには、このアルゴリズムは通常、実装されていません。また、BI機能に基づいて、プロセスマイニング用のアルゴリズムをゼロベースで組むのは現実的には不可能です。(初歩的なものは組めたとしても、それによって、再現されたプロセスモデルの信頼性は低いものでしょう)

したがって、プロセスマイニングを実行したければ、専用のプロセスマイニングツールの採用が必要になり、BIで代替することはできません。

では、プロセスインテリジェンスがカバーする領域はどこになるのでしょうか?

プロセスマイニングツールでは、特殊なアルゴリズムを用いて行うプロセス発見以外に、様々な統計数値を算出し、様々な表・グラフで表現する機能が備わっています。

例えば、分析対象としたプロセスに含まれる案件数、プロセスの開始から終了までのスループット(サイクルタイム)や、各アクティビティごとの処理数、処理時間、あるアクティビティから別のアクティビティまでの移行時間、すなわち待ち時間などです。そして、これらの数値に関して平均、最大・最小、中央値、標準偏差などを併せて確認することが可能です。

こうした統計数値の算出は、シンプルな四則演算ベースで可能であり、特殊なアルゴリズムは言うまでもなく必要ありません。BIでも簡単に実行できますが、これこそ「プロセスインテリジェンス」がカバーしている領域です。

プロセスマイニングによる分析においては、アルゴリズムを通じて発見された「プロセスモデル」(as isプロセスモデル)を起点に、様々なバリエーションを検証する「バリアント分析」や、理想プロセス(to beプロセス)との比較分析、すなわち適合性検査などを行います。

さらに、処理時間がKPIを超えている問題アクティビティや、待ち時間が長くなっているボトルネックを特定していきますが、ここで重要になってくるのが処理件数や処理時間、待ち時間などの基本統計数値です。

すなわち、プロセスマイニングでは、プロセスモデルと併せてプロセスインテリジェンスの数値を様々な視点で掘り下げることを行うわけです。

主要なプロセスマイニングツールでは、プロセスモデルを作成するアルゴリズムは当然として、プロセスインテリジェンス機能、特に、様々な数値をビジュアルに表現するダッシュボード機能が標準で装備されています。この意味では、現在のプロセスマイニングツールは、「プロセスインテリジェンスツール」と言い換えても全く支障がないと言えます。



BPM、データマイニング・AIとの関係

プロセスマイニングと密接な関係がある隣接分野があります。ひとつはデータマイニング・AI、もうひとつはBPM(Business Process Management)です。

まずは「データマイニング・AI」とは何かから説明します。データマイニングは、基本的にビッグデータを対象とした分析手法であり、その主な目的はものごとの因果関係や典型的なパターンのような「法則性」を発見して、様々な意思決定に役立てることです。

例えば、各地の気温、湿度などの天候情報を大量に収集し、データマイニングでそのデータを分析することで、どのような状況において晴天になりやすいのか、それとも雨天になりやすいのかの予測式がつくられ、天気予報に活用されています。

データマイニングでは、数十年前から活用されてきた「多変量解析」の手法、例えば、回帰分析や、クラスター分析、決定木分析に加え、近年は主にニューラルネットワークによるディープラーニングが飛躍的な進歩を遂げ、ものごとを判別したり、予測する精度が大きく向上しています。一般に、これらの分析手法のことは「AI(Artificial Intelligence:人工知能)」と呼ばれますが、AIはデータマイニングにおいて頻繁に利用される手法なので、当記事では「データマイニング・AI」と一括りにしています。

さて、データマイニングはあらゆる分野のあらゆるビッグデータを分析対象としますが、基本的に「プロセス」を対象とはしてきませんでした。ある瞬間、すなわちスナップショット的な静的なデータを抽出して、要約したり、分類したり、因果関係を見出してきたりしたのです。

一方、プロセスマイニングは、文字通り、時系列のひとつながりになった動的なデータから、プロセスの流れを描き出すこと、すなわち「プロセスモデル」を作成することが基本にあります。もちろん、プロセス処理件数や処理時間など、プロセスに関わる静的な各種統計量も併せて算出する点は、データマイニングと共通しています。

こう考えると、データマイニングとプロセスマイニングは、分析手法としては兄弟分のようなものです。(どちらにも「マイニング」という言葉が含まれていますし)

ただ、プロセスマイニングを主体に考えると、プロセスに関わる様々な分析を深めていくうえで、データマイニング、AIの手法が応用されています。例えば、現在処理中の案件(ランニングケース)の終了までのリードタイムを推測するためには、データマイニングにおける「予測分析」が採用されています。

それ以外にも、必要に応じて、クラスター分析や決定木分析などが活用可能であり、今後も、プロセスマイニングツールとしての分析の幅や精度を高めるためにデータマイニングの手法がプロセスマイニングに取り入れられていくと考えられます。

では次に、BPM(BPM)について考えてみましょう。BPMはシンプルにいえば、プロセスを改善することを目的として、プロセスの現状を分析し、問題点を解消するto beプロセスを設計し、現場に展開・監視を行う一連の活動です。

このBPMの活動のうち、とりわけ「現状分析」において、プロセスマイニングの基本アプローチのひとつ、「プロセス発見」は役立ちますし、その後の設計、展開、監視においても、プロセスマイニングが提供できる「適合性検査」、「プロセス強化」のアプローチはBPMにとって強力な武器となりえます。

このように、プロセスマイニングとデータマイニング・AI、BPMはお互いに補完しあえる関係にあると言えます。プロセスマイニングのゴッドファーザー、Wil van der Aalst教授は、「プロセスマイニングは、データマイニングとBPMをつなぐ橋である」と述べられていますが、まさに、BPMの取り組みにおいて、プロセスに特化したデータマイニングとしての「プロセスマイニング」は大きな役割を果たしていくと思われます。


プロセスマイニングの前工程と後工程

業務プロセス改善の取り組みにおいて、プロセスマイニング活用を中心に置くと、プロセスマイニング分析を行う前工程としての「データ前処理」に関わるソリューションと、プロセスマイニング分析後の実際の改善施策としての様々なソリューションが存在します。

データ前処理は、ERPなどの業務システムから分析対象となるデータを抽出し、プロセスマイニングツール(およびタスクマイニング)で分析できるデータ形式へと整形する作業です。

業務システムから抽出した生のデータをそのままプロセスマイニングツールにアップロードできることは基本的にありません。抽出されたデータは複数のファイルで構成され、実際の取引履歴であるトランザクションデータ以外に、参照するためのマスターファイルが含まれています。また、データには抜け漏れ、文字化けなど、そのままでは分析できない箇所が存在するため、適宜削除、補正するなどの作業が必要です。これを「データ前処理」と呼びます。

データ前処理は、SQLやPythonなどで処理プログラムを記述することで高速に行えますが、こうした言語を知らなくても、データ前処理を簡単に行えるETLツールの利用を私はお勧めしています。ETLツールもいろいろとありますが、オープンソースで操作も簡単な「KNIME(ナイム)」が一押しです。

さて、プロセスマイニング分析後に発見した問題を解決するための施策としてのソリューションには、まずRPA(Robotic Process Automation)によるタスク自動化が挙げられます。また、プロセス単位で一定の業務手順を自動化するためにはビジネスプロセスマネジメントシステム(BPMS)の採用が有効でしょう。また、業務を遂行するためのリソース最適化のために、アウトソーシングサービス(BPO)の活用も検討に値するでしょう。

なお、プロセスマイニングを軸とする継続的プロセス改善のためには、分析対象となる各種データを長期に亘って蓄積し、柔軟に抽出できる仕組みが有効です。したがって、データウェアハウス(DWH)やデータレイクと呼ばれる分析系システムを構築して、実運用によって不断に生み出されるデータを収集・蓄積しておくことが望ましいです。

deta preparation process mining and dwh