Tableauでマップを使って会計データから損益分岐点売上高を可視化する
はじめに
会計の損益分岐点分析をどう可視化するか。
Tableauで表現しようとすると、意外と悩ましいテーマです。
売上と費用を時系列で重ねる、累計で描く、リファレンスラインを引く・・・
よくある手法は一通り試せますが、しっくりとはいきません。
損益分岐点そのものは「実績として行に存在する値」ではありません。
横軸に置くためのディメンションもなく、行が存在しない値を、どうやって表現するのかという問題にぶつかります。
しばらくの間、Tableau上でさまざまな表現を試していましたが、あるとき考え方を切り替えました。
損益分岐点を「グラフ」として描こうとするから難しいのでは?
だったら、マップを使えばいいではないか!
Tableauが持つ地理的レイヤー「地図を描くための機能」を、あえて座標系として使います。
座標ベースの表現を使えば、売上と損益分岐点の関係を、数値や線ではなく「位置関係」として表現できます。
このアプローチにより、固定費・変動費・売上高・損益分岐点売上高といった要素の関係を、一つの図として、視覚的に捉えることが可能になります。
この記事では、会計データをもとにTableauで損益分岐点を表現するための一つの実装パターンをご紹介します。
(損益分岐点売上高の説明や、それが何を意味するのか、などは、多くのブログがあるので今回は説明しません)
サンプルデータ
サンプルデータは、ChatGPTに作成してもらったものを使用します。
会計データを想定しているため、勘定科目ごとに1行が存在する縦持ちデータです。
この時点で、どの勘定科目を「固定費」とし、どれを「変動費」とするかをあらかじめ定義しておきます。
これはTableauの可視化以前に、損益分岐点分析そのものの前提になります。

計算式
まずは、損益分岐点を求めるための基礎となる会計数値を計算します。
ここでは、以下の値を用意します。
- 売上高
- 固定費
- 変動費
- 損益分岐点売上高
売上・固定費・変動費
データは勘定科目ごとに行が分かれているため、売上・固定費・変動費は IF 文で切り分けて集計します。
// 売上
SUM(IF [費用区分]='売上' THEN [金額] END)
// 固定費
SUM(IF [費用区分]='固定費' THEN [金額]END)
// 変動費
SUM(IF [費用区分]='変動費' THEN [金額]END)
損益分岐点売上高
一気に計算してもよいのですが、わかりやすさ重視で、限界利益を求めてから計算します。
// 限界利益
[売上]-[変動費]
// 限界利益率
[限界利益]/[売上]
// 損益分岐点売上高
[固定費]/[限界利益率]
ここまでが、いわゆる会計としての損益分岐点計算です。
以降は、この数値を「どう描くか」という話になります。
相対座標の定義
ここからが今回のポイントです。
マップを使う場合、必要なのは正確な金額ではなく、「どの値がどの位置にあるか」という相対的な関係です。
そこで、売上を基準(=1)とする座標系を作ります。
// SCALE
1
// SCALE倍率
[SCALE]/[売上] //売上を基準とする
// SCALE増加率
1.5
- SCALE:基準となる値(今回は1)
- SCALE倍率:実際の金額を、売上を基準にした比率へ変換するための係数
- SCALE増加率:売上の先まで線を伸ばすための調整値(売上の1.5倍の長さで線をひくことになります。)
これらを使って、すべての値を「売上に対する比率」として扱うようにします。
売上、損益分岐点の点(MAKEPOINT)
売上と損益分岐点のポイントを「MAKEPOINT」で作成します。
// 売上POINT
MAKEPOINT([SCALE],[SCALE])
// 損益分岐POINT
MAKEPOINT([損益分岐点売上高]*[SCALE倍率],[損益分岐点売上高]*[SCALE倍率])
売上、固定費、変動費の線(MAKELINE)
各ラインの開始点と終了点を「MAKEPOINT」で定義し、それぞれ「MAKELINE」で線にしていきます。
// 売上始点
MAKEPOINT(0,0)
// 売上終点
MAKEPOINT([SCALE]*[SCALE増加率],[SCALE]*[SCALE増加率])
// 売上LINE
MAKELINE([売上始点],[売上終点])
// 固定費始点
MAKEPOINT([固定費]*[SCALE倍率],0)
// 固定費終点
MAKEPOINT([固定費]*[SCALE倍率],[SCALE]*[SCALE増加率])
// 固定費LINE
MAKELINE([固定費始点],[固定費終点])
// 変動費始点 (固定費始点からスタート)
MAKEPOINT([固定費]*[SCALE倍率],0)
// 変動費終点
MAKEPOINT(([固定費]+[変動費]*[SCALE増加率])*[SCALE倍率],[SCALE]*[SCALE増加率])
// 変動費LINE
MAKELINE([変動費始点],[変動費終点])
Vizの作成
作成手順
作成した点と線を、地理的レイヤー上に重ねて表示します。

点は、マークを「円」とし、それぞれに色を付けて、損益分岐点がわかりやすくなるようにします。

拡大すると、実は地図です。
緯度経度で0地点なので、アフリカの赤道直下になります。

メニューの「マップ」→「バックグラウンドレイヤー」からチェックをすべてはずして、背景や文字は消しておきます。

さらに、メニューの「マップ」→「地図のオプション」からチェックをすべてはずし、拡大縮小などはできないようにします。

完成したViz
ラベルなどを設定して完成です。
フィルターを操作して、製品や年月ごとに確認することができるようになっています。

ここから読み解けることは以下のような情報となります。
- 現在の売上が、損益分岐点を超えているかどうか
- 売上に対して、固定費と変動費がどの位置にあるか
- 売上がどれくらい伸びれば黒字化するのか
おまけ
MAKELINEなので、SCALEをあげると曲線になります・・・

まとめ
今回のVizは、「損益分岐点を計算する」のではなく、「損益分岐点を視覚的に理解する」ためのVizとして作成しました。
損益分岐点を、売上・固定費・変動費の関係性として表しています。
Tableauのマップ表現を利用することで、
- 行が存在しない数値
- 横軸を持たない概念
- 会計的には正しいが描きづらい指標
を可視化することができました。
一つの実装例として、ご参考になればと思います。
Discussion