次の方法で共有


コール センター モデルの予測の作成 (中級者向けデータ マイニング チュートリアル)

シフト、オペレーターの数、電話、およびサービス グレードの間の相互作用について学習した後は、ビジネス分析および計画に使用できる予測クエリを作成します。最初に、調査モデルに対していくつかの予測を作成していくつかの仮定をテストします。次に、ロジスティック回帰モデルを使用して一括予測を作成します。

このレッスンでは、予測クエリ ビルダーの使い方を理解していることを前提にしています。予測クエリ ビルダーの使用法に関する一般的な情報については、「DMX 予測クエリの作成」を参照してください。

ニューラル ネットワーク モデルを使用した予測の作成

次の例では、探索用に作成されたニューラル ネットワーク モデルを使用して単一予測を作成する方法を示します。単一予測は、異なる値を試してモデルでの影響を確認するのに優れた方法です。このシナリオでは、6 人の経験を積んだオペレーターが勤務している場合の深夜シフトのサービス グレードを予測します (曜日は指定しません)。

ニューラル ネットワーク モデルを使用して単一クエリを作成するには

  1. Business Intelligence Development Studio で、使用するモデルが含まれているソリューションを開きます。

  2. データ マイニング デザイナーで、[マイニング モデル予測] タブをクリックします。

  3. [マイニング モデル] ペインの [モデルの選択] をクリックします

  4. [マイニング モデルの選択] ダイアログ ボックスに、マイニング構造の一覧が表示されます。マイニング構造を展開して、その構造に関連付けられているマイニング モデルの一覧を表示します。

  5. マイニング構造 Call Center Default を展開し、Call Center - LR という名前のニューラル ネットワーク モデルを選択します。

  6. [マイニング モデル] メニューの [単一クエリ] を選択します。

    マイニング モデルの列に列がマップされた [単一クエリ入力] ダイアログ ボックスが表示されます。

  7. [単一クエリ入力] ダイアログ ボックスで、[Shift] の行をクリックし、midnight を選択します。

  8. [Lvl 2 Operators] の行をクリックし、「6」と入力します。

  9. [マイニング モデル予測] タブの下半分の領域で、グリッド内の最初の行をクリックします。

  10. [ソース] 列で、下矢印をクリックし、[予測関数] を選択します。[フィールド] 列で、[PredictHistogram] を選択します。

    [条件と引数] ボックスに、この予測関数で使用できる引数の一覧が自動的に表示されます。

  11. [マイニング モデル] ペインの列の一覧から ServiceGrade 列を [条件と引数] ボックスにドラッグします。

    列の名前が自動的に引数として挿入されます。このテキスト ボックスには、任意の予測可能属性の列を選択してドラッグできます。

  12. 予測クエリ ビルダーの上隅にある [クエリ結果ビューに切り替え] ボタンをクリックします。

期待される結果には、これらの入力が与えられたときのサービス グレードごとの予測される値と、それぞれの予測に対するサポートおよび確率値が含まれます。いつでもデザイン ビューに戻って入力の変更や追加を行うことができます。

ロジスティック回帰モデルを使用した予測の作成

ニューラル ネットワーク モデルを使用して予測を作成することはできますが、通常、ニューラル ネットワーク モデルは、複雑なリレーションシップの探索に使用します。ビジネスの問題に関連する属性がわかっている場合は、ロジスティック回帰モデルを使用して、一部の属性を変更した場合の効果を予測できます。ロジスティック回帰は、通常、独立変数の変化に基づいた予測のために使用される統計手法です。たとえば財務スコアリングにおいて、顧客の人口統計に基づいて顧客の行動を予測するために使用されます。

ここでは、予測に使用するデータ ソースの作成方法について説明した後、ビジネス上の疑問に回答するのに役立つ予測を作成します。

一括予測に使用するデータの生成

このレッスンでは、最初に一括予測を作成するために使用できるソース データの集計ビューを作成した後、このデータを予測クエリのマイニング モデルに結合します。入力データを提供する方法はいくつかあります。たとえば、スプレッドシートから人員配置レベルをインポートしたり、プログラムで値を提供したりできます。ここでは、データ ソース ビュー デザイナーを使用して名前付きクエリを作成します。この名前付きクエリは、シフトごとに集計 (最大オペレーター数、受け付けられた問い合わせの最小数、生成された案件の平均数など) を作成するカスタム T-SQL ステートメントです。

