Dynamicsの売上予測 AI機能

本日はDynamics Salesにある売上予測機能についてお話します。

これまで、営業の売上予測システムは複雑で、営業データの蓄積、データの可用性、データサイエンティストによる分析など組織からの多額の投資や多くのテクノロジーが必要でした。
しかし、Dynamics 365 Salesを使用すると、営業現場で蓄積されたビジネスデータの 360 度のビューを活用し、すぐに使用できる売上予測ソリューションを作成できます。

# Dynamicsの予測
Dynamicsの売上予測ソリューションの正式名称は「予測」です。

https://learn.microsoft.com/ja-jp/dynamics365/sales/configure-forecast

今回はこの予測の概要、ロジックなどをご紹介します！

予測機能は、完全に自動化されており、設定ベースで作成できます。科学的な専門知識は必要ありません。
基盤となる機械学習は**最先端**であり、Dynamics 365に既にある豊富なデータを使用して、営業担当者、チーム、または組織が定義された期間内に販売する収益の予測を示してくれます。

Dynamics 365には、CRMからERPの機能が備わっているので、多くのデータを基に分析に活用してくことができます。

# 実際の画面
予測データは7日ごとに更新されます。
## グリッド
AIで予測された結果から計算した**現在の値を一覧**で表示した画面です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/344bb19e-b2d3-0a9f-2471-a83f83afba82.png)

## 傾向（トレンド）
AIで予測された結果から計算した値の**時系列グラフ**で表示した画面です。傾向グラフに表示されるカテゴリは、管理者が構成したグリッド列によって変更されます。 
傾向線にカーソルを合わせると、特定時間の予測カテゴリの概要を表示することもできます。 概要には、日付、予測カテゴリ、集約された収益が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/16e6b3e3-5ffc-b684-6772-2add69297267.png)

通常だとCRMのデータは常に最新にされてるので過去のある時点での実績どうだったかというのがなかなかみれないという問題がありました。
それがこのように、上のようなグラフで**過去・現在・未来の比較ができる**のが、この予測機能の便利なところの１つだと思います。

## フロー
AIで予測された結果から計算した**パイプラインのフロー図**を表示した画面です。
クリックすると計算に使われている案件が画面下に一覧で表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/33b771cf-7576-68fe-0af7-a5844b718eae.png)

# ロジック
## 理論
AIロジックでの変数についてご紹介します。
予測の構成要素は、予測の開始日である T_開始、T_期間、予測の終了と予測期間、時間粒度など、時間に関連しています。
T_開始からT_期間まで、システムに流入する新しい証拠を含めるために、予測は定期的に再計算されます。
今、予測の時間をTと呼んでいます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/7f60e7fa-4507-e65a-2deb-f8c7d0b8c224.png)

## 実際の入力データ
実際のAIの入力に使われる列としては、以下の値が使用されて予測値を出力してます。

- 作成日
- クローズ日
- 予測クローズ日
- 売上見込み
- 営業案件スコア

予測クローズ日、売上見込みなどは人の主観が入った値ですが、営業案件スコアはAIが過去の案件状況から出してくれるスコアです。
その為、AIの判断を基準にも予測できるようになっています。

## 精度を上げるためには
実際の入力データを踏まえて精度を上げるためには、以下のような操作をすることが望まれます。

- 売上見込み、予測クローズ日、および営業段階を常に正確かつ最新に維持する
- 営業案件の作業を開始したらすぐに営業案件を作成する
- 受注または失注した時点で営業案件を必ずクローズする
- すべての顧客エンゲージメントを活動として追跡する

# どのような値が表示されるのか（予測モデルで予測される値はどこなのか）
各画面でのそれぞれの値についてご説明します。
列や項目はカスタマイズすることが可能です。その為、モデル的なものとしてご参考いただければと思います。

## 売上予算
「売上予算」こちらは固定値で担当者ごとに設定します。（グループ全体の合計値が１行目）
ここでは、この値を目標として、どこまで近づけるかを予測値などと比較しながら、施策を考えるときに使います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/9c28d852-5342-ac3a-eca4-7137920671c1.png)


