New Trending Algorithm - Attempt Number 4

in Steem Oasis 🌴yesterday

Next attempt for the Tending algorithm:

Score calculation with linear gradation between 0 and 30 votes and scaling down below 10 votes:

def _score_with_linear_median_and_min(active_votes, created_timestamp, timescale=480000):
    """Calculate trending/hot score with linear median and min rshares."""
    if active_votes:
        rshares = [int(vote['rshares']) for vote in active_votes]
        length = len(rshares)
        median_rshares = sorted(rshares)[length // 2]
        median_rshares *= 1 if length > 10 else 0.00001 # under 10 votes scale down
        weighted_median_rshares = int(median_rshares * min(length / 30, 1))  # Linear weighted median
    else:
        weighted_median_rshares = 0
    return _score(weighted_median_rshares, created_timestamp, timescale)

This is the code extract for the calculation used now. As always, it will be a while before you see it on the test trending page.

Thoughts

The last attempt (blue line below) consisted of first calculating the median of all votes and then weakening the score of posts with fewer votes with log10. However, this resulted in posts with particularly few votes receiving a higher score. In other words, the exact opposite of what was intended.

Therefore, I have considered that posts with very few votes should not play a role in the trending score at all. For posts with fewer than 30 votes, the value of the median increases slowly until the median is no longer weakened from 30 votes. The number 30 is chosen arbitrarily here.

Here you can see a comparison of the three methods:


Figure_1.png

I'm curious to see how the trendings will develop now :-)

Steem Search on https://moecki.online/

My Full Node on https://api.moecki.online

My Python Pricefeed for Witnesses

Vote for me as Witness

27.09.2024
Sort:  

on the test trending page.

Öhm, hab da noch was im Hinterkopf, du meinst diese hier?

Nun ja, da hat sich wenig getan bzw. macht keinen großen Unterschied zu Steemit.

Vielleicht sollten wir erstmal klären, was überhaupt unter trending erscheinen soll. Ich würde mir dort "normale" nicht überbewertete Beiträge wünschen, bei denen auch Resonanz, also Kommentare vorhanden sind - ähnlich wie Chiller das macht.

Ob Anzahl und Länge der Kommentare einen sinnvollen Wert ergeben, den man bei der Gewichtung verwenden kann bin ich überfragt. Müsste man testen.

Find es jedenfalls gut, dass du daran schraubst, kann im Grunde nur besser werden!

Vielleicht sollten wir erstmal klären, was überhaupt unter trending erscheinen soll. Ich würde mir dort "normale" nicht überbewertete Beiträge wünschen, bei denen auch Resonanz, also Kommentare vorhanden sind - ähnlich wie Chiller das macht.

Ich weis ja nicht wie man das macht aber trending wird von großen Votes , Votekäufen Votetrails meist verzehrt, man stellt sich ja da eher Post vor die von vielen als wow oder super empfunden werden, aber wie transportiert man eine Empfinden vielleicht müsste man was anklicken können was nur händig' machbar wäre ein Herz ❤️ ein Häkchen ✔️ i don’t now
VgA

This is a massive great work you are definitely putting into this dear friend. So right now, post even with few votes have the chance to also influence the trending page and that is a good idea

It will be interesting to see the result. I am glad that work in this direction is underway. 🙂

image.png

This post has been upvoted/supported by Team 7 via @philhughes. Our team supports content that adds to the community.

image.png