データチームの仕事を紹介します（退会予測モデルの改善を中心に）

# はじめに

この記事は[モチベーションクラウドシリーズのアドベントカレンダー](https://qiita.com/advent-calendar/2020/mcs)の16日目の記事です。
はじめまして、モチベーションクラウドの開発組織の中のデータチームに所属している黒崎です。
株式会社リンクアンドモチベーションには今年の6月にJOINしました。
この記事では、データチームの紹介と、そのチームの中で私が最近取り組んだ退会予測モデルの改善（ヘルススコア）について紹介します。
記事の目的としては、事業会社のデータサイエンティストの仕事の一例を知っていただければと思っています。

# データチームの仕事について

うちのデータチームはまだ発足して間もないところがあり、取り組んでいる仕事の内容や規模はまだ限定的です。
開発組織の中でも独立した組織で、開発組織の中のチームよりも、コンサルやカスタマーサクセスチームと一緒に仕事をすることの方が多いです。
現在は主に以下のような仕事をしています。

* データ分析
* データを用いたモデリング
* データ分析基盤の構築

データ分析の仕事では、お客様の業務課題の解決のため、お客様からご提供いただいたデータをモチベーションクラウドのエンゲージメントサーベイのデータと紐付けて分析をしています。
ご提供いただいているデータの例としては、面談などの組織施策、ストレスチェック、退職率、業績などのデータがあります。
これにより、どのような組織施策が実際に組織改善に役立っていそうかですとか、
ストレスチェック・退職率・業績はエンゲージメントサーベイのどの項目を改善すると効果がありそうか、ということがわかります。

モデリングについては、[昨年の東山の記事](https://qiita.com/tohyama_eiji/items/01df7ebcc013d523fcef)にもありましたが、退会予測モデルを作るのに使用しています。
私が入社してから最初に行った仕事はこの退会予測モデルの改善だったため、ここについては後ほどもう少し詳細に紹介します。
現在はまだモデリングを行っているのは退会予測くらいですが、もっと色々活用していきたいと思っています。

データ分析基盤については、社内の様々なデータを集約し、アドホックなデータ分析やプロダクト改善のためのデータソースとして活用できるようにしようとしています。
ただ、現状ではモチベーションクラウドの一部のデータしか収集・活用できていません。
モチベーションクラウドおよび社内の他プロダクトのデータ、お客様からご提供いただいたデータまで集約して、データの活用レベルを上げていきたいと考えています。

# 退会予測モデルの改善について
## 課題
これまでの退会予測モデルには以下の課題がありました。

1. コンサルの部署によってはあまり活用されていないところがあった
2. 単純な線形回帰モデルを用いていた
3. モデルを用いたスコア計算処理が自動化されておらず、月次で手動更新していた

1つ目の部署によっては活用されていなかった問題については、コンサルへヒアリングしたところ以下の原因があることがわかりました。

* 既に顧客の退会可能性として部署内の独自スコアを算出・運用している部署があった。そのため退会予測モデルの必要性がそれほど感じられていなかった。
* 営業活動の情報が反映されていなかった。
    * 上記の独自スコアは主に営業活動の情報から算出されていて、それらの営業活動の情報はお客様の退会に関わる重要なファクターだと考えられていた。
    * 既存の退会予測モデルではエンゲージメントサーベイのデータのみを用いていたため、利用データの乖離が大きく、移行しづらかった。

ただ、上記の独自スコアの情報はスプレッドシートで管理されていて、担当者によっては必ずしも厳密に入力されているわけではなかったり、営業活動の状況はSalesforceにも入力されているため、データの二重管理の負担が大きいという問題もありました。
もう一つ大きな問題として、その独自スコアの算出の基準に明確な根拠がなく肌感覚で設定されていて（この項目がいくつなら何点、など）、退会予測の精度としては高くないという問題もありました。

## 対応
これらの問題を解決するため、以下のような対応を行いました。

* 必要性の実感の問題
    * コンサルの方を巻き込んでプロジェクトを立ち上げ、運用に乗せるところまで協力してもらう
    * モデルの特徴量にコンサルの視点を反映して一緒に作っていく
* 利用データの乖離の問題
    * 営業活動のデータについてもコンサルとすり合わせながら再整理し、退会予測モデルの特徴量として組み込む
* 二重管理の問題
    * 営業活動のデータはSalesforceから取得できるようにし、それをSalesforceのレポートとして見られるようにした。これによりSalesforceに営業活動の情報を入力するだけでよくなり、二重管理を（ほぼ）解消できた。
    * 一部だけ営業活動の情報からは取得しづらい項目がありSalesforce上で手動入力する項目は残ってしまったものの、従来のスプレッドシート管理に加えて大幅に工数削減できた。
    * ちなみに、レポートについてはカスタマーサクセスチームでグラフを含めたきれいなレポートを作っていただいた。（結果として、新しい退会予測モデルや二重管理の解消より、このレポートの方が喜ばれて主役になってしまった感がありましたが・・・:sweat:）
* 精度の問題
    * 現行の独自スコアでは退会の予測精度が高くないことを示す
    * 既存の退会予測モデルも単純な線形回帰モデルを使用していたため、デファクトとなりつつある[LightGBM](https://github.com/microsoft/LightGBM)へ変更する
* 既存の退会予測モデルのスコアの手動更新について
    * モデルを用いて退会予測スコアを算出し、そのデータをSalesforceにバッチ処理で反映できるようにした
    * 既存の退会予測モデルでは、コンサルからデータをスプレッドシート形式で受領して作っている特徴量があった。それを月次でもらっていたため、高頻度での更新や自動化が難しかった。上記のSalesforceからのデータ取得に伴い、この問題も解決して自動更新できるようになった。

このような対応を行い、9月末にリリースをしました。
改善要望をいただいていたり、別の部署でもヘルススコアを使いたいので自分達のところでも独自の特徴量を使いたいという声も出てきています。
ただ、今期（10-12月※）はデータチーム側で改善のためのリソースがなかったため、改善し広げていくのは来期移行になりそうです。

# まとめ

モチベーションクラウド開発組織内のデータチームの仕事について紹介し、その中で退会予測モデル（ヘルススコア）にフォーカスを当てて紹介しました。
もしこれで事業会社のデータチームの仕事についてイメージが付いたらよかったですが、いかがでしたでしょうか。

データチームとしては色々とやりたいことはありますが、リソースが足りていない状況です。
データチームとして中途採用を募集していますので、もしご興味がある方がいらっしゃったら、ぜひ応募していただけると嬉しいです。
https://open.talentio.com/1/c/lmi-jp/requisitions/detail/15362
モチベーションクラウドの開発組織に興味をもっていただけたなら、このアドベントカレンダーの他の記事や、
https://qiita.com/advent-calendar/2020/mcs
採用のためのインタビュー記事も見ていただければと思います。
https://www.wantedly.com/stories/s/lim_engineer_story

ご精読ありがとうございました！