mathjazz / pontoon

In-place localization tool
https://pontoon.mozilla.org/
BSD 3-Clause "New" or "Revised" License
3 stars 1 forks source link

Set up A/B testing infrastructure #1282

Open mathjazz opened 3 years ago

mathjazz commented 3 years ago

This issue was created automatically by a script.

Bug 1695961

Bug Reporter: @mathjazz CC: @Pike, @flodolo Depends on: Bug 1701631, Bug 1701632

As part of the Improve mechanisms for one-directional community engagement L10n team objective, we'd like to experiment with design changes in Pontoon to increase the number of users reading notifications by 2x (KR).

We need to create a reusable A/B testing infrastructure that will allow us to:

Actions we want to measure for each experiment:

Data we could store for each action:

Open questions:

Resources:

mathjazz commented 3 years ago

Comment Author: @flodolo

I don't think we should introduce external libraries. They come with technical challenges (e.g. users blocking them), and potential security/privacy concerns.

Take for example Bedrock, they explicitly call it out

Security (keeping the experimentation surface as small as required).

In Pontoon we have login information on top of normal data visualized.

mathjazz commented 3 years ago

Comment Author: @Pike

I've been thinking a bit about this, and I'd add cohorts to the picture.

On top of that, cohorts change over time. Not really sure how to model that. Maybe actionlog, and keep cohort db entries if they change, or recreate the cohort set whenver the cohorts change, and then the history would be done by adding start-end datetimes.

Data pings could then be:

I'd not record the user with the data ping. Action name could be part of the datablob, or an extra column. Really depends on how easy the queries for things inside the datablob are, I don't have much experience with json fields.