您将如何可视化细分渠道?(您可以使用Python做到吗?)


9

我在Moz上看到了这篇帖子,其中介绍了细分的营销渠道:在此处输入图片说明

这种事情在我的工作中将具有很大的价值。我不知道如何可视化原始数据以显示像这样的分段漏斗。这个想法是销售线索来自不同的来源(我们将其用于细分数据),并在转化为交易时经历了多个阶段。从每个阶段到另一个阶段都有下降。每个切片的宽度由每个切片中引线的绝对数量确定。[ 编辑:注意,当涉及每个切片右侧指定的数字时,此处用作参考的图像会产生误导。切片的宽度和数量之间似乎没有任何关系。该图像仅应作为分段漏斗设计的参考]。

无论如何,任何想法如何形象化?如果可能的话,我很想用Python做到这一点。

如果有人需要一些虚拟数据,这是一个Google文档

期待您的见解。谢谢!


5
我发现插图令人困惑,因为其中内置了巨大的谎言因素:“漏斗”的连续级别使用不规则变化的不同比例。因此,带的宽度不是由每个中的绝对数确定的,至少不是以任何易于理解或可视化的方式确定的。那么,您在问什么:是否有更好的方法来可视化此类数据或如何在Python中创建此图形?
ub

对于使用任何软件进行工作,通常只需为堆叠的条形图合并偏移类别,然后使其不可见即可。这是使用相同的Google电子表格的示例。您可以看到这是无效的。对于在该示例中缩小为零的类别。
安迪W

1
@whuber嗨。不确定我是否遵循。每个级别都是绝对数字...每个级别都是上一个级别的子组。请解释为什么比例会不规则地变化。谢谢!
Optimesh 2014年

3
最上面的部分代表150万次访问,并且在我的屏幕上跨越了大约500个像素:一个像素= 3000次访问。最下面的部分代表5000次访问,在我的屏幕上跨度约为150个像素,而不是少于2个像素(如@Andy在其示例中指出的那样)。这是大约100到1的夸张。由于此问题中的图形似乎并不关心这样的夸张,因此似乎没有必要重新调整分段的大小:将它们的长度和图形都设置为相同长度会得到更好的信息。会减少欺骗性。
ub

1
@whuber哦,我明白你的意思了。是的,我只是将该图像作为示例,以进行视觉效果。毫无疑问,数字本身具有误导性。
Optimesh 2014年

Answers:


3

该图显示了一个双向列联表,其数据大致如下:

                      Branded Unbranded Social Referring Direct   RSS
First-time...          177276    472737  88638    265915 472737 59092
Return Visits...       236002    629339 118001    354003 629339 78667
4+ Visits in ...       166514    444037  83257    249771 444037 55505
10+ Visit in ...        28782     76751  14391     43172  76751  9594
At Least One Visit...    6707     17886   3354     10061  17886  2236
Last Touch...             660      1759    330       989   1759   220

有无数种方法可以构建此图。 例如,您可以计算每个矩形色块的位置,然后分别放置每个色块。但是,总的来说,这有助于找到关于绘图如何表示数据的简洁描述。

作为出发点,我们可以将其视为堆叠条形图的变体

图1:堆叠条形图。

这个图几乎不需要描述:通过熟悉,我们知道矩形的每一行都对应着列联表的每一行;矩形的长度与它们的数量成正比;它们不重叠;并且颜色对应于表格的列。

如果我们将此表转换为“数据框”或“数据表” X每个计数有一行,并带有指示行名,列名和计数的字段,然后对其进行绘制通常等于调用适当的函数并规定在哪里可以找到行名,列名和计数。使用“图形语法”实现(的ggplot2软件包R),看起来像

ggplot(X, aes(Outcome, Count, fill=Referral)) + geom_col() 

通常需要明确规定图形的详细信息,例如一行的宽度和使用的颜色。如何完成取决于绘图环境(因此兴趣不大:您只需查找即可)。

图形语法的这种特定实现方式在放置小节时几乎没有灵活性。 产生所需外观的一种方法是用最少的精力将不可见的类别插入每个条的底部,以使条居中。 稍加思考,建议使每个钢筋居中所需的假支数必须是钢筋总长度和最长钢筋的平均值。对于此示例,这将是带有值的初始列

 254478.0       0.0  301115.0  897955.0  993610.5 1019817.0 

这是生成的堆叠条形图,以浅灰色显示假数据:

图2

通过使假列的图形不可见来创建所需的图形:

图3

图形的图形语法描述无需更改:我们只是提供了一个不同的列联表,即可根据相同的描述进行渲染(并覆盖了伪列的默认颜色分配)。

注释

这些图形很真实:每个彩色色块的水平范围与基础数据直接成比例,没有失真。将它们与原件(在问题中)进行比较,可以看出其失真有多极端(Tufte的Lie Factor)。

如果希望在“渠道”的底部显示详细信息,请考虑用 面积而不是长度来。您可以使钢筋的长度与总长度的平方根成正比,而钢筋的宽度(垂直方向)也与平方根成正比。现在,“漏斗”的底部大约是最长长度的二十分之一,而不是最长的四分之一,从而可以显示一些细节。不幸的是,该ggplot2实现不允许人们将变量映射到条形宽度,因此需要更复杂的解决方法(确实可以单独描述每个矩形)。也许有一个更灵活的Python实现。

参考文献

爱德华·塔夫特 定量信息的可视化显示。柴郡出版社1984年。

莱兰·威尔金森(Leland Wilkinson),《图形语法》。 施普林格2005年。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.