Page MenuHomePhabricator

Investigate feature flagging/experimentation platforms
Closed, ResolvedPublic8 Estimated Story PointsSpike

Description

TOINVESTIGATE

Acceptance

  • evaluation matrix, process and decision published on wiki
  • slide deck for leadership
  • presentation for leadership

Event Timeline

Restricted Application changed the subtype of this task from "Task" to "Spike". · View Herald TranscriptApr 27 2023, 9:08 AM

GrowthExperiments: https://phabricator.wikimedia.org/T335124#8795980

See also T288022: Support multidimensional user variants in GrowthExperiments and T323811: [EPIC] Community configuration 2.0: Factor Community configuration out of GrowthExperiments (especially the latter).

While I was walking through the GrowthExperiments codebase is that it doesn't bucket users deterministically, rather it rolls a dice and persists the result in the database (in the user_properties table). This approach won't scale to the size of our logged-out user audience.

There is also a PostHog - https://posthog.com/feature-flags - that btw is more a suite, but one of the features it provides is feature toggling.

A while back I put together a brief overview of how multi-armed bandit (something Ax supports) could be beneficial to our banner-based fundraising efforts (compared to traditional A/B testing): https://docs.google.com/presentation/d/14WGAIxMqN6TqdWk4l7Dg8jiZtn4rDyAU_ezbk1lKm_U/edit?usp=sharing

And Bayesian optimization (another thing that Ax supports) could help teams like Search Platform experiment with configurations.

Happy to chat about Ax and adaptive experimentation in general!

phuedx set the point value for this task to 8.
phuedx renamed this task from Investigate open-source feature flagging/experimentation platforms to Investigate feature flagging/experimentation platforms.Apr 4 2024, 3:06 PM

See https://docs.google.com/spreadsheets/d/1pfsRDBk9QUAH9IzICxwDh7hUCYM_obB6RxpIwEgYrA0/edit (commentable by WMF).

tl;dr

The initial sample comprised 15 open core and closed source feature flagging/experimentation platforms. Platforms were evaluated against many dimensions and 9 were rejected. Of the 6 that remain, 4 are open core and 2 are closed source.

Next steps

  1. @phuedx: Publish the spreadsheet
  2. @VirginiaPoundstone: Do an equivalent product evaluation
  3. @phuedx: Deliver an example integration of at least one of the platforms in a local MediaWiki development environment

There is one more, pretty young kid on the block - https://openfeature.dev/blog/web-v1-announcement/ - it may be worth checking it.

Change #1031894 had a related patch set uploaded (by Phuedx; author: Phuedx):

[mediawiki/core@master] DNM: Example Growthbook integration

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

Change #1031894 abandoned by Phuedx:

[mediawiki/core@master] DNM: Example Growthbook integration

Reason:

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

Change #1031946 had a related patch set uploaded (by Phuedx; author: Phuedx):

[mediawiki/core@master] DNM: Example Statsig integration

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

Change #1031946 abandoned by Phuedx:

[mediawiki/core@master] DNM: Example Statsig integration

Reason:

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

Change #1031948 had a related patch set uploaded (by Phuedx; author: Phuedx):

[mediawiki/core@master] DNM: Example Unleash integration

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

Change #1031948 abandoned by Phuedx:

[mediawiki/core@master] DNM: Example Unleash integration

Reason:

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