เห็นการแตกแขนงของโฟลว์ด้วยแซงกีไดอะแกรม

Visualize

เห็นการแตกแขนงของโฟลว์ด้วยแซงกีไดอะแกรม

เมื่อเส้นทางลูกค้าแตกเป็นหลายทาง แซงกีไดอะแกรมทำให้ตามโฟลว์ได้ง่าย หากต้องการสำรวจแบบโต้ตอบ go.Sankey ของ Plotly เหมาะมาก สามารถโฮเวอร์ดูปริมาณและแชร์เป็น HTML ได้

import plotly.graph_objects as go

labels = [
    "เข้าเว็บ",
    "สมัครฟรี",
    "ทิ้งตะกร้า",
    "ดู FAQ",
    "ออกทันที",
    "แปลงเป็นจ่ายเงิน",
    "กลับมาอีกครั้ง",
    "เลิกใช้งาน",
]

sources = [0, 0, 0, 0, 1, 1, 1]
targets = [1, 2, 3, 4, 5, 6, 7]
values = [420, 280, 200, 100, 260, 100, 60]

fig = go.Figure(
    data=[
        go.Sankey(
            arrangement="snap",
            node=dict(
                pad=18,
                thickness=18,
                line=dict(color="rgba(0,0,0,0.2)", width=1),
                label=labels,
                color=[
                    "#4C78A8",
                    "#F58518",
                    "#E45756",
                    "#72B7B2",
                    "#54A24B",
                    "#EECA3B",
                    "#B279A2",
                    "#FF9DA6",
                ],
            ),
            link=dict(
                source=sources,
                target=targets,
                value=values,
                color=[
                    "rgba(76,120,168,0.45)",
                    "rgba(229,87,86,0.45)",
                    "rgba(114,183,178,0.45)",
                    "rgba(84,162,75,0.45)",
                    "rgba(245,133,24,0.45)",
                    "rgba(238,202,59,0.45)",
                    "rgba(178,121,162,0.45)",
                ],
            ),
        )
    ]
)

fig.update_layout(
    title=dict(text="โฟลว์ลูกค้าหลังการเข้าชม (Plotly Sankey)", x=0.5, font=dict(size=18)),
    font=dict(size=12, color="#222"),
    margin=dict(l=10, r=10, t=40, b=10),
)

# HTML แบบโต้ตอบสำหรับแชร์ในเบราว์เซอร์
fig.write_html("static/images/visualize/advanced/sankey-diagram.html", include_plotlyjs="cdn")

# รูปภาพสำหรับเอกสาร (ต้องติดตั้ง kaleido: pip install kaleido)
fig.write_image("static/images/visualize/advanced/sankey-diagram.png", scale=2)

plt.show()

แซงกีไดอะแกรมจาก Plotly ช่วยให้เห็นโฟลว์ลูกค้า

อ่านอย่างไร #

  • เส้นหนาแปลว่าปริมาณมาก จึงเห็นจุดตกหล่นใหญ่ได้เร็ว
  • ไล่ตามกิ่งเพื่อหาคอขวดจนถึงปลายทางที่ต้องการ
  • ถ้ากิ่งเยอะเกินไป ให้โฟกัสที่เส้นทางหลัก