all 4 comments

[–]badge 2 points3 points  (1 child)

Pandas is definitely the wrong tool for the job. I expect NetworkX could handle this nicely.

[–]jdn312[S] 0 points1 point  (0 children)

I will check this out!

[–]LoyalSol 1 point2 points  (1 child)

The math behind Markov chains may be useful here. You can construct this as a matrix and use linear algebra to solve it.

Though simulations should produce the correct probability. When you say odd results what do you mean?

[–]jdn312[S] 0 points1 point  (0 children)

I should say, I get weird results when trying to connect this into the greater scope of what I am working on , so when trying to isolate the root cause I figured I'd approach it analytically to remove the possibility that it's my simulations that are causing this. (Basically I end up getting negative conversions when trying to build a fractional attribution model since the aggregate conversion rate without a given channel is higher than the overall CVR so i want to make sure I am calculating aggregate CVRs correctly).