DOCUMENT IMPLICITLY
GITHUB ISSUE WITH 70+ COMMENTS
Slide 48
Slide 48 text
STORING AB TEST
ASSIGNMENT?
Slide 49
Slide 49 text
No content
Slide 50
Slide 50 text
STORING AB TEST
ASSIGNMENT? NOPE
Slide 51
Slide 51 text
SHA256(USERS.ANON_ID)
Slide 52
Slide 52 text
VINTED/AB
Slide 53
Slide 53 text
No content
Slide 54
Slide 54 text
bucket_id =
SHA256(salt + id) % bucket_count
return if not
(test.buckets.include?(bucket_id))
return if not
Time.now.between?(test.start_at, test.end_at)
weight_id =
SHA256(test.seed + id) % test.weight_sum
test.variants.find do |v|
v.accumulated_weight > weight_id
end
Slide 55
Slide 55 text
bucket_id =
SHA256(salt + id) % bucket_count
return if not
(test.buckets.include?(bucket_id))
return if not
Time.now.between?(test.start_at, test.end_at)
weight_id =
SHA256(test.seed + id) % test.weight_sum
test.variants.find do |v|
v.accumulated_weight > weight_id
end
Slide 56
Slide 56 text
bucket_id =
SHA256(salt + id) % bucket_count
return if not
(test.buckets.include?(bucket_id))
return if not
Time.now.between?(test.start_at, test.end_at)
weight_id =
SHA256(test.seed + id) % test.weight_sum
test.variants.find do |v|
v.accumulated_weight > weight_id
end
Slide 57
Slide 57 text
bucket_id =
SHA256(salt + id) % bucket_count
return if not
(test.buckets.include?(bucket_id))
return if not
Time.now.between?(test.start_at, test.end_at)
weight_id =
SHA256(test.seed + id) % test.weight_sum
test.variants.find do |v|
v.accumulated_weight > weight_id
end
Slide 58
Slide 58 text
CONTROL TEST GROUPS?
ISOLATION?
Slide 59
Slide 59 text
CONTROL TEST GROUPS?
ISOLATION? YES
Slide 60
Slide 60 text
ab = Ab::Tests.new(config, id)
ab.pill.red?
case ab.pill.variant
when 'red'
‘real world’
when 'blue'
‘fabricated reality’
end