One of the assumptions of vanilla multi-armed bandits is that the underlying reward rates are fixed. It's not valid to assume that in a lot of cases, including e-commerce. The author is dismissive and hard wavy about this and having worked in in e-commerce SaaS I'd be a bit more cautious. Imagine that you are running MAB on an website with a control/treatment variant. After a bit you end up sampling the treatment a l…
Lines of code that beat A/B testing (2012)
91–100 of 180 posts
Re: Lines of code that beat A/B testing (2012)
#92Earlier quoted context omitted.
I wouldn’t call that A/B testing but rather a gradual roll-out.
I think parent is confusing A/B testing with feature flags, which can be used for A/B tests but also for roll-outs.
Re: Lines of code that beat A/B testing (2012)
#93Re: Lines of code that beat A/B testing (2012)
#94Interesting post - certainly I can see myself wanting to tinker with Epsilon greedy - but the comments at the bottom are pretty off the chain, and many not in a good way. No auth commenting is certainly a brave decision in 2024.
Re: Lines of code that beat A/B testing (2012)
#95Re: Lines of code that beat A/B testing (2012)
#96Earlier quoted context omitted.
The systems I’ve use pre-allocate users effectively randomly an arm by hashing their user id or equivalent.
careful when doing that though! i've seen some big eyes when people assumed IDs to be uniform randomly distributed and suddenly their "test group" was 15% instead of the intended 1%. better generate a truely random value using your languages favorite crypto functions and be able to work with it without fear of busting production
Re: Lines of code that beat A/B testing (2012)
#97Earlier quoted context omitted.
Multi-arm bandit does beat A/B testing in the sense that standard A/B testing does not seek to maximize reward during the testing period, MAB does. MAB also generalizes better to testing many things than A/B testing.
Isn't that the point of testing (to not maximize reward but rather wait and collect data)? It sounds like maximizing reward during the experiment period can bias the results
Re: Lines of code that beat A/B testing (2012)
#98Pure, disinterested A/B testing where the goal is just to find the good way to do it, and there's enough leverage and traffic that funding that A/B testing is worthwhile is rare. More frequently, A/B testing is a political technology that allows teams to move forward with changes to core, vital services of a site or app. By putting a new change behind an A/B test, the team technically derisks the change, by allowing…
Re: Lines of code that beat A/B testing (2012)
#99Earlier quoted context omitted.
> In short, not many people want to funnel users through N code paths with slightly different behaviors, because not many people have a ton of users, a ton of engineering capacity, and a ton of potential upside from marginal improvements. I’ve been in companies that have tried dozens if not hundreds of A/B tests with zero statistically significant results. I figure by the law of probabilities they would have gotten a…
> I’ve been in companies that have tried dozens if not hundreds of A/B tests with zero statistically significant results. Yea, I've been here too. And in every analytics meeting everyone went "well, we know it's not statistically significant but we'll call it the winner anyway". Every. Single. Time. Such a waste of resources.
Re: Lines of code that beat A/B testing (2012)
#100Earlier quoted context omitted.
You can assign multiarm bandit trials on a lazy per user basis. So first time user touches feature A they are assigned to some trial arm T_A and then all subsequent interactions keep them in that trial arm until the trial finishes.
The systems I’ve use pre-allocate users effectively randomly an arm by hashing their user id or equivalent.