Topic: order:rank being a little wonky lately?

Posted under General

Has anyone else noticed that when looking at the Hot page (not Popular), that the algorithm has been a bit borked lately?

I first noticed it on April 10th when there were a LOT of low-score posts close to the first page. I usually have to go quite a ways before I see anything below a 25 score, but I was seeing stuff below that on Page 1. Somebody suggested it was because of a slow upload day, but it's been a persistent issue.

Since then, it seems like the results from searching order:rank are way too wonky. You'll see some popular artwork like normal, and suddenly a jump to a bunch of low-score posts with a few high-score posts sprinkled in. I've already confirmed that this is a back-end phenomenon, since it manifests on browser with and without userscripts, as well as on the e1547 mobile app.

Haven't done the actual calculations, but seems right enough to me. I see a few posts with a score below 25 but those were all uploaded within the past 2 hours, so those gained the upvotes quite fast. The posts with a higher score are much closer to 24 hours old.

The formula for order:rank rewards posts that are more recent, rather than just being a rolling 24-hour period like popular.

faucet said:
Haven't done the actual calculations, but seems right enough to me. I see a few posts with a score below 25 but those were all uploaded within the past 2 hours, so those gained the upvotes quite fast. The posts with a higher score are much closer to 24 hours old.

The formula for order:rank rewards posts that are more recent, rather than just being a rolling 24-hour period like popular.

I'm aware that it rewards posts that are more recent, which is why there was a particular example that I saw today that tipped me off further. I saw two posts, parent and child, that were uploaded within seconds of each other. The child post had more interaction (higher score, more favorites, more comments), but only the parent post showed up in the order:rank search. Under the formula, the expected behavior would be for the child post to be ranked above the parent post since it was newer and had higher metrics, but it didn't appear at all. I posted details about this example with screenshots in the Discord's support channel if you want to take a look there.

I did look at the source code that you linked, and I couldn't find any modifications to that formula in the git history. I did, however, find a related PR that got pushed in a release right before I first noticed the issue: PR #1037. It's meant to improve filtering deleted posts out of grouped searches, which includes order:rank. I'm not certain that this is the culprit since I don't know Ruby, but I do think it's likely given the timing.