一括予測クエリの入力データを生成するには

  1. ソリューション エクスプローラーで [データ ソース ビュー] を右クリックし、[新しいデータ ソース ビュー] をクリックします。

  2. データ ソース ビュー ウィザードで、データ ソースとして Adventure Works DW2008R2 を選択し、[次へ] をクリックします。

  3. [テーブルとビューの選択] ページで、テーブルを選択せずに [次へ] をクリックします。

  4. [ウィザードの完了] ページで、名前として「Shifts」を入力します。

    この名前は、データ ソース ビューの名前としてソリューション エクスプローラーに表示されます。

  5. 空白のデザイン ペインを右クリックし、[新しい名前付きクエリ] を選択します。

  6. [名前付きクエリの作成] ダイアログ ボックスで、[名前] に「Shifts for Call Center」と入力します。

    この名前は、名前付きクエリの名前としてデータ ソース ビュー デザイナーにのみ表示されます。

  7. 次のクエリ ステートメントを、ダイアログ ボックスの下部の 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(Issues) as AvgIssues, MIN(Issues) as MinIssues, MAX(Issues) as MaxIssues
    FROM dbo.FactCallCenter
    GROUP BY Shift, WageType
    
  8. [OK] をクリックします。

  9. デザイン ペインで、Shifts for Call Center テーブルを右クリックし、[データの探索] を選択して T-SQL クエリから返されるデータをプレビュー表示します。

  10. [Shifts.dsv (デザイン)] タブを右クリックし、[保存] をクリックして新しいデータ ソース ビュー定義を保存します。

各シフトのサービス メトリックスの予測

シフトごとの値を生成した後は、作成したロジスティック回帰モデルの入力としてこれらの値を使用して、複数の予測を生成します。

新しい DSV を予測クエリへの入力として使用するには

  1. データ マイニング デザイナーで、[マイニング モデル予測] タブをクリックします。

  2. [マイニング モデル] ペインで、[モデルの選択] をクリックし、使用できるモデルの一覧から Call Cetner - LR を選択します。

  3. [マイニング モデル] メニューの [単一クエリ] オプションをオフにします。単一クエリ入力が失われる旨の警告が出力されます。[OK] をクリックします。

    [単一クエリ入力] ダイアログ ボックスが [入力テーブルの選択] ダイアログ ボックスに置き換えられます。

  4. [ケース テーブルの選択] をクリックします。

  5. [テーブルの選択] ダイアログ ボックスで、データ ソースの一覧から [Shifts] を選択します。[テーブル名またはビュー名] ボックスの一覧で、[Shifts for Call Center] を選択し (自動的に選択されている場合があります)、[OK] をクリックします。

    [マイニング モデル予測] デザイン画面が更新され、入力データおよびモデルの列の名前とデータ型に基づいて Analysis Services によって生成されたマッピングが表示されます。

  6. 結合線の 1 つを右クリックし、[接続の変更] を選択します。

    このダイアログ ボックスでは、マップされている列とマップされていない列を正確に確認できます。マイニング モデルには、Calls、Orders、Issues、および LvlTwoOperators の列が含まれています。これらの列は、ソース データ内のこれらの列に基づいて作成した任意の集計にマップできます。このシナリオでは、平均にマップします。

  7. LevelTwoOperators の横の空のセルをクリックし、[Shifts for Call Center.AvgOperators] を選択します。

  8. Calls の横の空のセルをクリックし、[Shifts for Call Center.AvgCalls] を選択して、[OK] をクリックします。

各シフトの予測を作成するには

  1. 予測クエリ ビルダーの下半分のグリッドで、[ソース] の下の空のセルをクリックし、[Shifts for Call Center] を選択します。

  2. [フィールド] の下の空のセルで、[Shift] を選択します。

  3. グリッド内の次の空白行をクリックします。上の手順を繰り返して、WageType の行を追加します。

  4. グリッドの次の空白行をクリックします。[ソース] 列で、[予測関数] を選択します。[フィールド] 列で、[Predict] を選択します。

  5. [マイニング モデル] ペインの ServiceGrade 列を、グリッドと [条件と引数] セルにドラッグします。[エイリアス] ボックスに、「Predicted Service Grade」と入力します。

  6. グリッドの次の空白行をクリックします。[ソース] 列で、[予測関数] を選択します。[フィールド] 列で、[PredictProbability] を選択します。

  7. [マイニング モデル] ペインの ServiceGrade 列を、グリッドと [条件と引数] セルにドラッグします。[エイリアス] ボックスに、「Probability」と入力します。

  8. [クエリ結果ビューに切り替え] をクリックして予測を表示します。

次の表に、各シフトのサンプルの結果を示します。

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) を作成するのは簡単です。また、ターゲット値を表す時間を含む列も容易に追加できます。次に、DSV をモデルへの入力として使用します。

次の表に、3 つの異なる応答時間を入力として使用した予測クエリの結果を示します。このクエリでは予測値の確率も返されるため、応答時間の短縮がサービス グレードに影響する可能性を評価できます。

次のテーブルにおいて、最初の数値のセットは予測されるサービス グレードを表し、2 つ目の (かっこ内の) 数値のセットは予測値の確率を表します。これらの結果から、応答時間を 90% に短縮する試みには価値があると結論づけることができます。

Shift

WageType

シフトの平均応答時間

応答時間を 90% に短縮した場合

応答時間を 80% に短縮した場合

AM

holiday

0.165 (0.366079388)

0.05 (0.457470875)

0.05 (0.610514425)

AM

weekday

0.05 (0.341218694)

0.05 (0.475767776)

0.05 (0.60083244)

midnight

holiday

0.165 (0.337801273)

0.05 (0.413774655)

0.05 (0.545764101)

midnight

weekday

0.05 (0.378241537)

0.05 (0.471615415)

0.05 (0.545614362)

PM1

holiday

0.165 (0.457871243)

0.165 (0.376892925)

0.05 (0.359440286)

PM1

weekday

0.08 (0.299182047)

0.08 (0.363761441)

0.08 (0.40686473)

PM2

holiday

0.105 (0.325921785)

0.05 (0.392121793)

0.05 (0.521558758)

PM2

weekday

0.105 (0.436051591)

0.105 (0.342589832)

0.05 (Y)

ここに示すように、入力値をデータ ソース ビューを介して提供することに加え、プログラムで計算した入力をモデルに提供することができます。すべての使用可能な値に対して反復処理することで、各シフトのターゲット サービス レベルが保証される、応答時間の最小限の削減量を求めることができます。

これ以外にも、このモデルに対してさまざまな予測クエリを作成できます。たとえば、特定のサービス レベルを満たす場合や特定の数の着信に応答する場合に必要となるオペレーターの人数を予測できます。ロジスティック回帰モデルには複数の出力を含めることができるため、数多くの別個のモデルを作成する必要なく、異なる独立変数を試してさまざまな結果を得ることができます。

解説

Excel 2007 用データ マイニング アドインで提供されるロジスティック回帰ウィザードを使用すると、サービス グレードを特定のシフトのターゲット レベルまで引き上げるにはレベル 2 のオペレーターが何人必要になるかなど、複雑な質問に対する回答を簡単に求めることができます。データ マイニング アドインは、無料でダウンロードできます。これらのアドインには、ニューラル ネットワークまたはロジスティック回帰アルゴリズムに基づいたウィザードが含まれています。詳細については、次のリンクを参照してください。

結論

ここでは、Microsoft ニューラル ネットワーク アルゴリズムおよび Microsoft ロジスティック回帰アルゴリズムに基づいたマイニング モデルを作成、カスタマイズ、および解釈する方法について説明しました。これらの種類のモデルは非常に高度であり、あらゆる分析が可能であるため、複雑であり、習得するのが困難です。データ ソース ビュー デザイナーで提供されるツール (Excel ベースのグラフ、ピボット テーブルなど) は、アルゴリズムによって検出された最も強力な傾向のサポートを提供し、発見された傾向を理解するうえで役立ちます。ただし、モデルに基づく洞察を正当に評価するには、モデルから提供される分析を探索し、データを深く調査したうえで、カスタム マイニング モデル ビューアーとその他のツールを交互に使用する必要があります。これにより、データに含まれている傾向の理解を深めることができます。