We have a table full of data points that gets populated as the user interacts with the application. We call it “behaviors.” I did an analysis of the series of behaviors to see what the typical flows are. By treating each behavior as a node, I can tell the probability of going to each of the possible next nodes. I broke it down into series of three nodes, or “When the user went from A to B, odds are they will go to C.” It is not quite a Markov chain, but it is valid.
But looking at the randomSwitch documentation, it specifically says that “cyclic graphs are not supported.” While I could go from three nodes down to two, to make it more like a classical Markov chain, I definitely need cycles. How would you model that?
One obvious but painful option is to build a chain for every distinct flow, and put an appropriate percentage attached to each one. But I’m not keen on that, as it will not give me unexpected or unique flows, and will introduce a level of complexity that probably is not warranted.
So, how have you accomplished something like this in the past?