首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >形象化客户旅行

问形象化客户旅行
EN

Data Science用户
提问于 2017-06-26 15:31:43
回答 1查看 2.7K关注 0票数 2

目标

我想用Python或R来想象一个典型的客户的旅程,和往常一样,客户在不同的时间点购买不同的产品。

我检查了每一位顾客的行程,选择了A产品作为起点。10,000名顾客购买A产品作为他们的第一件产品。现在我想展示他们旅程的“流动”。10分钟后,这10,000名顾客中有2,500人购买了B类产品,作为他们的第二种产品。产品C在25分钟后被7500人购买。

我正在寻找一个更复杂的桑基图表。从左边高度为10,000的条形图开始。右边有两个条形图,你可以看到左右图之间的连接。顾客购买下一个产品所花的时间越长,右边的酒吧离左边的就越远。所有的酒吧都有产品名称的标题。图表上的快速信息也会很好。

最后的图表将显示一个更长的客户旅程(两个以上的产品)。

我已经尝试过的

我使用networkD3 R软件包来可视化一个sankeyNetwork,但是我不能按照我的愿望放置条形图。

您是否对Python或R包有任何建议,或者是否有办法(在合理的时间内)自己绘制它?

EN

回答 1

Data Science用户

发布于 2017-10-30 20:07:08

这可能对你的想法来说太简单了,但也许它会有帮助:

示例数据

代码语言:javascript
复制
library(tidyverse); library(magrittr) # load R libraries
sample_data = data.frame(Customer = 1:100, A = 0, B = rep(c(10,NA), c(25,75)), C = rep(c(NA,25), c(25,75))) 

条形图

代码语言:javascript
复制
sample_data %>% gather("Product", "Time", -Customer) %>% ggplot()+geom_bar(aes(x=Time, fill=Product))+geom_label(aes(x=Time, label=Product), y=-Inf, vjust=0)

点图

它的用途是您可以映射客户(因为y-轴不是计数,而是客户ID),也就是说,您可以添加连接它们的线路,但是它们太多了,所以我没有(但是,对于A->B,B->C,A->C,等等)

代码语言:javascript
复制
sample_data %>% gather("Product", "Time", -Customer) %>% ggplot()+geom_point(aes(x=Time, y=Customer, color=Product))+geom_label(aes(x=Time, label=Product), y=-Inf, vjust=0)
票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/19976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档