Visualizing Customer journeys
This may be too simple for what you had in mind, but perhaps it will help:

Example data

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))) 


Bar chart

sample_data %&gt;% gather("Product", "Time", -Customer) %&gt;% ggplot()+geom_bar(aes(x=Time, fill=Product))+geom_label(aes(x=Time, label=Product), y=-Inf, vjust=0)




Point plot

The use of this is that you can map the customers (since the y-axis is not the count but the Customer ID), i.e., you can add lines connecting them but they would be too many, so I haven't (they can be grouped though, for A->B, B->C, A->C, etc)

sample_data %&gt;% gather("Product", "Time", -Customer) %&gt;% ggplot()+geom_point(aes(x=Time, y=Customer, color=Product))+geom_label(aes(x=Time, label=Product), y=-Inf, vjust=0)