コール センター モデルの予測の作成 (中級者向けデータ マイニング チュートリアル)
シフト、オペレーターの数、電話、およびサービス グレードの間の相互作用について学習した後は、ビジネス分析および計画に使用できる予測クエリを作成します。 最初に、調査モデルに対していくつかの予測を作成していくつかの仮定をテストします。 次に、ロジスティック回帰モデルを使用して一括予測を作成します。
このレッスンでは、予測クエリの概念を理解していることを前提にしています。
ニューラル ネットワーク モデルを使用した予測の作成
次の例では、探索用に作成されたニューラル ネットワーク モデルを使用して単一予測を作成する方法を示します。 単一予測は、異なる値を試してモデルでの影響を確認するのに優れた方法です。 このシナリオでは、6 人の経験を積んだオペレーターが勤務している場合の深夜シフトのサービス グレードを予測します (曜日は指定しません)。
ニューラル ネットワーク モデルを使用して単一クエリを作成するには
SQL Server データ ツール (SSDT) で、使用するモデルが含まれているソリューションを開きます。
データ マイニング デザイナーで、[マイニング モデル予測] タブをクリックします。
[マイニング モデル] ペインの [モデルの選択] をクリックします
[マイニング モデルの選択] ダイアログ ボックスに、マイニング構造の一覧が表示されます。 マイニング構造を展開して、その構造に関連付けられているマイニング モデルの一覧を表示します。
マイニング構造 Call Center Default を展開し、Call Center - LR という名前のニューラル ネットワーク モデルを選択します。
[マイニング モデル] メニューの [単一クエリ] を選択します。
マイニング モデルの列に列がマップされた [単一クエリ入力] ダイアログ ボックスが表示されます。
[単一クエリ入力] ダイアログ ボックスで、[Shift] の行をクリックし、[midnight] を選択します。
[Lvl 2 Operators] の行をクリックし、「6」と入力します。
[マイニング モデル予測] タブの下半分の領域で、グリッド内の最初の行をクリックします。
[ソース] 列で、下矢印をクリックし、[予測関数] を選択します。 [フィールド] 列で、[PredictHistogram] を選択します。
[条件と引数] ボックスに、この予測関数で使用できる引数の一覧が自動的に表示されます。
[マイニング モデル] ペインの列の一覧から ServiceGrade 列を [条件と引数] ボックスにドラッグします。
列の名前が自動的に引数として挿入されます。 このテキスト ボックスには、任意の予測可能属性の列を選択してドラッグできます。
予測クエリ ビルダーの上隅にある [クエリ結果ビューに切り替え] ボタンをクリックします。
期待される結果には、これらの入力が与えられたときのサービス グレードごとの予測される値と、それぞれの予測に対するサポートおよび確率値が含まれます。 いつでもデザイン ビューに戻って入力の変更や追加を行うことができます。
ロジスティック回帰モデルを使用した予測の作成
ビジネスの問題に関連する属性がわかっている場合は、ロジスティック回帰モデルを使用して、一部の属性を変更した場合の効果を予測できます。 ロジスティック回帰は、一般的に独立変数の変化に基づいて予測するのに使用される統計方法です。たとえば、顧客の人口統計に基づいて顧客の行動を予測する財務スコアリングに使用されます。
ここでは、予測に使用するデータ ソースの作成方法について説明した後、ビジネス上の疑問に回答するのに役立つ予測を作成します。
一括予測に使用するデータの生成
入力データを提供する多数の方法があります。たとえば、スプレッドシートから人員配置レベルをインポートし、そのデータを次の月のサービスの品質を予測するモデルで実行することができます。
このレッスンでは、データ ソース ビュー デザイナーを使用して名前付きクエリを作成します。 この名前付きクエリは、スケジュールのシフトごとにスタッフでの最大オペレーター数、受け付けられた問い合わせの最小数、生成された案件の平均数を計算するカスタム Transact-SQL ステートメントです。 その後、そのデータをマイニング モデルに結合して、今後の一連の日付についての予測を行います。
一括予測クエリの入力データを生成するには
ソリューション エクスプローラーで [データ ソース ビュー] を右クリックし、[新しいデータ ソース ビュー] をクリックします。
データ ソース ビュー ウィザードで、データ ソースとして Adventure Works DW Multidimensional 2012 を選択し、[次へ] をクリックします。
[テーブルとビューの選択] ページで、テーブルを選択せずに [次へ] をクリックします。
[ウィザードの完了] ページで、名前として「Shifts」と入力します。
この名前は、データ ソース ビューの名前としてソリューション エクスプローラーに表示されます。
空白のデザイン ペインを右クリックし、[新しい名前付きクエリ] を選択します。
[名前付きクエリの作成] ダイアログ ボックスで、[名前] に「Shifts for Call Center」と入力します。
この名前は、名前付きクエリの名前としてデータ ソース ビュー デザイナーにのみ表示されます。
次のクエリ ステートメントを、ダイアログ ボックスの下部の SQL テキスト ペインに貼り付けます。
SELECT DISTINCT WageType, Shift, AVG(Orders) as AvgOrders, MIN(Orders) as MinOrders, MAX(Orders) as MaxOrders, AVG(Calls) as AvgCalls, MIN(Calls) as MinCalls, MAX(Calls) as MaxCalls, AVG(LevelTwoOperators) as AvgOperators, MIN(LevelTwoOperators) as MinOperators, MAX(LevelTwoOperators) as MaxOperators, AVG(IssuesRaised) as AvgIssues, MIN(IssuesRaised) as MinIssues, MAX(IssuesRaised) as MaxIssues FROM dbo.FactCallCenter GROUP BY Shift, WageType
デザイン ペインで、Shifts for Call Center テーブルを右クリックし、[データの探索] をクリックして T-SQL クエリから返されるデータをプレビュー表示します。
[Shifts.dsv (デザイン)] タブを右クリックし、[保存] をクリックして新しいデータ ソース ビュー定義を保存します。
各シフトのサービス メトリックスの予測
シフトごとの値を生成した後は、作成したロジスティック回帰モデルの入力としてこれらの値を使用して、ビジネス プランニングで使用できる複数の予測を生成します。
新しい DSV を予測クエリへの入力として使用するには
データ マイニング デザイナーで、[マイニング モデル予測] タブをクリックします。
[マイニング モデル] ペインで、[モデルの選択] をクリックし、使用できるモデルの一覧から Call Center - LR を選択します。
[マイニング モデル] メニューの [単一クエリ] オプションをオフにします。 単一クエリ入力が失われる旨の警告が出力されます。 [OK] をクリックします。
[単一クエリ入力] ダイアログ ボックスが [入力テーブルの選択] ダイアログ ボックスに置き換えられます。
[ケース テーブルの選択] をクリックします。
[テーブルの選択] ダイアログ ボックスで、データ ソースの一覧の [Shifts] をクリックします。 [テーブル名またはビュー名] ボックスの一覧の [Shifts for Call Center] をクリックし (自動的に選択されている場合があります)、[OK] をクリックします。
[マイニング モデル予測] デザイン画面が更新され、入力データおよびモデルの列の名前とデータ型に基づいて生成されたマッピングが表示されます。
結合線の 1 つを右クリックし、[接続の変更] を選択します。
このダイアログ ボックスでは、マップされている列とマップされていない列を正確に確認できます。 マイニング モデルには、Calls、Orders、IssuesRaised、および LvlTwoOperators の列が含まれています。これらの列は、ソース データ内のこれらの列に基づいて作成した任意の集計にマップできます。 このシナリオでは、平均にマップします。
LevelTwoOperators の横の空のセルをクリックし、[Shifts for Call Center.AvgOperators] を選択します。
Calls の横の空のセルをクリックし、[Shifts for Call Center.AvgCalls] を選択します。 その後、[OK] をクリックします。
各シフトの予測を作成するには
予測クエリ ビルダーの下半分のグリッドで、[ソース] の下の空のセルをクリックし、[Shifts for Call Center] を選択します。
[フィールド] の下の空のセルで、[Shift] を選択します。
グリッド内の次の空白行をクリックします。上の手順を繰り返して、WageType の行を追加します。
グリッドの次の空白行をクリックします。 [ソース] 列で、[予測関数] を選択します。 [フィールド] 列で、[Predict] を選択します。
[マイニング モデル] ペインの ServiceGrade 列を、グリッドと [条件と引数] セルにドラッグします。 [エイリアス] ボックスに、「Predicted Service Grade」と入力します。
グリッドの次の空白行をクリックします。 [ソース] 列で、[予測関数] を選択します。 [フィールド] 列で、[PredictProbability] を選択します。
[マイニング モデル] ペインの ServiceGrade 列を、グリッドと [条件と引数] セルにドラッグします。 [エイリアス] ボックスに、「Probability」と入力します。
[クエリ結果ビューに切り替え] をクリックして予測を表示します。
次の表に、各シフトのサンプルの結果を示します。
Shift |
WageType |
Predicted Service Grade |
Probability |
---|---|---|---|
AM |
holiday |
0.165 |
0.377520666 |
midnight |
holiday |
0.105 |
0.364105573 |
PM1 |
holiday |
0.165 |
0.40056055 |
PM2 |
holiday |
0.165 |
0.338532973 |
AM |
weekday |
0.165 |
0.370847617 |
midnight |
weekday |
0.08 |
0.352999173 |
PM1 |
weekday |
0.165 |
0.317419177 |
PM2 |
weekday |
0.105 |
0.311672027 |
短縮された応答時間のサービス グレードへの影響の予測
これまで、それぞれのシフトに対してなんらかの平均値を生成し、これらの値をロジスティック回帰モデルへの入力として使用しました。 ただし、電話放棄呼率を 0.00 ~ 0.05 の範囲に抑えるというビジネス目標からすれば、この結果は期待の持てるものではありません。
したがって、オペレーション チームは、サービス グレードに対して応答時間が大きく影響することを明らかにした元のモデルに基づいて、問い合わせに対する平均応答時間を短縮した場合にサービス品質が向上するかどうかを評価するための予測を作成することを決定しました。 たとえば、問い合わせに対する応答時間を現在の 90% または 80% に短縮した場合、サービス グレードの値はどうなるでしょうか。
各シフトの平均応答時間を計算するデータ ソース ビュー (DSV) を作成して、その平均応答時間の 80% または 90% を計算する列を追加するのは簡単です。 次に、DSV をモ��ルへの入力として使用します。
ここでは詳細な手順は示しませんが、応答時間を現在の応答時間の 80% または 90% に短縮したときのサービス グレードに対する影響の比較を次の表に示します。
これらの結果から、対象のシフトではサービス品質を改善するために現在の割合の 90% に応答時間を短縮する必要があると結論づけることができます。
シフト、賃金、日 |
現在の平均応答時間で予測したサービス品質 |
90% 短縮した応答時間で予測したサービス品質 |
80% 短縮した応答時間で予測したサービス品質 |
---|---|---|---|
休日の午前 |
0.165 |
0.05 |
0.05 |
休日の午後 1 |
0.05 |
0.05 |
0.05 |
休日の深夜 |
0.165 |
0.05 |
0.05 |
これ以外にも、このモデルに対してさまざまな予測クエリを作成できます。 たとえば、特定のサービス レベルを満たす場合や特定の数の着信に応答する場合に必要となるオペレーターの人数を予測できます。 ロジスティック回帰モデルには複数の出力を含めることができるため、数多くの別個のモデルを作成する必要なく、異なる独立変数を試してさまざまな結果を得ることができます。
解説
Excel 2007 用データ マイニング アドインで提供されるロジスティック回帰ウィザードを使用すると、サービス グレードを特定のシフトのターゲット レベルまで引き上げるにはレベル 2 のオペレーターが何人必要になるかなど、複雑な質問に対する回答を簡単に求めることができます。 データ マイニング アドインは、無料でダウンロードできます。これらのアドインには、ニューラル ネットワークまたはロジスティック回帰アルゴリズムに基づいたウィザードが含まれています。 詳細については、次のリンクを参照してください。
Office 2005 用 SQL Server 2008 データ マイニング アドイン:ゴール シークおよび What If シナリオ分析
Office 2007 用 SQL Server 2008 データ マイニング アドイン:ゴール シーク シナリオ分析、What If シナリオ分析、および予測計算
結論
ここでは、Microsoft ニューラル ネットワーク アルゴリズムおよび Microsoft ロジスティック回帰アルゴリズムに基づいたマイニング モデルを作成、カスタマイズ、および解釈する方法について説明しました。 これらの種類のモデルは非常に高度であり、あらゆる分析が可能であるため、複雑であり、習得するのが困難です。
ただし、これらのアルゴリズムは、要素の多くの組み合わせを反復処理して最も強い相関関係を自動的に識別し、Transact-SQL または PowerPivot を使用したデータの手動調査では発見することが非常に困難な考察の統計的サポートを提供します。