Page MenuHomePhabricator

Implement product key performance indicator monitoring for Growth features in Grafana
Closed, ResolvedPublic

Description

This task follows up a retro discussion of T285577: Several wikis have 0 articles for all ORES topics, where articletopic stopped returning results, and we found out about it from a community member alerting us to this. T286365: Implement monitoring for articletopic / weighted_tags exists for monitoring specific to that field, but this task is more specific to instrumentation we want to add in GrowthExperiments and log to statsd so that it can appear in a Grafana dashboard (possibly our existing one), and we'd be able to see earlier on if there is a problem.

Let's first list out which things we want to output in statsd and then think about whether they can be aggregated or need to be separated by wiki (and we can make subtasks for them if needed):

  • newcomer task edit count
  • structured task newcomer task edit count
  • newcomer task count split by task type ID
  • accounts created that are opted into growth features
  • questions asked to mentor from help panel
  • questions asked to mentor from special:homepage
  • clicks on tasks, segmented by task type

Event Timeline

There's certainly some overlap with T249987: Scale: GrowthExperiments wiki monitoring dashboard, but I feel like that one has a different scope and frame of reference (more holisitic, longer term / macro view of the features), while this is about knowing early on when something is broken.

Moving into current sprint per team discussion.

This doesn't need to all get done at once. We can split these out into subtasks if desired.

kostajh raised the priority of this task from Low to Medium.Dec 13 2021, 6:50 PM

Looking forward to see some ways to monitor being built, so that I can provide data to communities in an easy way!

Change 746955 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Track newcomer task saves by task type, per wiki

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

Change 746956 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Track users opted into growth features and variants

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

Change 747126 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Track revert rate for newcomer tasks

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

Change 747152 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Track question asking for mentorship

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

I'm unsure about these:

  • unstructured task pool size (no topics)
  • unstructured task pool size (with topics)

The rest are ready for review.

kostajh renamed this task from Implement monitoring for Growth features to Implement product key performance indicator monitoring for Growth features in Grafana.Dec 15 2021, 8:46 AM

I've added a Product KPIs chore table to https://www.mediawiki.org/wiki/Growth/Team/Chores and my proposal is that it would work like this:

  • engineers review the sections on the new Grafana page for product KPIs, and write in the "Notes" column of the Product KPIs table if there's something that seems off
  • folks who are not involved in the engineer chores are the ones who are responsible for updating the status and signing their name that they've reviewed the chart. This would be a task to be done once a week and would probably take 5-15 minutes of time – you would glance at the charts, and note anything that seems problematic. Provisionally that is @DMburugu, @MMiller_WMF / new PM, @RHo, @nettrom_WMF and @Trizek-WMF but we could discuss if that is something you all would rather not do, or if we think it should only be 1-2 people, or less frequently, etc.

Once the Grafana page is set up with monitoring metrics, we can continue the discussion about who/how we monitor it.

Change 747519 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Track task click rate by task type ID

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

I personally would prefer data separated by wiki, since I time to time have requests from some wikis about data regarding efficiency.

Is it possible to get the revert rate by type of tasks?

I personally would prefer data separated by wiki, since I time to time have requests from some wikis about data regarding efficiency.

Yes, all the metrics here are per wiki, though we will probably also want some panel that aggregates data.

Is it possible to get the revert rate by type of tasks?

Yes, but after T297004: Rework how we track newcomer task edits is done.

Change 746955 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Track newcomer task saves by task type, per wiki

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

Change 746956 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Track users opted into growth features and variants

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

Change 747126 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Track revert rate for newcomer tasks

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

Change 751388 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Adjust logic for counting reverts

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

Change 747152 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Track question asking for mentorship

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

Change 747519 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Track task click rate by task type ID

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

Change 751191 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.16] Monitoring: Adjust logic for counting reverts

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

Change 751388 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Adjust logic for counting reverts

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

Change 751191 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.16] Monitoring: Adjust logic for counting reverts

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

Change 754893 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Add '.Save' to distinguish from '.Click' events

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

Change 754605 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.17] Monitoring: Add '.Save' to distinguish from '.Click' events

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

Change 754906 had a related patch set uploaded (by Kosta Harlan; author: Kosta Harlan):

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.18] Monitoring: Add '.Save' to distinguish from '.Click' events

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

Change 754893 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Monitoring: Add '.Save' to distinguish from '.Click' events

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

Change 754605 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.17] Monitoring: Add '.Save' to distinguish from '.Click' events

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

Change 754906 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@wmf/1.38.0-wmf.18] Monitoring: Add '.Save' to distinguish from '.Click' events

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

Mentioned in SAL (#wikimedia-operations) [2022-01-18T13:24:39Z] <lucaswerkmeister-wmde@deploy1002> Synchronized php-1.38.0-wmf.17/extensions/GrowthExperiments/includes/HomepageHooks.php: Backport: [[gerrit:754605|Monitoring: Add '.Save' to distinguish from '.Click' events (T286366)]] (duration: 00m 54s)

Urbanecm_WMF changed the task status from Open to In Progress.Jan 31 2022, 11:34 AM

I'm realizing now from T264460: Enable users to open the first suggested article directly from the mobile task preview that it would be helpful to segment by desktop/mobile, that way we'd get a quicker indicator into how clicks/taps are affected by platform.

kostajh lowered the priority of this task from Medium to Low.Feb 14 2022, 12:52 PM
kostajh added a subscriber: KStoller-WMF.

This can be reviewed at https://grafana.wikimedia.org/d/bSDW0wJ7z/growth-team-product-kpis?orgId=1. The revert rate chart is broken, but I am not going to fix it right now, for reasons I'll elaborate on below.

Overall, I am not sure how useful it is. It's hard to see useful data from the aggregate view on https://grafana.wikimedia.org/d/bSDW0wJ7z/growth-team-product-kpis?orgId=1. And if you filter down to a specific wiki, e.g. https://grafana.wikimedia.org/d/bSDW0wJ7z/growth-team-product-kpis?orgId=1&var-tasktype=All&var-wiki=eswiki&var-structured=All, I am not sure that this provides much useful information either.

@KStoller-WMF @MMiller_WMF perhaps this is something that you can think about, and we could try again once we have a better set of requirements and ideas of things you'd like to see charted out.

The issue in T285577: Several wikis have 0 articles for all ORES topics was about fetching articles for topics being broken, so Special:NewcomerTaskinfo displayed all zeroes in Topic table while the Task count was correct.

All topics have exactly zero articles in all task types.

image.png (876×832 px, 67 KB)

The grafana dashboard Growth Team/Growth team product KPIs gives stats on

The data can be viewed (and downloaded) in a tabular form, which is, arguably, is more informative than the graphs. @nettrom_WMF, @KStoller-WMF - anything else needs to be done on this task?

I've been using the Grafana dashboard and I certainly find it very useful to better understand the use of different task types and engagement between wikis. I'm fine with considering this task complete, although someone else should feel free to reopen if they disagree.

Also I'll add a topic to my next 1:1 with @kostajh to chat more about observability, I'm curious to know more about observability and Grafana alerting and if we have some alters set up related to this dashboard.

@KStoller-WMF I updated the dashboard https://grafana.wikimedia.org/d/bSDW0wJ7z/growth-team-product-kpis?orgId=1&var-tasktype=All&var-wiki=All&var-questiontype=All&from=now-7d&to=now&var-variant=All and added sections for:

  • Reverts (by task type)
  • Question posting (T315898)
  • Account registration (though something seems off with the variant recording there, and maybe we want a different visualization there)