Deep Knowledge(DeepThrive)

HubSpotのグラフに「%」が出ない…を解決!商談化率や成約率を正しく表示する裏ワザ

作成者: 勝間田 雄大|Oct 20, 2026, 10:30:08 AM

1. よくある課題:「割合(%)」のグラフ化でエラーや集計エラーが起きる理由

HubSpotでレポートを作成する際、「商談化率」や「成約率」といったパーセンテージ(%)を棒グラフで表現しようとして、以下のような壁にぶつかるケースが非常に多く見られます。

  • 数式フィールドで割り算を作ろうとしても、エラーが出て保存できない
  • 表形式で出力すると、データの下部に意図しない「総計」が足し算されてしまい、%の計算が崩れてしまう

実は、HubSpotのカスタムレポート(数式フィールド)は、「データ全体を一度俯瞰して、全体の件数を分母にして割り算する」という処理がシステムの構造上、少し苦手という特性があります。

そのため、普通に割り算のレポートを作ろうとすると設定が行き詰まり、結局Excelにデータをエクスポートして手計算している担当者の方も少なくありません。

2. 実現イメージ:営業プロセスの進捗をひと目で把握

この記事の設定を行うことで、外部ツールを使わずにHubSpot内で直接、以下のような「%表示の棒グラフ」を自動生成できるようになります。

  • 月別の「商談化率(SQL到達率)」の推移(棒グラフ)
  • パイプライン別の「成約率(受注率)」の比較(棒グラフ)

一度ダッシュボードに配置すれば、データはリアルタイムで自動更新されます。営業活動のどこにボトルネック(停滞)があるのか、どのパイプラインが好調なのかをひと目で判断できるようになります。

3. なぜ表現できる?「1と0の平均」を使うロジックの秘密

HubSpotのグラフ機能でスマートに割合(%)を表示させるために、データ分析の世界でよく使われる「1と0のフラグを立てて、その平均を取る」(平均参照ロジック)というテクニックを使用します。

一見すると回りくどい裏ワザのように思えますが、数学の仕組み上、本来やりたい割り算と完全に同じ結果になります。

2つの計算式の「中身」は完全に一致する

私たちが頭の中で考えている「割合」の計算式と、HubSpotにやらせる「平均値」の計算式を並べてみると、実は分子と分母が全く同じであることが分かります。

  ① 本来やりたい「割合」の式      ② HubSpotが計算する「平均値」の式

         

 

ここで、「条件に合うなら1、合わないなら0」というルール(行レベルの判定)を与えると、

②の式は以下のように変わります。

  • 分子(数値の合計):「1 + 1 + 0 + 1 + 0...」と足していくことになります。0は何回足しても数値が増えないため、合計値は純粋に「1(対象者)の件数」になります。

  • 分母(データの総件数):1の人も0の人も全員を1件としてカウントするため、「全体の件数」になります。

つまり「1と0の平均を出す」という処理は、自動的に「対象の件数 ÷ 全体の件数」の割り算をしていることと同じになります。

HubSpotのシステムにとっては、「データ1行ごとに1か0かを判定し、最後にその平均を出す」という処理の方が圧倒的に負荷が軽いため、エラーを起こさずスムーズにグラフを描画できるのです。

4. HubSpotで「%(割合)」を出す4つのアプローチ徹底比較

HubSpotでパーセンテージを算出・表示する方法はいくつか存在します。
それぞれの特徴と、今回の「0・1制御(平均参照ロジック)」と比較した際の使い分けを表に整理しました。

算出方法 得意なシーン
(活用例)
メリット 注意点・考慮すべきポイント 今回の方法
(0・1制御)との比較
①1と0の平均ロジック 月別推移の可視化、施策別や担当者別の成果比較 どのような切り口(X軸)でもエラーを起こさずに綺麗な棒グラフが作れる 事前に「内部値」を調べたり、数式(if文)を記述したりする初期設定の手間がある 他のオブジェクトを組み合わせたレポートでも、データの重複カウントや集計エラーを完全に回避できる強力な手法
②標準の「ファネルレポート」機能 営業プロセス全体の歩留まりや遷移率を直感的に把握したいとき 数式を組む必要がなく、数クリックで直感的なファネル図(逆三角形の図)が完成する 特定の2つのステージ間の比較に特化しているため、柔軟なカスタマイズがしにくい 「今月の商談化率は先月と比べてどう変わったか」という時系列での推移を棒グラフで並べることができない
③数式なしの「円グラフ」表示 現在のコンタクトや商談の「最新の内訳・構成比」をパッと見せたいとき 数式が不要。現在の全体バランスを視覚的にすっきり見せたいときに最適 棒グラフにできないため、データの推移や並列の比較には向いていない 円グラフは「現在の1つの断面(スナップショット)」しか表現できないため、多角的なクロス集計(月別×施策別など)ができない
④ 集計関数(COUNT等)による直接の割り算 単一のオブジェクト内での単純な割り算(例:商談数に占める受注商談数など) 頭の中で考えている計算式(分子 ÷ 分母)をそのまま直感的に記述できる データの組み合わせや、X軸に置く項目によっては、システム側で処理できずにエラー(集計エラー)が発生しやすい 「1人のコンタクトに2つの商談が紐付いている」場合などに、データが複製されて分母が多くカウントされ%がズレる罠がある。0・1制御は最初に行レベルでフラグを確定させるため、データ重複による集計崩れが起きない。

