You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Don't record assignment events for feature gates (#69)
* Don't record assignment events for feature gates
Because feature gates are not used for analysis, there's no need to
record anything but overrides for feature gates. This will vastly reduce
the data that needs to change when deciding a feature gate split. It
also will cause reweighting feature gates to affect clients in the field
instantly unless they've been overridden.
Also explain the difference between experiments and gates to admins.
* more clarity on why specific variants are assigned
* preposition
* Let's do this.
* 👮
* don't use the word population for gates
because we use it in the admin to mean "recorded assignees of experiments."
Copy file name to clipboardExpand all lines: README.md
+38Lines changed: 38 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -154,6 +154,44 @@ One the values that a given visitor will be assigned for a split, e.g. `true` or
154
154
### Weighting
155
155
Variants are assigned pseudo-randomly to visitors based on their visitor IDs and the weightings for the variants. Weightings describe the probability of a visitor being assigned to a given variant in integer percentages. All the variant weightings for a given split must sum to 100, though variants may have a weighting of 0.
156
156
157
+
### Experiment
158
+
159
+
Experiments are the standard flavor of splits in TestTrack. They are
160
+
intended to be used for A/B testing, and the TestTrack server records
161
+
visitors' experienced variants so that those visitors will continue to
162
+
experience the same variant regardless of subsequent changes to the
163
+
weightings of those variants via the admin interface.
164
+
165
+
Storing the variant a visitor experienced for an experiment also allows
166
+
TestTrack to provide a consistent UX to a customer who experienced a
167
+
new-to-them experiment before logging in on a new device, only to be
168
+
recognized as an existing visitor upon sign-in. TestTrack will merge
169
+
all variant assignments from the anonymous visitor into the
170
+
authenticated visitor at sign-in as long as the authenticated visitor
171
+
doesn't have conflicting assignments. In that case, the authenticated
172
+
visitor's previous assignments win.
173
+
174
+
### Feature Gate
175
+
176
+
As of TestTrack version 1.2, splits with names ending in the `_enabled`
177
+
suffix will be treated as feature gates. Feature gates differ from
178
+
experiments in that they are not intended to be used for analysis, and
179
+
therefore it is not important that the user remain in the same variant
180
+
throughout the entire split lifecycle. Feature gates are meant to be
181
+
slow-rolled (incrementally increasing the percentage of customers
182
+
experiencing the new feature), released en masse, or instantly rolled
183
+
back.
184
+
185
+
To facilitate these smooth transitions and rapid toggles, the TestTrack
186
+
server will not record variant assignments when a visitor experiences a
187
+
split. This means that every time a visitor experiences a split, they
188
+
will be deterministically (pseudorandomly) assigned to a variant based
189
+
on their visitor ID and the name of the split. This will provide the
190
+
customer with a stable variant given a constant split weighting, but
191
+
probablistically increase the percentage of visitors experiencing the
192
+
the `true` variant as the split weightings are increased via the admin
193
+
panel, giving an admin full control over the feature's release.
194
+
157
195
### IdentifierType
158
196
A name for a customer identifier that is meaningful in your application, typically things that people sign up as, log in as. They should be expressed in `snake_case` and conventionally are prefixed with the application name that the identifier is for, e.g. `myapp_user_id`, `myapp_lead_id`.
* Feature gates no longer track assignment events and population reflects only visitors assigned to specific variants via the chrome extension or admin tool.
Copy file name to clipboardExpand all lines: app/views/admin/variant_details/edit.html.erb
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@
22
22
method: :post,
23
23
data: {confirm: "You're redistributing #{@variant_detail.variant} assignees to the other variants according to their weights. Do you wish to proceed?"}%>
0 commit comments