Quest 金融機関におけるテレマーケティングの効率化

難易度:★☆☆☆☆

  • 業種
  • 金融・保険
  • 分類問題

マーケティング活動においてターゲティングとは重要な戦略の1つです。これは小売から金融業界まで共通の課題であり、売上を最大化する為に見込客や優良顧客に対してアプローチをするといった行動をとることができるようになります。本クエストでは銀行を主人公とし、定期預金キャンペーンに対する顧客の申込率(反応率)を予測するモデルを作成して、マーケティング活動の効率化に活用します。 クエストを通じ、データ分析の基本的な流れや、決定木による可視化、そして機械学習の精度向上の為に重要となるパラメータチューニングの方法論を学びます。クエストの最後のChallenge Missionでは学んだパラメータチューニングを理解できたかを確認します。

  • 8 時間
  • 3,700 Exp
  • 15 Videos
  • 0 Slides
  • 5 Missions
  • 12 Tasks
  • 59 Operations

金融機関におけるテレマーケティングの効率化 50 Exp

SIGNATE銀行は創業以来、一貫した地域密着経営により業績も右肩上がりでしたが、昨今の不況の煽りを受け、次第に業績も悪化。先日の役員会議では、業務の効率化が最優先課題として挙げられ、全部署に対して対策の立案が命じられました。SINGATE銀行では、毎年定期預金キャンペーンを実施し、顧客に対して電話によるダイレクトマーケティングを行っており、今回は機械学習によって定期預金の申込みを行ってくれそうな顧客を事前に予測するプロジェクトが立案されました。顧客ごとに申込率を予測できれば、申込率の高い顧客に優先的にアタックすることで、マーケティング活動を効率化でき、費用対効果を最大化できるはずです。お硬い上層部への説明も義務付けられているので、説明のしやすさという点も考慮する必要もありそうです。

Videoを再生する

Mission 1

システム部から過去データの取り寄せ

システム部から過去データを取り寄せた為、早速データの内容の確認が必要になりました。データを確認する為には、プログラムへの読み込みやデータ量の確認等がまず最初にすべき作業です。本ミッションではライブラリを使ったデータの読み込み方やデータ量やカラム情報など確認方法を学び、データの概要の確認方法を学びます。

