Page MenuHomePhabricator

A/B test New Articles by Topic module in the "For You" feed
Closed, ResolvedPublic2 Estimated Story Points

Description

Dates
  • Release into Beta: August 20, 2026
  • Release into Production: TBD
  • End of test: TBD - At least 30 days after production release

Background

Phase 1 of redesigning the Explore feed into a modern, 2-tab experience was completed on Android in May/June 2026. In Phase 2, the team will introduce new content sources into the feed: seeking more curation sources from the community, additional personalization, and engagement opportunities.

Usability testing with 9 readers ranked Personalized New Articles highest for return intent (avg. 1.44/5), making it the lead candidate for Phase 2 development.

User Story

As a Wikipedia reader, I want to see new articles related to my interests surfaced in my For You feed, so that I have a reason to return to the app each day to discover what's new in the topics I care about.

Requirements

  • ✅ The module surfaces newly created Wikipedia articles relevant to the reader's configured interest topics
  • ✅ Test against existing feed as an A/B test
    • A: Control: no access to new articles module in feed or settings
    • B: Variant: New articles module in feed & settings
  • ✅ Feed order for experiment period: New articles in your interests Based on Your Interests · Because You Read · Continue Reading · Places of Interest · Discover · Random · Games Teaser
  • ✅ Each day, randomly select up to 4 of their topics (one topic per slide in the horizontal carousel). Rotate which order the topics are shown in each day, and if they have more than 4 topics, which ones are shown.
  • ✅ For each topic, display 4 new articles
  • For English: articles must be marked as patrolled before surfacing, applied on top of interest-topic matching
  • For all other languages: pull the 50 most recent new articles per day and select 3 randomly from the older half (articles 26-50), to increase the chances the article has been reviewed by other editors
  • For all languages: prefer articles with images
  • ✅ Each card displays: reason label (e.g. "New articles related to your interest [topic]"), card position indicator, three-dot more menu
  • ✅ Tapping an article shows a link preview, with options to open in a new tab or read (acceptable to reuse existing view)
  • ✅ The module refreshes daily with newly created articles. Avoid repeating from the previous day's module content
  • Content must not repeat within the module on a given day.
  • ✅ If the reader has not configured any Topic interests, the module is not shown
  • ✅ Add module into settings screen "New articles in your interests"
    • ✅ Subtitle: Recently created articles within topic areas you follow
  • Upon daily or manual refresh, images in tiles should update to match what's currently in the article (avoid situation where image is deleted from article, but still appears in the app)
  • Instrument the module to answer A/B test metrics in partnership with product analyst

[Nice to have]

  • If a user has no topics selected, show a "empty state" slide with the ability to explore new articles by topic, and follow topics

How will we measure success

  • KR 1: 5% increase in Home Feed second day return for treatment group vs control for eligible users (have at least one Topic interest)
  • GR 1: No more than 2% of users hide a new article card
  • GR 2: Average feed loading time does not exceed 5 seconds for control & variant groups
  • GR 3: No more than a 50% increase in median feed loading time for users in experiment group compared to control
    • Those in experiment group will naturally have more latency because of extra API calls, we want to make sure this doesn't cause an adverse user experience
  • CR 1: Did we see movement in overall app 2nd-day retention for eligible users? (KR definition)
  • CR 2: Did we see an increase in "For you" usage? Among users in the treatment group who returned to the app on a second day, is the rate of "For You" tab visits higher than among users in the control group who returned on day 2?

3-day latency check

  • Pull average & median latency for control group and variant group.
  • Decision matrix:
    • If average feed loading time is more than 50% higher in the variant group, AND we are seeing a negative effect on overall app retention, the experiment should be paused again until Lazy Loading has been implemented: https://phabricator.wikimedia.org/T437372
    • If the average feed loading time remains comparable to control, or less than a 50% increase over control and there is a negative effect on overall retention the experiment should run for the remaining 12 days.

Design

https://www.figma.com/design/VwBaV9KZ7LWfOY2dt1BJyQ/Explore-Feed?node-id=9087-47496&t=0MkneplBRX3mzlZU-1
prototype detailing interaction of first slide

Measurement Plan

Android Home Feed Phase 2 New Articles AB Test Measurement Plan T432385

Instrumentation Deck

Android Home Feed Phase 2 Data Instrumentation Planning

Event Timeline

HNordeenWMF triaged this task as Medium priority.
HNordeenWMF updated the task description. (Show Details)
HNordeenWMF raised the priority of this task from Medium to High.Jul 27 2026, 2:14 PM

We'll start with this on all languages, and evaluate the experience. If the new articles coming up for non-English languages are providing a suboptimal user experience, we'll limit the experiment to just English.

Feed order for experiment period: New articles in your interests Based on Your Interests · Because You Read · Continue Reading · Places of Interest · Discover · Random · Games Teaser · New articles in your interests

@HNordeenWMF ^ what should be the feed order? Does the "new articles" module appear twice?

Sorry that is legacy - just fixed

Show 1 vertical instance of New articles at the top of the feed, with a selection of up to 4 topics, swipeable horizontally.

Dbrant changed the point value for this task from 5 to 2.Wed, Aug 12, 4:31 PM

Evaluating new article suggestions for English (large Wiki with patrolling filter), German (large wiki with no patrolling filter), Vietnamese (smaller wiki with no patrolling filter).

  • English Spot check for a few topics
    • films
      • 1/4 had restructuring edit notice
    • women
      • 0/4 had edit notices
    • food-and-drink
      • 0/4 had edit notices
    • philosophy-and-religion
      • 1/4 had edit notice for orphan article, 1/4 was nominated for deletion
    • politics-and-government
    • biology
      • 0/4 had edit notices
    • chemistry
      • 1/4 had edit notices for orphan article and primary source
    • africa
      • 3/4 had restructuring edit notices
    • asia
      • 1/4 had edit notice for orphan article
    • north-america
      • 0/4 had edit notices
  • German Spot check for a few topics
    • films
      • 0/4 had edit notices
    • women
      • 0/4 had edit notices
    • food-and-drink
      • 0/4 had edit notices
    • philosophy-and-religion
      • 0/4 had edit notices
    • politics-and-government
      • 0/4 had edit notices
    • biology
      • 1/4 had edit notice for article quality
    • chemistry
      • 1/4 had edit notice for article quality
    • africa
      • 1/4 had edit note for article quality
    • asia
      • 0/4 had edit notices
    • north-america
      • 0/4 had edit notices
  • Vietnamese Spot check for a few topics
    • films
      • 0/4 had edit notices
    • women
      • 0/4 had edit notices
    • food-and-drink
      • 0/4 had edit notices
    • philosophy-and-religion
      • 0/4 had edit notices, one stub
    • politics-and-government
      • 0/4 had edit notices
    • biology
      • 0/4 had edit notices
    • chemistry
      • 3/4 were very short articles
    • africa
      • 2/4 were short articles
    • asia
      • 1/4 had edit notice for notability
    • north-america
      • 0/4 had edit notices

Based on this, @Dbrant I'm comfortable with this test staying multilingual

@Dbrant I was pleasantly surprised with all the images!
How did you balance preferencing images for the suggestions vs keeping it fresh each day? If there are no new articles with images availalbe, will users see the same 4 again, or will it start to bring in new articles without images

@Dbrant I was pleasantly surprised with all the images!
How did you balance preferencing images for the suggestions vs keeping it fresh each day? If there are no new articles with images availalbe, will users see the same 4 again, or will it start to bring in new articles without images

The logic is exactly as specified in the task: take the 50 newest articles, look at only the older 25, and prioritize ones with images. This turns out to produce 4 new articles per day, fairly reliably.
This does not persist which articles have been served to the user in previous days, so it is possible for the user to see article(s) from previous days, but not likely.

@Dbrant do you have a screenshot of how we're handling no-image articles? we're hiding them, right? i couldn't get any to show up so can't verify that.

aside from that, this looks great, just two notes--

i updated the design to reflect separating "new in your interest" from the interest, do you mind updating the implementation accordingly? https://www.figma.com/design/VwBaV9KZ7LWfOY2dt1BJyQ/Explore-Feed?node-id=9589-31908&t=QcPRSsWfUOlOjY1M-1

also, do you mind updating the card styling to reflect the design that i updated according to our thread here? thank you!

we're hiding them, right?

yep, hiding them.

i updated the design to reflect separating "new in your interest" from the interest, do you mind updating the implementation accordingly?

done!

also, do you mind updating the card styling to reflect the design that i updated according to our thread here? thank you!

done!!

SChekfa-WMF added a subscriber: WRai-WMF.

some quick fixes after conferring with @HNordeenWMF @WRai-WMF

1-- can we update the token of "new in your interest" to m3/label/large and the token of the topic ie "visual art" to m3/headline/small-emphasized

and then 2-- can we vertically center the entire unit of content (meaning both the header and the cards) within the user's device so we can avoid situations like this with tall phones where there's a lot of white space at the bottom of the screen:

Screenshot 2026-08-20 at 11.06.25 AM.png (720×1,366 px, 302 KB)

TY!

@WRai-WMF these fixes can be higher priority than Rive, as we need to get New articles into QA soon

ABorbaWMF added subscribers: SNowick_WMF, ABorbaWMF.

Testing on 50602-beta-2026-08-19
Tested on:
Pixel 8, Android 16
Galaxy A36, Android 15

Requirement✅❓❌Notes
The module surfaces newly created Wikipedia articles relevant to the reader's configured interest topicsWorks as expected
Test against existing feed as an A/B test
A: Control: no access to new articles module in feed or settingsWorks as expected
B: Variant: New articles module in feed & settingsWorks as expected
Feed order for experiment period: New articles in your interests Based on Your Interests · Because You Read · Continue Reading · Places of Interest · Discover · Random · Games TeaserWorks as expected
Each day, randomly select up to 4 of their topics (one topic per slide in the horizontal carousel). Rotate which order the topics are shown in each day, and if they have more than 4 topics, which ones are shown.Works as expected
For each topic, display 4 new articlesWorks as expected
For English: articles must be marked as patrolled before surfacing, applied on top of interest-topic matchingI think this is working, but I don't have a good way to check if an article is patrolled
For all other languages: pull the 50 most recent new articles per day and select 3 randomly from the older half (articles 26-50), to increase the chances the article has been reviewed by other editorsSame as above. I think this is working, but it is difficult to tell
For all languages: prefer articles with imagesWorks as expected
Each card displays: reason label (e.g. "New articles related to your interest [topic]"), card position indicator, three-dot more menuWorks as expected
Tapping an article shows a link preview, with options to open in a new tab or read (acceptable to reuse existing view)Works as expected
The module refreshes daily with newly created articles. Avoid repeating from the previous day's module contentWorks as expected
Content must not repeat within the module on a given day.Works as expected
If the reader has not configured any Topic interests, the module is not shownWorks as expected
Add module into settings screen "New articles in your interests"Works as expected
Subtitle: Recently created articles within topic areas you followWorks as expected
Upon daily or manual refresh, images in tiles should update to match what's currently in the article (avoid situation where image is deleted from article, but still appears in the app)Works as expected
Instrument the module to answer A/B test metrics in partnership with product analystAssuming this is handled by @SNowick_WMF in another ticket
[Nice to have]
If a user has no topics selected, show a "empty state" slide with the ability to explore new articles by topic, and follow topicsNot present

Data validated for Prod release 50603-r-2026-08-25

Note: Experiment was released 2026-08-25. However we saw a statistically significant decline in 2 day retention for treatment group users in GrowthBook along with a potential issue with API latency for the New Articles Module causing loading time errors so it was decided to pause the experiment until we can ensure this issue is resolved.

@Dbrant rolled out a cherry-picked release (50604-r-2026-09-03 CHERRY-PICKED) to production, which pauses the New Articles AB Test (or rather puts it behind a remote config flag, defaulting to off).
DB also added a latency measure event that will make it easier for us to monitor potential For You feed performance going forward.

Once performance issues are resolved we will re-randomize participants and restart the experiment.