結論:なぜ今回の方法がベストなのか?

単に「現在の内訳を見たいだけ」なら円グラフ

「全体の歩留まりを見たいだけ」ならファネルレポート


が手軽です。
しかし、「先月と比べて商談化率は上がったか?(推移)」「A施策とB施策、どちらが成約率が高いか?(比較)」を棒グラフでクリアに可視化したい場合は、エラーが起きず確実に集計できる平均参照ロジック(0・1制御)が最適な選択肢になります。

 

5. 事前準備:設定に必要な「内部値」を確認する

数式を作成する前に、対象となるステージや選択肢の「内部値」を確認する必要があります。

※内部値とは、画面上の日本語名(表示ラベル)ではなく、HubSpotのシステムが裏側で認識している英語や数値の「識別名」のことです。数式にはこの内部値を入力します

ライフサイクルステージの内部値の確認方法

  1. HubSpotの右上にある [歯車マーク(設定)] をクリックします。
  2. 左メニューの [データ管理] > [オブジェクト] > [コンタクト] に進みます。
  3. [ライフサイクルステージ] タブをクリックします。
  4. 対象のステージ(例:商談化されたリードなど)の右側にある [編集] または詳細を確認し、表示される「内部値」(例:salesqualifiedlead など)をコピーしてメモしておきます。

商談ステージの内部値の確認方法

  1. 設定画面の左メニュー [データ管理] > [オブジェクト] > [商談] に進みます。
  2. [パイプライン] タブをクリックします。
  3. 対象のパイプラインを選択し、ステージ一覧の右側にある [コードアイコン(</>)] をクリックすると、各ステージの「内部値(ステージID)」(例:closedwon や数字の羅列など)が表示されるので、これをメモしておきます。
    (下記、赤枠内の数列です)

 

 

6. 具体的な実装ステップ(テンプレート数式)

メニューの [レポート] > [レポート] から [レポートを作成] > [カスタムレポートビルダー] を選択して進めます。

自社の環境に合わせて、以下のテンプレートの"【確認した内部値】"の箇所を書き換えて数式を作成してください。

 

ケースA:特定のライフサイクルステージに到達した割合(商談化率など)

コンタクト(顧客)全体の中で、特定のステージに進んだ割合を算出します。

① データソースの選択

  • 「コンタクト」を選択します。

② カスタム数式の作成

*レポート作成から式フィールドを選択し、下記数式を入力


  • 数式名:商談化率(%) ※任意の名前
  • 計算式(テンプレート):
    if([CONTACT.lifecyclestage] == "【確認した内部値】", 1, 0) 
    ※対象が複数ある場合は、以下のように ||(または)で繋ぎます。

  • if([CONTACT.lifecyclestage] == "【内部値1】" ||
    [CONTACT.lifecyclestage] == "【内部値2】", 1, 0)


  • フォーマット:「パーセンテージ(%)」を選択して保存します。

ケースB:パイプラインの特定ステージにいる割合(成約率など)

動いている商談全体の中で、無事に特定のステージ(例:成約など)となった割合を算出します。

① データソースの選択

  • 「商談」を選択します。

② カスタム数式の作成

左メニューの [カスタム数式を追加] をクリックし、以下の条件を入力します。

  • 数式名:成約率(%) ※任意の名前
  • 計算式(テンプレート):
    if([DEAL.dealstage] == "【確認した内部値】", 1, 0) 
  • フォーマット:「パーセンテージ(%)」を選択して保存します。

共通:グラフの表示設定

