Is the idea that you wa t to optimize the conversion and then you would remove the experiment code with the winning variant ?.
Or would you prefer to keep the code in and have it continuously optimize variants ?.
I'd let the experiment framework decide (ie. optimize) who gets shown what.
Over time, the maintenance burden of tens of experiments (and every possible user being in any combination of experiments) would exceed the benefits, so then I'd want to end some experiments, keeping just whatever variant performs best. And I'd be making new experiments with new ideas.
For example, you run two campaigns:
1. Get my widgets, one year only 19.99!
2. Get my widgets, first year only 19.99!
The first one may win, but they all cancel at the second year because they thought it was only for one year. They all leave reviews complaining that you scammed them.
So, I would venture that this idea is a bad one, but sounds good on paper.
[1]: https://medium.com/geekculture/the-novelty-effect-an-importa...
PS. A/B tests don't just provide you with evidence that one solution might be better than the other, they also provide some protection in that a number of participants will get the status-quo.
It's a great idea, it's just vulnerable to non-stationary effects (novelty effect, seasonality, etc). But it's actually no worse than fixed time horizon testing for your example if you run the test less than a year. You A/B test that copy for a month, push everyone to A, and you're still not going to realize it's actually worse.
What's interesting about the platform we're building is you don't have to "remove the associated code" to remove variations, as all the variations are in the platform itself. E.g. let's say you're testing a headline. Rather than set up variations of the headline in your code, you make the whole headline configurable in the platform, a bit like how a CMS does. Once that's done, you can set up the headline variations in the platform for the ML to pick from, then add / remove them without touching the code.
My experience is that there's a good reason why this hasn't taken off: the returns for this degree of optimization are far lower than you think.
I once worked with a very eager, but junior DS who thought that we should build out a massive internal framework for doing this. He didn't quite understand the math behind it, so I build him a demo to understand the basics. What we realized in running the demo under various conditions is that the total return on adding this complexity to optimization was negligible at the scale we were operating at and required much more complexity than our current set up.
This pattern repeats in a lot of DS related optimization in my experience. The difference between a close guess and perfectly optimal is often surprisingly little. Many DS teams perform optimizations on business processes that yield a lower improvement in revenue than the salary of the DS that built it.
At first, it would pick say a 50/50 split. Then as data rolls in that shows group A is more likely to convert, shift more users over to group A. Keep a few users on B to keep gathering data. Eventually, when enough data has come in, it might turn out that flow A doesn't work at all for users in France - so the ideal would be for most users in France to end up in group B, whereas the rest of the world is in group A.
I want the framework to do all this behind the scenes - and preferably with statistical rigorousness. And then to tell me which groups have diminished to near zero (allowing me to remove the associated code).