Page MenuHomePhabricator

Implement mobile DiscussionTools A/B test bucketing
Closed, ResolvedPublic

Description

This task involves the work with implementing the bucketing logic for the A/B test of the suite of mobile DiscussionTools we will be running in T298062.

Bucketing requirements

  • Everyone who is accessing a mobile talk page on any of the wikis listed in the Participating wikis, logged in and logged out, should have a 50% chance of being included/bucketed into the A/B test's control or test group
  • Bucketing should be done on a per-Wikipedia basis. 50% of people within a given wiki should be placed within the control group; 50% should be bucketed in the test group
  • People should remain in the same group for the duration of the test (even if they explicitly turn on or off discussion tool preferences). NOTE: Need to confirm if changes in desktop preferences impact mobile web preferences.

Instrumentation-Related Requirements

  • Within the A/B test, we are able to distinguish all events logged for the control group and the test group.
  • We are able to track if/when someone in the test group adjusts any of the discussion tool-related preferences.
NOTE: the bucketing requires above assumes that no one at the Participating wikis will have had access to any and all mobile discussion tools prior to this A/B test beginning.

Participating wikis

WikiProject
1.az.wiki
2.de.wiki
3.es.wiki
4.fa.wiki
5.hi.wiki
6.id.wiki
7.it.wiki
8.nl.wiki
9.pl.wiki
10.pt.wiki
11.ro.wiki
12.ru.wiki
13.th.wiki
14.tr.wiki
15.uk.wiki

See T314950 for how the list above came to be.

Minimal test case

@DLynch to populate on bucketing requirements are implemented

Done

  • A patch has been deployed that meets what's described in the ===Bucketing requirements section above
  • Editing QA has verified people are being bucketed on the client side on the beta cluster
  • Once A/B test is started in T321961, @MNeisler will verify that bucketing is being logged as expected server-side

Event Timeline

ppelberg added a project: Product-Analytics.

@MNeisler: I'm assigning this task over to you to make sure the Bucketing requirements match up with what you remember us as having talked about on Wednesday.

Once you've done the above, can you please comment as much and assign this task over to @DLynch to begin implementation?

The Bucketing requirements in the task description look good to me.

I added a couple of instrumentation-related requirements and also added our usual AB test requirement that "People should remain in the same group for the duration of the test (even if they explicitly turn on or off discussion tool preferences)".

This assumes that it's possible for a user to update their mobile DiscussionTool preferences by changing their desktop DT preferences, which I believe still needs to be confirmed (cc @ppelberg)

@DLynch - Reassigning to you to implement.

This assumes that it's possible for a user to update their mobile DiscussionTool preferences by changing their desktop DT preferences, which I believe still needs to be confirmed (cc @ppelberg)

Good spot, @MNeisler.

@DLynch: are you able to confirm that it is indeed possible for people to adjust the DiscussionTools they do/do not have access to on mobile by way of adjusting the DiscussionTools settings on desktop?

Note: In either case, no changes to the bucketing requirements will need to be modified. It's just that if the "yes" we'll need to account for this possibility in the analysis.

Change 851130 had a related patch set uploaded (by DLynch; author: DLynch):

[mediawiki/extensions/DiscussionTools@master] ABtest for mobile, logged in users

https://gerrit.wikimedia.org/r/851130

Change 851131 had a related patch set uploaded (by DLynch; author: DLynch):

[mediawiki/extensions/DiscussionTools@master] ABtest for mobile, logged out users

https://gerrit.wikimedia.org/r/851131

are you able to confirm that it is indeed possible for people to adjust the DiscussionTools they do/do not have access to on mobile by way of adjusting the DiscussionTools settings on desktop?

They cannot! Everything on mobile is completely controlled by the site-wide behavior.

are you able to confirm that it is indeed possible for people to adjust the DiscussionTools they do/do not have access to on mobile by way of adjusting the DiscussionTools settings on desktop?

They cannot! Everything on mobile is completely controlled by the site-wide behavior.

Understood. Thank you, @DLynch.

The current logged out users patch does rely on reading a cookie and varying the experience based on that (to disable the MF overlay). The cookie is only set client-side, so it shouldn't cause any not-caching-output issues as previous A/B test implementations did.

We're lightly uncertain about whether it'll cause any bucketing issues once all the logged out caching is involved, so we should double-check the bucket distribution / experience for logged out users once it's on live servers and we can see how it's playing with caching.

Change 851130 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] ABtest for mobile, logged in users

https://gerrit.wikimedia.org/r/851130

Change 851131 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] ABtest for mobile, logged out users

https://gerrit.wikimedia.org/r/851131

Change 854593 had a related patch set uploaded (by DLynch; author: DLynch):

[mediawiki/extensions/DiscussionTools@wmf/1.40.0-wmf.8] ABtest for mobile, logged in users

https://gerrit.wikimedia.org/r/854593

Change 854594 had a related patch set uploaded (by DLynch; author: DLynch):

[mediawiki/extensions/DiscussionTools@wmf/1.40.0-wmf.9] ABtest for mobile, logged in users

https://gerrit.wikimedia.org/r/854594

Change 854594 abandoned by DLynch:

[mediawiki/extensions/DiscussionTools@wmf/1.40.0-wmf.9] ABtest for mobile, logged in users

Reason:

No .9 train

https://gerrit.wikimedia.org/r/854594

Change 854595 had a related patch set uploaded (by DLynch; author: DLynch):

[mediawiki/extensions/DiscussionTools@wmf/1.40.0-wmf.8] ABtest for mobile, logged out users

https://gerrit.wikimedia.org/r/854595

Change 854593 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@wmf/1.40.0-wmf.8] ABtest for mobile, logged in users

https://gerrit.wikimedia.org/r/854593

Change 854595 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@wmf/1.40.0-wmf.8] ABtest for mobile, logged out users

https://gerrit.wikimedia.org/r/854595

Mentioned in SAL (#wikimedia-operations) [2022-11-08T21:13:31Z] <urbanecm@deploy1002> Started scap: Backport for [[gerrit:854593|ABtest for mobile, logged in users (T320993)]], [[gerrit:854595|ABtest for mobile, logged out users (T320993)]]

Mentioned in SAL (#wikimedia-operations) [2022-11-08T21:17:42Z] <urbanecm@deploy1002> Finished scap: Backport for [[gerrit:854593|ABtest for mobile, logged in users (T320993)]], [[gerrit:854595|ABtest for mobile, logged out users (T320993)]] (duration: 04m 10s)

DLynch added a project: Skipped QA.

Bypassing QA since this can't really be tested until the a/b test starts.

Bypassing QA since this can't really be tested until the a/b test starts.

Noted. I've updated this task's "Done" section to reflect that QA will not be happening in this task. I've also updated T321961's "Done" section to reflect that QA will happen as part of it. See T321961#8381476.

ppelberg updated the task description. (Show Details)