売上予測の目標の流れ
売上予測には実は下記のようにいくつかの種類があります。基本的には『OpportunityRevenue: 商談 - 収益』がよく利用されていると思います。
![f:id:tyoshikawa1106:20181107191938p:plain f:id:tyoshikawa1106:20181107191938p:plain]()
売上予測の目標の登録はデータローダかSalesforce APIによる対応が必要になります。登録には「売上予測種別ID」が必要になります。開発者コンソールで下記クエリを実行して取得するのが簡単だと思います。
SELECT Id,DeveloperName FROM ForecastingType
取得結果はこんな感じ。0Dbから始まるIDが「売上予測種別ID」です。
![f:id:tyoshikawa1106:20181107192228p:plain f:id:tyoshikawa1106:20181107192228p:plain]()
売上予測種別IDが確認できたらデータローダでインポートするためのCSVファイルを用意します。必要な情報は下記のとおりです。ユーザ名の列は取り込み時には不要ですが、あるとデータを準備する作業がやりやすいと思います。(...ヘルプでそう紹介されていました。)
![f:id:tyoshikawa1106:20181107192352p:plain f:id:tyoshikawa1106:20181107192352p:plain]()
![f:id:tyoshikawa1106:20181107192509p:plain:w300 f:id:tyoshikawa1106:20181107192509p:plain:w300]()
目標を取り込む際に指定するオブジェクトは「売上予測目標 (ForecastingQuota)」オブジェクトです。
![f:id:tyoshikawa1106:20181107192606p:plain f:id:tyoshikawa1106:20181107192606p:plain]()
項目マッピングはこんな感じです。
![f:id:tyoshikawa1106:20181107192632p:plain f:id:tyoshikawa1106:20181107192632p:plain]()
これで取り込み処理を実行すると売上予測の目標の列に値がセットされます。これでその月の商談の受注額が目標に到達しているかひと目で確認できるようになります。
![f:id:tyoshikawa1106:20181107192808p:plain f:id:tyoshikawa1106:20181107192808p:plain]()
売上予測とレポート
売上予測の目標を登録後、レポートを活用することでグラフ表示による比較が可能になります。目標をつかったレポート作成にはカスタムレポートタイプの作成が必要になります。下記の構成で作成してみてください。(子オブジェクト側は関連レコードの有無は問いませんの方を選択します。)
![f:id:tyoshikawa1106:20181107193945p:plain f:id:tyoshikawa1106:20181107193945p:plain]()
細かい条件は利用用途によって変更することになりますが例としてざっくりこんな感じ。
![f:id:tyoshikawa1106:20181107194303p:plain f:id:tyoshikawa1106:20181107194303p:plain]()
これで目標と商談の受注した金額を比較するためのグラフが作成できました。
![f:id:tyoshikawa1106:20181107194407p:plain f:id:tyoshikawa1106:20181107194407p:plain]()
レポート作成の際に商談の金額とは別に売上予測 金額という類似の項目もあるので注意してください。今回の設定手順の場合は「売上予測 金額」項目は欲しい情報とは異なる項目になります。
![f:id:tyoshikawa1106:20181107194609p:plain f:id:tyoshikawa1106:20181107194609p:plain]()
毎月の目標と金額の比較は上記のような感じで可能になりますが、Salesforceでは累積レポートの作成も可能です。累積レポートの設定方法は下記サイトに詳しくまとめられていました。
http://deferloader.blog.uhuru.co.jp/?p=5156
レポート設定のこの部分から集計項目を作成します。
![f:id:tyoshikawa1106:20181107195001p:plain:w300 f:id:tyoshikawa1106:20181107195001p:plain:w300]()
形式タブで開始日を選びます。
![f:id:tyoshikawa1106:20181107195019p:plain:w300 f:id:tyoshikawa1106:20181107195019p:plain:w300]()
続いて数式を記載しますがフルエディタに切り替えるとやりやすいと思います。
![f:id:tyoshikawa1106:20181107195130p:plain f:id:tyoshikawa1106:20181107195130p:plain]()
式は下記のような感じ。上のリンクの参考サイトの数式をそのまま使いました。
目標の累積
ForecastingQuota.QuotaAmount:SUM +
IF (ISNULL (PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate)), 0, PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate))+
IF (ISNULL (PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 2)), 0, PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 2))+
IF (ISNULL (PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 3)), 0, PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 3))+
IF (ISNULL (PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 4)), 0, PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 4))+
IF (ISNULL (PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 5)), 0, PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 5))+
IF (ISNULL (PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 6)), 0, PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 6))+
IF (ISNULL (PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 7)), 0, PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 7))+
IF (ISNULL (PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 8)), 0, PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 8))+
IF (ISNULL (PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 9)), 0, PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 9))+
IF (ISNULL (PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 10)), 0, PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 10))+
IF (ISNULL (PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 11)), 0, PREVGROUPVAL(ForecastingQuota.QuotaAmount:SUM, ForecastingQuota.StartDate, 11))
金額の累積
ForecastingFact_Opp.Amount:SUM +
IF (ISNULL (PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate)), 0, PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate))+
IF (ISNULL (PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 2)), 0, PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 2))+
IF (ISNULL (PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 3)), 0, PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 3))+
IF (ISNULL (PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 4)), 0, PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 4))+
IF (ISNULL (PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 5)), 0, PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 5))+
IF (ISNULL (PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 6)), 0, PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 6))+
IF (ISNULL (PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 7)), 0, PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 7))+
IF (ISNULL (PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 8)), 0, PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 8))+
IF (ISNULL (PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 9)), 0, PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 9))+
IF (ISNULL (PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 10)), 0, PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 10))+
IF (ISNULL (PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 11)), 0, PREVGROUPVAL(ForecastingFact_Opp.Amount:SUM, ForecastingQuota.StartDate, 11))
一見複雑ですが、よく見るとわかりやすい数式です。
![f:id:tyoshikawa1106:20181107195515p:plain f:id:tyoshikawa1106:20181107195515p:plain]()
項目のAPI名ですが、「ForecastingFact_Opp.Amount」というように数式用の記載のされ方になっている部分があります。API名がわからないときは挿入ボタンで挿入すると確認できます。
![f:id:tyoshikawa1106:20181107195434p:plain f:id:tyoshikawa1106:20181107195434p:plain]()
累積するには「PREVGROUPVAL」関数を利用しますが、下記のように空欄になって表示されることがあります。詳細行を非表示にしたりグルーピング項目を一つにすることで正しい値が表示されるようになります。
![f:id:tyoshikawa1106:20181107200111p:plain f:id:tyoshikawa1106:20181107200111p:plain]()
グラフの設定では通常の縦棒グラフを選択、X軸に開始日を指定してY軸に先程作成した集計項目を指定します。「+基準」で複数項目を指定できます。
![f:id:tyoshikawa1106:20181107200353p:plain:w300 f:id:tyoshikawa1106:20181107200353p:plain:w300]()
![f:id:tyoshikawa1106:20181107200342p:plain:w300 f:id:tyoshikawa1106:20181107200342p:plain:w300]()
これで累積棒グラフの表示が可能になります。(※試してみた感じではこうした累積の比較グラフを作成する際に積み上げ棒グラフとの組み合わせはできないみたいです。)
![f:id:tyoshikawa1106:20181107200512p:plain f:id:tyoshikawa1106:20181107200512p:plain]()
こうしてレポートを用意したあとはダッシュボードでグラフをまとめることでより便利になります。
![f:id:tyoshikawa1106:20181107201100p:plain f:id:tyoshikawa1106:20181107201100p:plain]()
チームの目標はもちろん、営業メンバーごとに目標と金額の比較グラフを用意するとうまくいっている人や苦戦している人を確認しやすくなり、苦戦している人がいる場合はフォローにはいるなどの判断がしやすくなると思います。
売上予測の目標を登録することでこうした便利な使い方も可能になります。