How to use Holdouts
- To create a new holdout, navigate to the Holdouts section on the Statsig console (it is a specialized kind of experiment): https://console.statsig.com/holdouts
- Click the Create New button and enter the name, description and unit type of the holdout that you want to create.
- You can choose to either create a global or a selected holdout. A global holdout is automatically added to any new feature with the same unit type, and is meant to capture the aggregate impact of all features developed after the holdout began (individual features may be opted out as needed). A selected holdout captures the aggregate impact of a specific selection of features that you want to hold off.
- By default Holdouts apply to a % of all users (Population = Everyone). You can optionally target the Holdout at a subset of users by applying a Targeting Gate (Population = Targeting Gate). e.g. If you wanted an iOS users only Holdout, you could apply a Targeting Gate that only passes iOS users.
- You must set the percentage of users to be held-out between 1% to 10%. Statsig recommends a small holdout percentage to limit the number of customers who don’t see new features.
How to read Holdouts
Holdouts on Statsig use the same “equal variant” methodology as Feature Gate rollouts, whereby metric lifts are computed by equal sized groups to calculate holdout lift. You can read more about the advantages of this methodology in “A/B Testing Intuition Busters: Common Misunderstandings in Online Controlled Experiments” by Ron Kohavi, Alex Deng, & Lukas Vermeer. Accordingly, the Cumulative Exposures panel for a given Holdout shows total exposures of the Holdout, broken down into three groups-- (1) Units that were included in the Holdout, and were used for analysis
- Units that were not included in the Holdout, and were used for analysis vs. the holdout group
- Units that were not included in the Holdout, and were not used for analysis
Best Practices
- Size - Statsig recommends a small holdout percentage, say 1% – 2%, to limit the number of customers who don’t see new features.
- Duration - Statsig recommends operating holdouts for a period of three to six months, and then releasing the holdout. Prolonging the holdout period may increase the complexity of your software as you’d have to maintain a functioning product with no new features for a longer period.
- Back testing - Occasionally you may want to turn off a set of features that you have already released to measure the effectiveness of those features. Statsig doesn’t recommend this as it turns off features that users are already using and relying on. However, when a “back measurement” is critical, you can use Holdouts to turn off a set of features and automatically compute the impact of this set of features.
Unit ID Types
By default, holdouts are based on User ID. To use a different ID type, select it from the drop down menu during the holdout creation.Holdouts can only be applied to Experiments and Feature Gates that use the same randomization unit.
If a team plans to run experiments on both User ID and Stable ID, two separate holdouts are required to evaluate the cumulative impact of each type of experiment.
Holdout effects on Gates & Experiments SDK methods
Feature Flags/Gates
- For users in holdout, gates will always return
False
.
Experiments
- For users in holdout, if the experiment is not in a Layer, calls to get experiment parameters will always return the “default value” passed in code.
- For users in holdout, if the experiment is in a Layer, calls to get experiment parameters will return the values defined in the Layer defaults in the Statsig console.
When you ship an experiment in a layer - this would normally update the layer defaults, however, users in the holdout will not see those defaults, with the layer instead having a new set of default parameters just for held-out users:
