Page MenuHomePhabricator

Allow Filtering Newcomer Tasks by interests
Closed, ResolvedPublic5 Estimated Story Points

Description

This is a backend-focused subtask of T432812: Account setup: Integrate interest selector into suggested edits + propose tasks by interest (DE1.3.1).

The current backend is fully built on top on searching for articles with suggested edits in user-selected topics. However, now we have user-select Interestes, stored as plain article titles in the user option created in T432811, and want to use morelikethis: to get more relevant suggestions to show.

This task is about making that possible on the backend. That means in particular:

If a user has interests selected, and they are in the experiment (=> FeatureManager), then these interests should be used to

  • generate their recommendations that are prefilled on the Homepage
  • generate the pre-computed and cached recommendations
  • return the number of available tasks for the respective api-endpoints (which thus now need to support interests)

If a user is not in the treatment group of the experiment, then they should use topics with no changes in functionality at all.

The rough goal is to tackle this task in 5 slices:

Details

Related Changes in Gerrit:
SubjectAuthorRepoBranchLines +/-
Michael Großemediawiki/extensions/GrowthExperimentsmaster+145 -33
Michael Großemediawiki/extensions/GrowthExperimentsmaster+603 -37
Michael Großemediawiki/extensions/GrowthExperimentsmaster+57 -9
Michael Großemediawiki/extensions/GrowthExperimentsmaster+10 -2
Michael Großemediawiki/extensions/GrowthExperimentsmaster+194 -10
Michael Großemediawiki/extensions/GrowthExperimentsmaster+15 -29
Michael Großemediawiki/extensions/GrowthExperimentsmaster+498 -15
Michael Großemediawiki/extensions/GrowthExperimentsmaster+49 -0
Michael Großemediawiki/extensions/GrowthExperimentsmaster+168 -9
Michael Großemediawiki/extensions/GrowthExperimentsmaster+9 -25
Michael Großemediawiki/extensions/GrowthExperimentsmaster+230 -77
Michael Großemediawiki/extensions/GrowthExperimentsmaster+10 -16
Michael Großemediawiki/extensions/GrowthExperimentsmaster+94 -142
Michael Großemediawiki/extensions/GrowthExperimentsmaster+377 -16
Michael Großemediawiki/extensions/GrowthExperimentsmaster+297 -4
Show related patches Customize query in gerrit

Event Timeline

Michael triaged this task as High priority.Aug 19 2026, 4:01 PM
Michael moved this task from Inbox to Needs Refinement on the Growth-Team board.
KStoller-WMF set the point value for this task to 5.Aug 24 2026, 3:42 PM
KStoller-WMF moved this task from Needs Estimation to Up next Sprint on the Growth-Team board.

Hi! I'm excited about this feature, and I hope you don't mind a random humble suggestion: consider showing newcomers the worst articles related to their selected articles, so they see that we really do need their help. :) For example: filter the "more like this" articles to only show articles with a low predicted article quality score, and with cleanup tags present, but also with relatively high page view counts.

Backstory: Many other longtime editors and I jumped in after a moment of indignation: "How is that article so bad (or missing, or incomplete)? That can't stand. I care about this topic. I need to fix it!" But many articles on English Wikipedia are fairly decent now. So a friend and I made this: https://projo.toolforge.org/. A person types in a topic of interest, gets presented with potential matching categories, they pick one, and they get a list of articles in that category - but limited to articles with a low quality score, so it'll be easier to find something to improve. It's even better to further limit the list to articles with one or more cleanup tags present. The filtered article list is ranked by the highest page view count, which increases the chances that the top suggested articles are about interesting topics.

Example: I just typed in "animals", selected the category "Aquatic animals", filtered the results by "needs cleanup?" and got a list with Toad at the top. This is a fun topic, the article is very short, and it invites the reader to globalize the "habitat" section, which covers one country and is one sentence long. Pretty feasible to add a sentence or two!

Change #1333205 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Add interest-based morelikethis search queries

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

Change #1333261 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Modernize task suggester and filter classes

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

Change #1333262 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Build task sets from interests below the user layer

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

Change #1333877 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Modernize user options lookup and cache refresh job

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

Change #1333878 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Build task filters from interests for treatment users

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

Change #1334887 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Build task set filters in the user options lookup

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

Change #1335178 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Modernize the growth tasks API module

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

Change #1335179 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Report the deduplicated count for interest task sets

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

Change #1335180 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Add the gtinterests parameter to the growth tasks API

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

Change #1333205 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Add interest-based morelikethis search queries

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

Change #1333261 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Modernize task suggester and filter classes

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

Change #1333262 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Build task sets from interests below the user layer

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

Change #1333877 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Modernize user options lookup and cache refresh job

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

@Dreamyshade Thanks for raising this. Sorry, I read your feedback earlier in the week and the Growth team discussed it, and I forgot to reply! We'll take it into consideration as we work on improvements to Newcomer Tasks!

I'm in agreement with you, I think getting started contributing is tricky for newcomers partially because most of the commonly read pages are fairly polished and , so there often isn’t an obvious or approachable improvement to make.

filter the "more like this" articles to only show articles with a low predicted article quality score, and with cleanup tags present, but also with relatively high page view counts.

We will be doing a bit of a mix, but this is similar to our approach we are thinking about: either the article will have cleanup tags or it will be an article that has a "Revise Tone" or "Add a Link" suggestion. (I'm not sure if you've checked out the Revise Tone task in Suggested Edits, but my experience is that the task is good at finding obscure articles that need work).

I'm a little more hesitant to factor in high page views: a low-quality article with high-page views often means it's an article that is fairly difficult to work on, and might be a challenge for newcomers. That said, I agree there’s a balance here: we also don’t want to send newcomers to articles that need work but don’t feel particularly meaningful or rewarding to improve.

Thanks for the feedback and linking to https://projo.toolforge.org/ - there are just so many cool wiki tools, I can't keep track of them all, so I appreciate the reminder about this one!

Thank you! Yes, big fan of Suggested Edits! Sounds interesting to use tone check as a factor. I've tried using tone check flags (and reference need scores) as part of ranking articles that may need work, but I was trying to get a count of tone check flags per article, and that was slow when processing 1000+ articles at a time for ranking (like all of the stubs in a WikiProject).

Here's an example of why I'm enthusiastic about higher-view articles: in this list of low-quality comedy movies, the most popular one is a bad 1991 American film that was part of a franchise (about 150 views per day), and the least popular is a Greek film from 1953 (less than 1 view per day). Both articles are wide-open for expansion, but it's much easier for me to find citations for the first article. But Projo is a somewhat different use case. Just happy that you're trying ways of optimizing for both individual interests and editability, because we have so many crummy articles perfect to pair with a person up for taking a swing!

Change #1334887 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Add a factory for the task set filters

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

Change #1333878 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Build task filters from interests for treatment users

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

Change #1335178 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: type-harden the growth tasks API module

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

Change #1335179 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Report the deduplicated count for interest task sets

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

Change #1337573 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: type-harden the task set value object

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

Change #1337574 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Pin the cache decorator's option semantics with tests

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

Change #1337575 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Separate the cached task pool size from the served limit

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

Change #1337576 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Serve a random slice of a deeper interest task pool

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

Change #1337881 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Count articles, not search results, against the limit

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

Change #1335180 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Add the gtinterests parameter to the growth tasks API

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

Change #1337573 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: type-harden the task set value object

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

Change #1337574 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Pin the cache decorator's option semantics with tests

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

Change #1337575 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Separate the cached task pool size from the served limit

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

Change #1337881 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Count articles, not search results, against the limit

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

Change #1337576 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] NewcomerTasks: Serve a random slice of a deeper interest task pool

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

Change #1341125 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] feat: allow limiting the interests based search queries

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

Change #1341125 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] feat: allow limiting the interests based search queries

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