商談のフェーズごとの移行率を出したい。
Salesforceを使っていると、フェーズとフェーズの間の移行率を取りたいことってありますよね。例えばフェーズ1〜5 があり、どこがボトルネックになってるかを見たいとか、担当ごとにどこで詰まってるのかを見たいとか、季節ごとにみたいとか。
※汎用的に作った非管理パッケージもあります。↓
準備編
前提
Salesforce Sales Cloud EEを使用
商談オブジェクトを使用し、フェーズの項目変更履歴が有効
この場合、対応可能なアプローチは以下の4つです。
BIツールで頑張る
ある意味で、一番正解です。ただ現場レベルで分析できるようにするにはちょっとハードルがあります。CRMAいいですよね。商談に、「到達したフェーズ」を記録する
その上で、最終到達フェーズごとにグルーピングしたレポートを作ると、必要なデータは出てきます。
一方、Salesforceの構成上、可視化の自由度はちょっと下がります。商談に「フェーズ1到達フラグ」〜「フェーズ5到達フラグを作る」
一番ふつうだと思う発想です。やりたいことができる一方で、ただでさえ複雑になりがちな商談オブジェクトが更に複雑になります。
メンテナンスも大変です(フェーズ名称が変わったり、レコードタイプが増えたりするとメンテナンスが必要になります。)商談の子オブジェクトに「フェーズ1到達フラグ」〜「フェーズ5到達フラグを作る」
思いつきました。子オブジェクトにしておけばええんや
ということで作って行きましょう
作成編
1,カスタムオブジェクト・項目を作る
オブジェクト名:商談分析データ(OpportunityAnalysisData__c)※自動採番
項目
商談(主従関係):主従がいいですね。
商談ID(テキスト・ユニーク・外部ID・必須):重複を排除しつつ、商談ごとにUPSERTするのが簡単になります。
フェーズ1〜フェーズN到達フラグ(Boolean)
2, ビジネスロジックを書く
今回はフローを使いました。UnofficialSFのUpsert Record要素を使いました。使わない場合は、条件分岐して更新か作成かを分ければOKでしょう。
エントリ条件は次の様になっています。(AND条件)
商談作成ORフェーズ変更
レコードタイプが対象のもの ※数式の場合は、15文字のIDを使います。
完了フラグFalse OR 成立フラグTrue
3, 既存データの整備
これが面倒くさいです。1〜2は好きだけど、3は嫌いなアドミン、多いハズ笑
Excelゴリゴリして作りました。
商談履歴レポートを作成 ※標準の便利なレポートです
フェーズ変更フラグTRUE
フェーズ対象のもの
Excelでゴリゴリ
商談IDとフェーズを結合した、「一致キー列」を作成
別シートに、商談ID列、各フェーズの到達フェーズのフラグの列を作成
MATCH関数とIF関数、IFVALUEなどを使う
うちの場合こうなった、というのを貼っておきます。
フェーズ2になってれば自動でTRUE,なってない場合は一致キーで値が見つかればTRUE、なければFALSE的な感じです。
=IF(D2,TRUE, IF(IFERROR(MATCH($B2&C$1,'元データ'!$C:$C,0),0)>0,TRUE,FALSE))
分析編
ここからは、「商談分析データが関連する商談」のレポートを作るだけです。集計レベル数式で
OpportunityAnalysisData__c.Stage_002__c:SUM/OpportunityAnalysisData__c.Stage_001__c:SUM
などとしてあげれば、フェーズごとの移行率が出せます。
集計レベル数式は5つまで、縦棒グラフは4系列まで表示できますね。
まとめ
はい。お疲れ様でした。
商談分析用にカスタム項目をたくさんを作るのは、メンテナンスの観点から避けていました。コピーしたときとか、レコードタイプ変更時とか、考えただけでもウェぇぇぇとなりますね。
商談につき最大1つの子オブジェクトに格納することで、保守性や今後の見通しがよくなります。
例えばですが、フェーズの到達日を記録するとか、商談サイズの推移を記録するとか、
最後に
LayerXでは、Salesforceアドミン/エンジニアを募集しています。この記事を読んで、「もっとこうしたほうがいいよ」「こんなことやったら?」と思ってくれた方は間違いなく適性があります。LayerXは色々と恵まれた環境だと思うので、お話だけでも聞きにきてください。
お話だけ聞きたいときはこっち(NG少なめでお話します。)
JDはこっち(給与などについては、選考や面談の中でお伝えします。)
この記事が気に入ったらサポートをしてみませんか?