数式ができたら、最後に棒グラフとして組み立てます。

  1. グラフの種類を選択:画面中央のグラフタイプから [垂直棒グラフ] を選択します。

    軸の配置:
    • X軸(横軸):比較したい軸(例:「コンタクトの作成日時(月別)」や「商談のパイプライン」など)を配置します
    • Y軸(縦軸):先ほど作成したカスタム数式を配置します。

  1. 集計方法の変更(最重要):Y軸に配置した数式のドロップダウン(鉛筆マーク)をクリックし、集計方法をデフォルトの「合計」から「平均(Average)」に変更します(下記参照)



これで、プレビュー画面に自社のデータに合わせた「%表示の棒グラフ」が表示されます。問題がなければ右上の [保存] をクリックして完了です。

 

7. さらに応用!カスタムプロパティやカスタムオブジェクトへの一般化

この「1と0の平均ロジック」は、標準の項目だけでなく、自社で独自に作成した項目(カスタムプロパティ)やカスタムオブジェクトにもそのまま応用できます。

 

カスタムプロパティでのデータ型別テンプレート

プロパティの「データ型(項目の種類)」に合わせて数式をカスタマイズできます。※プロパティや選択肢の「内部名」は、設定の [プロパティ] 画面から事前に確認して入力してください。

  • 単一選択ドロップダウン型(例:問い合わせ種別が「デモ希望」の割合)
    if([CONTACT.inquiry_type] == "demo_request", 1, 0) 
  • 数値型(例:Webサイトの訪問回数が5回以上のコンタクトの割合)
    if([CONTACT.website_visits] >= 5, 1, 0) 
  • 単一チェックボックス(〇×)型(例:メルマガ購読希望にチェックがある人の割合)
    if([CONTACT.newsletter_opt_in] == "true", 1, 0) 

カスタムオブジェクトを使用する場合のコツ

独自のカスタムオブジェクトを使用する場合、オブジェクト名にポータル固有のID(例:[p1234567_object_name.property_name])が自動付与されていることが多く、手入力ではエラーが起きやすくなります。

カスタムオブジェクトの項目を数式に入れる際は、「レポート作成画面の左メニュー(フィールド一覧)から、対象のプロパティを直接クリックまたはドラッグ&ドロップして数式内に挿入する」のが最も確実でエラーのない方法です。

*計算フィールドで参照する場合は以下になります。(上記固有のIDを参照した場合)

if([[p1234567_object_name.property_name.プロパティの参照名] ==

"選択肢の内部名", 1, 0)

例)このケースは求人カスタムオブジェクトのプロパティを参照した例です。

 

8. 知っておきたい!設定時に注意すべき3つの落とし穴

「1と0に振り分ける」という考え方は万能ですが、プロパティの種類やデータの状態によっては、そのまま数式を組むと狙い通りの%が出ないケースがあります。

① 複数選択ドロップダウン(複数チェックボックス)型

1つの項目の中に、複数のチェックを同時に付けられるプロパティです。

  • 注意点:== "値" で書くと、「その値だけが選ばれているデータ」しか探せません。他の項目と同時にチェックされているデータが 0 と判定されてしまいます。
  • 対策:文字列が含まれているかを判定する関数( contains )を使い、以下のように記述します。

    if(contains([CONTACT.inquiry_type], "demo_request"), 1, 0)

② 複数行テキスト型

自由記入のコメント欄など、長い文章が入力されるプロパティです。

  • 注意点:完全に一致する文章を数式で指定することは不可能なため、 == での判定は機能しません。

③ 「値なし(空欄)」のデータが多いプロパティ(分母が狂う罠)

未入力の項目が多いプロパティを条件にする場合は、最大の注意が必要です。

  • 注意点:
    数式画面にある「値なしの値をゼロに変更しますか?」というスイッチが [オフ] のままだと、その項目が「空欄」のデータが計算の対象(分母)から完全に除外されてしまいます。アンケート未回答の人まで分母から消えてしまい、%が不自然に高く跳ね上がるバグの原因になります。

  • 対策:未入力データも含めた「全体」を分母にしたい場合は、数式画面で必ず「値なしの値をゼロに変更」のスイッチを [オン] にしてください。

9. まとめ

「特定の条件を満たしているものを1、それ以外を0にする」という考え方さえ押さえておけば、HubSpot内のほぼすべてのデータから「〇〇率」を自由自在に弾き出すことができます。

自社の営業スタイルやマーケティング施策に合わせて、営業活動を可視化する独自のパーセンテージレポートを作成してみてください!