SSpinosis

How to Automatically Shift New Users Toward a Winning Onboarding Variant

·Experiment design

Automatically shifting new traffic toward a winning onboarding variant means progressively allocating more new users to the better-performing variant while keeping existing users in their original variant and maintaining a small control group. This approach lets you capture the benefits of your winning variant quickly while continuing to validate its performance and preserving the ability to measure long-term impact.

The key requirement is sticky variant assignment—each user must always see the same onboarding flow they were initially assigned, even across app sessions and devices. You shift only the allocation of new users entering the experiment, increasing the winner's share from 50% to perhaps 80% or 90%, while keeping 10-20% in the original variant as a holdout group for ongoing comparison.

Why Shift Traffic Instead of Declaring a Winner

Traditional A/B testing declares a winner and immediately moves 100% of traffic to that variant. This works for simple web changes, but subscription app onboarding requires ongoing validation because the full revenue impact emerges over months through retention and LTV. Shifting traffic gradually lets you capture most of the winner's benefit while maintaining statistical rigor and the ability to detect issues.

Keeping a holdout group running the original variant gives you continued comparison data as seasonal effects, product changes, and user acquisition sources shift over time. What appears to be a 15% revenue lift in week four might stabilize at 8% by week twelve, or might reverse if the winning variant shows poor retention in month three. The holdout lets you measure these long-term dynamics accurately.

How Traffic Shifting Actually Works

Traffic shifting changes the probability that a new user entering your experiment gets assigned to each variant. Initially, you might allocate 50% to variant A and 50% to variant B. Once variant B shows a significant improvement, you shift new user allocation to perhaps 10% variant A and 90% variant B. Users already in the experiment stay in their assigned variant—this sticky assignment is crucial for valid measurement.

The technical implementation requires your experiment platform to store each user's variant assignment and return the same variant on every app session. When a new user first triggers the experiment, the platform checks the current allocation percentages and randomly assigns them accordingly. From that moment forward, that specific user always receives their assigned variant, regardless of how you shift allocation percentages for future new users.

Determining When to Shift and By How Much

Shift traffic when your primary metric reaches statistical significance and secondary metrics show no concerning negative effects. For subscription onboarding, your primary metric should be revenue per user or cohort LTV, not just trial starts or paywall views. Wait until you have enough subscription purchase events—typically 300-500 per variant minimum—to measure revenue reliably before making allocation changes.

Start with a moderate shift rather than jumping to 95/5. Moving from 50/50 to 75/25 or 80/20 captures most of the winner's benefit while maintaining a meaningful holdout sample. If the winning variant continues to perform well after the shift, you can increase allocation further to 90/10. Avoid going below 5-10% on the holdout variant, as you need enough ongoing sample size to detect if relative performance changes over time.

Maintaining Statistical Validity During and After Shifts

Traffic shifting doesn't invalidate your experiment if you maintain proper per-user variant assignment and analyze cohorts correctly. The key is comparing apples to apples: measure outcomes for all users who received variant A against all users who received variant B, regardless of when they entered or what the allocation percentages were at that time. Each user contributes data for their assigned variant only.

Your analysis should segment by cohort enrollment date to detect whether performance differs for users who entered before versus after your shift. If the winning variant's advantage holds steady across cohorts, you have strong evidence the effect is real. If performance diverges significantly between early and late cohorts, you may be seeing external factors like seasonal changes or user acquisition mix shifts that require investigation.

Technical Requirements for Reliable Traffic Shifting

Implementing traffic shifting requires infrastructure that maintains consistent per-user variant assignment while allowing allocation percentage changes for new users. Your experiment service must store user-to-variant mappings, check them on every experiment evaluation, and respect them indefinitely. For subscription apps, this assignment must connect to your payment processor so you can attribute subscription revenue to the correct variant.

Revenue attribution is particularly critical. When a user makes a purchase, your system must match the payment platform's user identifier to your experiment platform's user identifier to credit that revenue to the correct variant. Spinosis handles this by matching RevenueCat App User IDs to experiment user IDs, ensuring subscription purchases attribute correctly even as you shift traffic allocations. Without this connection, you're shifting traffic based on incomplete data that misses your actual business metric.

Questions

What if the winning variant's performance drops after I shift traffic to it?

This is exactly why you maintain a holdout group. If performance drops, you'll see it in your ongoing comparison between variants. The holdout lets you determine whether the drop is specific to the previously winning variant (suggesting the initial result was spurious or conditions changed) or affects both variants equally (indicating an external factor like seasonality or user quality shifts). You can then shift allocation back or investigate the cause before making it permanent.

How does traffic shifting differ from multi-armed bandit algorithms?

Traffic shifting is a manual or rule-based adjustment you make after reaching statistical significance, while multi-armed bandits continuously and automatically adjust allocation based on ongoing performance. Bandits optimize for short-term metrics and can shift very quickly, which works well for immediate conversions but poorly for subscription revenue that plays out over months. Traffic shifting with holdouts gives you the speed benefit of capturing the winner's value while maintaining the rigor needed to measure long-term subscription metrics accurately.

Should I shift traffic based on early indicators like paywall views or wait for revenue data?

Wait for actual subscription revenue data unless you have very strong historical correlation between your early indicator and eventual LTV. Paywall views or trial starts might improve while revenue decreases if the variant attracts lower-quality users. Since you're maintaining a holdout anyway, there's limited risk in waiting for the metric that actually matters to your business. If you must shift earlier, use a conservative allocation like 60/40 or 70/30 until revenue data confirms the effect.

Turn on auto-optimize for one test.

Create a project, install the SDK, connect RevenueCat. Traffic starts shifting on its own.

Related guides