Page MenuHomePhabricator

Classify requests to developer.wikimedia.org as pageviews
Open, HighPublic

Description

For FY26-27, the PP3.4 KR aims to use human views of developer.wikimedia.org as a metric.

Requests to that domain are currently not classified as pageviews, which means we don't have easily accessible bot detection for them.

By the end of Q4, we'll have a new classification available in webrequest (T425666), which assigns a numerical bot-likeness score to all requests, including non-pageviews. PP3.4 could block on that, and then build their metric on webrequest directly using the new score.

However, I propose a different approach: let's make views to developer.wikimedia.org part of the pageview definition, so that they immediately become available via pageview_hourly.

We already classify a few selected non-wiki domains as pageviews, so I think this fits the current practice.

Then, in FY26-27 Q1, when we plug the new classification score to pageview_hourly, PP3.4 will benefit from it alongside other use cases of this data.

Event Timeline

GGoncalves-WMF renamed this task from Classify requests to developer.wikimedia.org as pageviews. to Classify requests to developer.wikimedia.org as pageviews.Jun 9 2026, 8:53 AM
Ahoelzl triaged this task as High priority.Jun 17 2026, 5:15 PM

This will make it much easier to calculate the required metrics downstream, rather than aggregating from webrequest. Thanks for proposing this @GGoncalves-WMF.

@Ahoelzl and @GGoncalves-WMF , do you have any updates on the timeline for this task? As a reminder, this is currently blocking the [[ https://app.asana.com/1/3758245663860/project/1215608020463027/overview/1215609954451177 | [Hypothesis] PP3.4.2 Developer Adoption Baseline ]]

CC: @KHernandez-WMF

I gave a quick look, and here are the things that we could/should do:

  • We should change the PageviewDefinition to include developer.wikimedia.org page view requests as pageviews. This would mark those requests as pageviews and they would be treated as such by the rest of the downstream pipelines. However, those pipelines assume pageviews have certain fields populated: last_access_per_project_family (cookie), last_access_per_domain (cookie), namespace_id (x_analytics), page_id (x_analytics), page_title (parsed from URI by GetPageviewInfoUDF). We should make sure those fields are populated, to avoid corrupting the downstream pipelines.
  • We should make sure that the GetPageviewInfoUDF correctly parses the page title into the corresponding page_title field.
  • Is there a way to implement the unique devices cookies in developer.wikimedia.org front-end code? This is probably the correct way, no?
  • Is there a way to implement the inclusion of the namespace_id and page_id in the x_analytics header in developer.wikimedia.org?

While this is still possible, and I think it will be desirable to measure pageviews with bot detection for non-wikis, this is also more complex than I thought.

The good news is T425666 is essentially done, and we do already have bot scores for requests to developer.wikimedia.org in the new webrequest v2. This does not include all of the new bot detection signals we use, but should be better than what we had in Q4.

To de-risk and unblock T430637 in Q1, we can perhaps craft a query that computes a baseline without actually doing the pageviews integration just yet. That way we don't block on this ticket and/or more general support for non-wikis in KAPOW.

I'll bring this up with @HCoplin-WMF tomorrow :)

Having chatted with Halley, what we currently have should be enough for establishing a baseline as a one-off query against webrequest_v2, which now contains scores for non-pageviews. I've also commented to that effect in T430637.

This ticket is still desirable, but we should pursue it as part of a more holistic push to support analytics on non-wiki sites, and I don't think we'll get to it within the timeframe needed for PP3.4.

T434137 is adding instrumentation to the Developer Portal for measuring pageviews, separately from the existing pageviews pipeline and data products and our bot detection.

Once that's done, I think we can come back to this one if we find the need to integrate with those, but for now we I think we can backlog this.