| Post Reply | RetroFed Forum Forum Index » PieFed Meta |
| Author | Message | ||
|---|---|---|---|
|
web suffer
piefed.social
suff@piefed.social Joined: 2025-03-27 |
How piefed currently ranksI took a look into post.post_ranking which is an implementation of what has been described by Amir Salihefendic in 2015.
It looks esotheric to me.
Say, we choose a different log base like 2 instead of 10. How would the age measurement need to be adapted in order to get the same post_ranking results? All I know is it is unimportant. We just have to adapt the 45000 s to be 13546 s. If we'd change the magic date we would need to adapt the arbitrary 45000 seconds again. (Wouldn't change the rank, I suspect.) Different approaches / statementsHere, something slightly different is claimed to be the reddit formula: Here, the sign decides if time is good or bad, not the log score.
Lobsters has this: (I removed a hotness-bonus, a comment score and several plus-ones.)
They call the 81000 s (22.5 hours) the "hotness window". That article features an interesting animation of three kinds of posts: viral hit, sleeper hit, steady performer. Evan Miller explored the reddit formula and boiled it down to:
Seeing similarites to Bayesian beta distribution in a poisson process, Miller concludes:
By the way, the original seems to be over 12 years old: https://github.com/reddit-archive/reddit/commit/50d35de04b928836b7ee955c8a26f197e24ab01e That commit explains the diversity of where to put the sign function. Say, I'd suggest a different, more physical ranking function. How would we test it? Does somebody have statistics? Edit: Correction concerning the choice of the log base. Precision on point 4. Guess about having to change 45000 for a different magic date. |
||
| 15 Original | |||
wjs018
piefed.wjs018.xyz
wjs018@piefed.wjs018.xyzJoined: 2025-07-15 |
I'm traveling, so can't really provide much input. However there is some more discussion in a relevant codeberg issue: https://codeberg.org/rimu/pyfedi/issues/1115 |
||
| 5 | |||
|
eleijeep
piefed.social
eleijeep@piefed.social Joined: 2025-09-22 |
I don't know anything about the decisions behind the code, but I can read the snippet you've pasted:
Since So you could choose a different base, but it would achieve the same thing as multiplying the result by a constant factor.
|
||
| 6 | |||
|
web suffer
piefed.social
suff@piefed.social Joined: 2025-03-27 |
I don't know anything about the decisions behind the code, but I can read the snippet you've pasted: Every logarithm is the same curve! Different bases are simply scaled by a constant factor. Since log_b(X) = log_a(X) / log_a(b) and log_a(b) is a constant So you could choose a different base, but it would achieve the same thing as multiplying the result by a constant factor. I would guess that ...
According to (4) we could also ommit 1685766018. But want it back in because the values get too large technically speaking, right? In point (3) the legitimacy of the hotness-window of 12.5 hours strongly depends on the number of visits per day piefed has, doesn't it? It ignores how many visitors vote on posts across the site in that hour. Or how many could be made everytime the post is shown. |
||
| 2 | |||
CombatWombat
feddit.online
CombatWombat@feddit.onlineJoined: 2025-09-09 |
I don’t get what your concern is — Piefed is software, there’s nothing physical about it, so I don’t get what a “more physical ranking function” could mean? Setting aside the arbitrariness of the constants for a moment, if you shipped a change, what is the difference you would want see in the sorting of the posts? What is the end-user problem you are trying to solve? |
||
| 4 | |||
|
eleijeep
piefed.social
eleijeep@piefed.social Joined: 2025-09-22 |
According to (4) we could also ommit 1685766018. But want it back in because the values get too large technically speaking, right? In point (3) the legitimacy of the hotness-window of 12.5 hours strongly depends on the number of visits per day piefed has, doesn't it? It ignores how many visitors vote on posts across the site in that hour. Or how many could be made everytime the post is shown.
Yes the constant time offset is unnecessary because it cancels out, but I imagine it made it easier to check the behaviour in the beginning. The size of the window doesn't depend on traffic. An exponential decay curve has the same shape regardless of what initial value you start from. |
||
| 3 | |||
|
web suffer
piefed.social
suff@piefed.social Joined: 2025-03-27 |
I don’t get what your concern is — Piefed is software, there’s nothing physical about it, so I don’t get what a “more physical ranking function” could mean? Setting aside the arbitrariness of the constants for a moment, if you shipped a change, what is the difference you would want see in the sorting of the posts? What is the end-user problem you are trying to solve?
By physical ranking I mean something users can grasp. If you 'drop' posts, maybe they should better be ranked like falling stones? If posts go 'viral', maybe they should better be ranked like infections? Reddit seems to have treated posts like random page walk phenomena, but not really. Then reddit "fixed" the ranking long after users started to call it the frontpage of the internet and piefed implements the "fix", not the original. Is this about taste?
|
||
| 1 | |||
Rimu
Moderator
rimu@piefed.socialJoined: 2024-01-04 |
According to (4) we could also ommit 1685766018. But want it back in because the values get too large technically speaking, right? In point (3) the legitimacy of the hotness-window of 12.5 hours strongly depends on the number of visits per day piefed has, doesn't it? It ignores how many visitors vote on posts across the site in that hour. Or how many could be made everytime the post is shown.
I feel like PieFed doesn't have enough content flowing through it for the effect of votes to fade away in 12.5 hours and perhaps 24 hours would be better. Maybe it depends on how often people check for new content? If they're once-a-day people, 24h might be best. But people checking multiple times per day would see the same stuff too often. I think. Honestly, the maths is a bit over my head. I just coded what that medium post said without fully understanding it. |
||
| 3 | |||
|
hendrik
palaver.p3x.de
hendrik@palaver.p3x.de Joined: 2021-08-21 |
I'm traveling, so can't really provide much input. However there is some more discussion in a relevant codeberg issue: https://codeberg.org/rimu/pyfedi/issues/1115
That was me. I must say it turned into an on- and off-project for me. Without any proper results. I mainly struggle with the nature of our metrics... I don't really agree with what's popular here... And the downvotes don't really mean the right thing, either. So my attempts turned into an impossible(?) quest for some way more elaborate "algorithm". I'm still interested in improving our maths, though! And I heard several people asking for a " better" ranking, especially easier for beginners. |
||
| 3 | |||
| Post Reply |
Back to top |