Entiende bifurcaciones con un diagrama de Sankey

Visualize

Entiende bifurcaciones con un diagrama de Sankey

Creado: Última actualización: Tiempo de lectura: 1 min

Cuando los clientes se dividen en acciones distintas, el Sankey hace el flujo facil de seguir. Para explorar de forma interactiva, go.Sankey de Plotly es muy util. Puedes ver el volumen al pasar el mouse y compartirlo como HTML.

import plotly.graph_objects as go

labels = [
    "Entrada",
    "Registro gratis",
    "Abandono de carrito",
    "Visita a FAQ",
    "Rebote",
    "Conversion paga",
    "Visita recurrente",
    "Baja",
]

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="Flujo de clientes tras la visita (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 interactivo para compartir en navegador
fig.write_html("static/images/visualize/advanced/sankey-diagram.html", include_plotlyjs="cdn")

# Imagen estatica para documentos (requiere kaleido: pip install kaleido)
fig.write_image("static/images/visualize/advanced/sankey-diagram.png", scale=2)

plt.show()

Diagrama de Sankey generado con Plotly para visualizar el flujo.

Consejos de lectura #

  • El grosor indica el volumen, asi se detectan caidas grandes.
  • Sigue las ramas para encontrar cuellos de botella hasta la conversion.
  • Si hay demasiadas ramas, enfoca en las rutas principales.