I’m using PyMC3 for comparing results of different pricing strategies in a travel company. Specifically using it to update the share of traffic going to each strategy based on beliefs in which is the optimal strategy. As well as reporting of performance with uncertainties.
In short: Bayesian multi-armed bandit on multivariate pricing tests.
Next steps will be trying to automate setting pricing levels using Bayesian reinforcement learning - though think I’m a long way from figuring this one out…
Pain points: I found the documentation a bit “gappy”, and lacking in a clear guide to approaching modelling at an abstract level - i.e. there are many examples but often I don’t find I can take generalisable lessons from them. It’s dawning on me that this may be the case simple because of the extensive flexibility of Bayesian modelling rather than from bad examples. I realise that most of my pain points with PyMC3 stemmed from initially trying to fit its usage into that of standard machine learning APIs (i.e. from my own lack of understanding!). Realising that a model is in effect stateless was a big “aha”, and that
model.fit() is not even close to
model.sample() in reality! I suppose most people come to PyMC3 having already used MCMC methods so all that is clear to them.
Awesome points: I always found frequentist/standard statistical inference to be totally brittle and lacking in fundamentals, PyMC3 is a dream to use and just “feels right”. Great core community, specifically this discourse! Super great to have such active, helpful and friendly core members