The Apptimize system works to allocate participants into variants in a truly random way:
- When you launch an experiment, or change its allocated population % our server (re)calculates an assignment of your population to all the experiments you have running.
- This is communicated to your users together with any other experiment information in our experiment information (or 'metadata') file.
- As soon as Apptimize is started on an installation of your app, it downloads the experiment information.
- Once available the experiment information file is processed, the SDK rolls the dice to get a random number (which it remembers) and looks up how that random number fits into the assignment calculated in 1. If outside any experiment range 'original' is shown and the user is not included in the population and results counts. If inside an experiment's allocation the relevant variant is shown, Original, Variant A etc.
- When an experiment's population allocation is changed then the experiment ranges calculated on the server change, a new meta data file is made available and downloaded by your users.
- When the remembered random number is compared against the new experiment ranges some users will find their experience changes, either to increase or decrease the number of participating users.