Making WordPress.org

Opened 3 years ago

Last modified 2 months ago

#6851 new enhancement

Consider adding a visual representation of Rating trends for plugins.

Reported by: dufresnesteven's profile dufresnesteven Owned by:
Milestone: Priority: normal
Component: Plugin Directory Keywords: has-screenshots
Cc:

Description

We should consider showing Rating trends when viewing a specific plugin.

Problem:
It isn't easy to figure out if the current version is good or bad. Ratings provide a flat view of history. If a plugin started off with bad reviews, it could be punished indefinitely even if great effort and care are made to improve. Similarly, if a plugin has degraded in quality but received good ratings early on, it would continue to benefit from that period undeservingly.

Attachments (2)

Screen Shot 2023-03-13 at 11.38.30 AM.png (49.6 KB) - added by dufresnesteven 3 years ago.
Super duper quick mockup.
trac_ss.png (32.0 KB) - added by Presskopp 2 months ago.

Download all attachments as: .zip

Change History (9)

#1 @dd32
3 years ago

I can't find where I mentioned it, but it might be worth splitting ratings into All time and Recent (Recent being 3/6 month or something).

The biggest problem with reviews-over-time is that the majority of the plugins have very few ratings, relatively, making it difficult to have a singular rating let alone multiple of them.

The plugins where this would mostly be useful however are those with many reviews, where historically it was well rated, but the recent reviews are lower.

Another suggestion is that more recent reviews can have extra weight applied to them, so instead of a review from 4 years ago counting the same as one yesterday, yesterdays review has a much higher impact on the overall score. That would allow for having a singular rating, but still allowing recent reviews to affect the overall score, while not negatively affecting those with few reviews.
I have previously looked into that, and it changed some plugin ratings significantly, but the majority were mostly unaffected (or only moved 0.1~0.5 stars).

#2 follow-up: @dufresnesteven
3 years ago

I can't find where I mentioned it, but it might be worth splitting ratings into All time and Recent (Recent being 3/6 month or something).

That's a good idea and would be easy to implement! The UI need not change much, minor code changes, nothing controversial :).

A plugin scorecard for me would be best case scenario but that's pretty large in scope and would require serious attention.

#3 in reply to: ↑ 2 ; follow-up: @dd32
3 years ago

Replying to dufresnesteven:

That's a good idea and would be easy to implement! The UI need not change much, minor code changes, nothing controversial :).

The more complicated part of that change would be adding it into WordPress itself, and then figuring out the search impact of the additional rating, etc, it's arguably more than just UI :)

#4 in reply to: ↑ 3 @dufresnesteven
3 years ago

Replying to dd32:

Replying to dufresnesteven:

That's a good idea and would be easy to implement! The UI need not change much, minor code changes, nothing controversial :).

The more complicated part of that change would be adding it into WordPress itself, and then figuring out the search impact of the additional rating, etc, it's arguably more than just UI :)

I think the first kick could just be a "tab" like interface in the directory ratings panel.

@dufresnesteven
3 years ago

Super duper quick mockup.

#5 @dd32
2 years ago

Duplicate of #1181? (If the answer is Recent / All Time)

#6 @Presskopp
2 months ago

I recently built a small browser extension that visualizes plugin rating trends over time and ran into some data limitations that might be relevant for this ticket.

The current Plugins API (plugins/info/1.2/?action=plugin_information) only exposes cumulative rating data. It does not provide time-based information, such as when ratings were submitted or how the distribution changed over time.

To reconstruct rating trends I currently fetch and parse the paginated review pages, extracting the star rating and review timestamp from each entry and aggregating them locally. This works, but requires crawling all review pages and is slower and more brittle than using structured API data.

If wordpress.org internally tracks rating events or review timestamps, exposing something like rating counts per day/week or review-based rating history via the API would make trend analysis much easier.

As a small experiment around this idea I built a browser extension that visualizes rating trends directly on plugin pages with a more detailed visual representation of rating changes over time, which can help highlight shifts in rating patterns more clearly:

https://github.com/Presskopp/wp-plugin-rating-trend

It shows what can currently be derived from the publicly available data, although the implementation requires significantly more effort due to the lack of historical rating data in the API.

Example visualization (BackWPup plugin):

The chart shows the monthly average rating based on individual review timestamps over the last 12 months. In this example, ratings dropped significantly after the introduction of a new version and later recovered again as issues were addressed.

This kind of visualization makes it easier to see when rating changes occurred, something that cannot currently be derived from the API since it only exposes the current cumulative rating distribution.

@Presskopp
2 months ago

#7 @Presskopp
2 months ago

  • Keywords has-screenshots added
Note: See TracTickets for help on using tickets.