## 予測
予測機能の実際の画面の「予測」という項目は何なのかご説明します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/f4e3dd86-efe9-682a-9548-105283c4103c.png)

予測は以下のような構成要素の合計値になっています。
ここでは予測モデルで出力された値が使われていますので詳しくご紹介します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/d3f5ceee-c38a-4e85-fc2a-06e5c6a71673.png" width=80%>

予測のグリッドをクリックすると実際の内訳を表示することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/31475fec-3685-64c5-a899-c8d25dc4042f.png)

それぞれは以下のようなイメージです。
- **クローズした受注**: T_開始からT_現在までにクローズされた営業案件の収益実測値。
- **オープン案件の予測**: 現在オープンしている営業案件から生成される可能性のある収益。
- **新規からの予測**:システムにまだ存在しない営業案件から生成される可能性のある収益で、T_期間の前に獲得すると予想されるもの。

「クローズした受注」は実測値なので、それ以外の「オープン案件の予測」と「新規からの予測」のロジックについて説明します。

### オープン案件の予測
オープン案件の予測では、各営業案件の**クローズ予定日**と**収益**を予測します。
流れは以下のようになります。
①まず、複数の機械学習モデルを使用します。（決定木アンサンブルベース、DNN(ディープニューラルネットワーク)、確率モデル等）
②モデルは過去のデータでテストされ、その組織でのデータに最も一致するモデルを一つ採用します。
③この一つのモデルを使用して将来のクローズ日・収益を予測します。
④クローズ予定日がT_期間より前になると、収益が予測に追加されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/2291c1f6-b56e-f806-2ad8-982ffa8579c6.png)

### 新規からの予測
新規からの予測では、**クローズ予定日**と**収益**は、T_期間までの残り時間で因数分解された観測値生成率に基づく統計モデルによって推定されます。

## 案件の分類
以下の7項目では「パイプラインの管理」で分類した案件ごとにその実際の収益を概算しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/735c86f6-6109-208a-fe56-6cf8aff78f6d.png)

グリッドにおいて、それぞれの案件カテゴリの（案件予算に対する）達成率は設定で表示させることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/dbe89509-17f0-8df0-27e9-534a464f2d44.png)


## 不足分
グリッドの項目で「不足分」があります。
不足分は以下のように計算されます。目標からどれだけ実際の売り上げが離れているかを計る指標になっています。

    不足分 = 売り上げ予算-受注

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/f45259f1-e888-86fd-7d96-266762aa999b.png)

## カバレッジ率
グリッドの項目で「カバレッジ率」があります。予測値を含めた収益が目標の何割なのかを示す指標です。

    (最良ケース収益＋オープン案件の予測収益＋クローズした受注収益)/売上予算

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/1a226231-12e9-60f2-3d7a-84a4fe1fb454.png)


## 予測された実現
次に、傾向の項目の「予測された実現」についてご紹介します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/1f8b7826-0783-5869-db21-398f766ed89f.png)

こちらの値は予測期間の残りの予測収益を示します。

    クローズした受注＋オープン案件の予測＋新規からの予測

最初にご説明した「予測」の値はT_現在での収益値で時間が違うだけで、計算式は同じグラフです。

# まとめ
今回はDynamics Salesの予測機能についてご紹介しました。
従来、難しかったような売上の予測を、気軽に精度使って使っていくことができます。こちらの機能をうまくご活用いただき、よりよいDynamicsライフをお過ごしいただければと思います。

# 参照

https://learn.microsoft.com/ja-jp/dynamics365/sales/analyze-revenue-outcome-using-predictive-forecasting

https://learn.microsoft.com/ja-jp/dynamics365/sales/understand-forecast-projection-through-trend-chart#understand-trend-charts

https://cloudblogs.microsoft.com/dynamics365/bdm/2020/02/25/how-predictable-is-your-sales-forecast/

https://cloudblogs.microsoft.com/dynamics365/it/2020/02/25/driving-accountability-with-advanced-forecasting-in-dynamics-365-sales/

https://cloudblogs.microsoft.com/dynamics365/it/2020/02/26/predictive-sales-forecasting-in-dynamics-365-sales/