サンキーダイアグラムでフロー分岐を把握

Visualize

サンキーダイアグラムでフロー分岐を把握

作成日: 最終更新: 読了時間: 1 分

顧客がチャネルを経由して別のアクションへ流れる状況は、サンキーダイアグラムで枝分かれを示すと分かりやすくなります。matplotlib.sankey を使えばシンプルなフローが描画できます。

from matplotlib.sankey import Sankey
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(6.4, 4))
sankey = Sankey(ax=ax, unit=None, format="%+d", gap=0.45)

sankey.add(
    flows=[1000, -420, -280, -200, -100],
    labels=["流入", "無料登録", "カート離脱", "FAQ閲覧", "直帰"],
    orientations=[0, 1, -1, -1, -1],
    pathlengths=[0.5, 0.7, 0.6, 0.5, 0.5],
    trunklength=1.0,
)
sankey.add(
    flows=[420, -260, -100, -60],
    labels=["無料登録", "有料化", "再来訪", "離脱"],
    orientations=[0, 1, -1, -1],
    prior=0,
    connect=(1, 0),
    pathlengths=[0.6, 0.6, 0.4, 0.4],
)
diagrams = sankey.finish()
for text in diagrams[0].texts + diagrams[1].texts:
    text.set_fontsize(10)

ax.set_title("来訪後の顧客フロー(サンキーダイアグラム)")

fig.tight_layout()
fig.savefig("static/images/visualize/advanced/sankey-diagram.svg")

matplotlib.sankey を使えばシンプルなフローが描画できますの図

読み方のポイント #

  • 幹の太さがフロー量を表すので、どの分岐で大きく減っているかが直感的に把握できます。
  • 連結している枝をたどることで、特定の出口(例: 有料化)までのボトルネックを追跡できます。
  • 分岐が多すぎる場合は、主要経路に絞って描くと読みやすさが保てます。