sorted = true, length = 10
parameters represent.
That being said, in code, its much more powerful to directly check parameters and their values. It’s also simpler to reason about: rather than hard
coding in a particular value, your variable is dynamically evaluated by Statsig. In this way, parameters are the building blocks of your experiments when coding, rather than group names.
Example: Group Names vs Parameters
Hard coding experiment group names would be both very fragile and very limiting. Let’s see why. In code, if you tried to use experiment groups, your function might end up looking like this:- Its very fragile. If the group name in code does not match the name in the Statsig console, you won’t return the correct experience
- Its static. I can’t easily add another experiment group without changing the code. I cant add an “Unsorted long list” without a code change.
Rules
The diagnostics stream is meant to be used for debugging your integration, and understanding which groups a user is being bucketed into. The following defines the different Rules you will see, and what they mean.Rule | Meaning |
---|---|
Not started | The experiment has not been started, so the allocation groups are not determined yet |
Holdout | The user is in a holdout that this experiment references, so they are not in the experiment |
Layer Assignment | The user is not allocated to this experiment because they are bucketed to a different part of the Layer |
Targeting Gate | The user does not meet the requirements for the targeting gate |
Not Allocated | The user is not allocated to this experiment because they do not meet the rollout % |
{group name}{override name} | The user was forcefully bucketed into a given group by an experiment override |
{group name} | The user was bucketed into this experiment group |
Abandoned | ”Make Decision” selected the control group. This experiment has been abandoned. |
{group name} (Launched) | “Make Decision” selected this group as the launch group, so the user is seeing the launched experience. |