Video 1
システム部から過去データの取り寄せ
    50 Exp
    Task 1
    データ読み込み
    200 Exp

    Task 1

    データ読み込み

    • 1 時間
    • 3 Operations
    • 200 Exp

    データ分析を始めるにあたって、まずはPython上で扱えるようにデータを取り込まなくてはなりません。
    このTaskでは、ライブラリのimport方法と、データ分析のための様々なツールが用意されているライブラリpandasを使ったcsvデータの読み込み方法を学びます。

    Task 2
    データの確認
    150 Exp

    Task 2

    データの確認

    • 1 時間
    • 3 Operations
    • 150 Exp

    データを読み込むことができたので、今度はデータが正しく読み込まれているのかを確認する方法論について学びます。具体的には、データ内容の表示方法や、データ量、カラム情報の確認方法について学びます。

    Mission 2

    優良顧客の特徴の洗い出し

    データの確認が一通り完了した為、モデルを作成する前の事前分析として、優良顧客の特徴をデータから洗い出すことになりました。優良顧客の特徴を発見する為には、データを多角的に眺めることが重要です。本ミッションでは、データを俯瞰して見ることや、データの示唆する情報を多面的に捉える方法(探索的分析やEDAと呼ぶ)を学びます。

    Video 1
    優良顧客の特徴の洗い出し
      50 Exp
      Task 1
      変数の分布・値の確認
      400 Exp

      Task 1

      変数の分布・値の確認

      • 1 時間
      • 7 Operations
      • 400 Exp

      このTaskでは、データに含まれる各変数について、基本統計量を確認したりヒストグラムを描画することで、その分布の特徴を知る方法を学びます。 良い分析を行うにあたって、データの特徴を知ることは不可欠です。このTaskを通してその基本的な方法を学び、未知のデータに対しても活用できるようになりましょう。

      Task 2
      変数間の関係の確認
      550 Exp

      Task 2

      変数間の関係の確認

      • 2 時間
      • 10 Operations
      • 550 Exp

      ここまでは1つの変数について、その特徴を見てきました。次は複数の変数の関係性について見ていきましょう。

      データ分析においては、変数間の関係性を明らかにすることはとても大切です。なぜなら、変数間の関係性は、データの解釈や仮説作りを検討する上で、重要な情報を提供してくれるからです。

      Mission 3

      ターゲティングモデル作成前のデータ前処理

      優良顧客の特徴を捉えることができた為、いよいよモデル作成の前の準備作業を実施することになりました。モデルを作成する為には、モデルに投入できるようデータ処理が必要です。本ミッションでは、特にダミー変数化と呼ばれるデータ前処理方法を学びます。

      Video 1
      ターゲティングモデル作成前のデータ前処理
        50 Exp
        Task 1
        特徴量の生成・加工
        200 Exp

        Task 1

        特徴量の生成・加工

        • 1 時間
        • 3 Operations
        • 200 Exp

        前回のTaskで学んだように、データには質的データと量的データの2種類がありました。機械学習でモデルにデータを渡す際には、データの全てを量的データにする必要があります。ここでは、ダミー変数化という前処理の方法を学んでいきます。

        Mission 4

        ターゲティングモデルの作成

        それでは本プロジェクトにおける具体的な解決手段である優良顧客をターゲティングする予測モデルを作成することになりました。今回は顧客の属性情報を入力とし、優良顧客か否かの判定結果を出力として得られるモデルを作成します。本ミッションでは前処理を行ったデータを使い、機械学習モデルの作成から、作成したモデルの精度を評価するまでの一連の流れを学びます。

        Video 1
        ターゲティングモデルの作成
          50 Exp
          Task 1
          学習用・評価用データの分割
          250 Exp

          Task 1

          学習用・評価用データの分割

          • 1 時間
          • 4 Operations
          • 250 Exp

          モデル作成をする前準備として、モデルを作成するために使う学習用データと、作成したモデルの精度を評価するために使う評価用データにデータを分割する必要があります。

          Task 2
          評価関数の定義
          250 Exp

          Task 2

          評価関数の定義

          • 1 時間
          • 4 Operations
          • 250 Exp

          評価関数とは、モデルの精度の良し悪しを定量的に測る指標として使用されるもので、問題の内容に応じて適切に設定する必要があります。今回の目的変数は、定期預金申込有無(1:有, 0:無)で、集合を 1 か 0 かにグループ分けする分類作業にあたるため、このような問題を2値分類問題あるいは2クラス分類問題と呼びます。

          分類問題で使用される代表的な評価関数は次のようなものがあります。

          正解率 (Accuracy)
          再現率 (Recall)
          LogLoss
          AUC
          今回は、評価関数としてAUCを利用することにします。

          Task 3
          モデルの学習
          350 Exp

          Task 3

          モデルの学習

          • 1 時間
          • 6 Operations
          • 350 Exp

          それでは、前処理を行ったデータを使ってモデルの学習を行っていきましょう。 分類問題で使われる機械学習の手法としては以下のようなものがあります。

          ロジスティック回帰
          決定木
          NeuralNet
          SVM
          KNN
          Naïve Bayes

          Task 4
          モデルの精度評価・解釈
          300 Exp

          Task 4

          モデルの精度評価・解釈

          • 1 時間
          • 6 Operations
          • 300 Exp

          前回のOperationで算出した予測結果を評価してみましょう。またグラフを使って可視化の練習も行いましょう。

          Mission 5

          ターゲティングモデルのブラッシュアップ

          作成したモデルではある一定の成果は得られたものの、より精度の高いモデルが必要と判断がされた為、モデルを改善することになりました。説明のしやすさという観点からモデル自体は変更せずに予測精度を改善することが求められています。本ミッションでは、パラメータチューニングと呼ばれる手法を利用するモデルの改善方法を学びます。

          Video 1
          ターゲティングモデルのブラッシュアップ
            50 Exp
            Task 1
            パラメータを変更して改善する
            100 Exp

            Task 1

            パラメータを変更して改善する

            • 1 時間
            • 2 Operations
            • 100 Exp

            最初のモデリングでは、パラメータの1つ、max_depthの値を2としてモデルの学習を行いました。次はこのmax_depthの値を増やしてモデルを学習してみましょう。木構造の深さが深くなるため、より多くの質問を表現でき、複雑なモデルを作ることができるようになります。

            Task 2
            最適なパラメータを探索して改善する
            550 Exp

            Task 2

            最適なパラメータを探索して改善する

            • 1 時間
            • 10 Operations
            • 550 Exp

            これまでmax_depthが2の場合と10の場合とでモデルの学習を行い精度の評価を行ってきましたが、決定木の木構造の深さ(層の数)は、浅くし過ぎると複雑な表現ができないため予測精度が上がらず、かといって深くし過ぎると過学習に陥ってしまい未知のデータに対する予測精度が低くなってしまいます。それでは、最も精度が高くなる値は何でしょうか?これまでのように、パラメータの値を変えながら1つ1つのモデルを作成・評価していくのは大変な作業です。しかし、python には、パラメータの範囲を指定しその範囲をしらみつぶしに調べることで最適なパラメータを探索する、グリッドサーチという便利な方法が用意されています。ここでは、このグリッドサーチを試してみます。

            Task 3
            最終成果物の作成
            50 Exp

            Task 3

            最終成果物の作成

            • 1 時間
            • 1 Operations
            • 50 Exp

            このミッションの目的は、ダイレクトマーケティングの効率化のために、定期預金の申込みに応じてくれる可能性が高い顧客を抽出することでした。

            このTaskでは、これまでの分析の成果物として、潜在的な顧客をまとめたアタックリストを作成します。

            Conclusion 50 Exp

            今回のプロジェクトでは、マーケティング活動の効率化を目的に優良顧客かどうかを判断するターゲティングモデル作成をし、優良顧客のアタックリストを作成することがゴールでした。今回のプロジェクトの成果とクエストを通じて学んだことをおさらいしましょう。

            Videoを再生する

            Competition

            銀行の顧客ターゲティング

            これまで学習したことを元に、SIGNATEの練習問題に挑戦しましょう。このコンペではある銀行の顧客属性データおよび、過去のキャンペーンでの接触情報、などで、これらのデータを元に、当該のキャンペーンの結果、口座を開設したかどうかを予測するモデル作成にチャレンジします。

            Competitionに挑戦する