Title.

  • TheSaneWriter@lemmy.thesanewriter.com
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    To summarize it for people that don’t feel like clicking the link, it essentially takes the log of the post score and then divides it by an exponential function of the time since the post was published.

    • coys25@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      And this picture helps too: shows the decay in ranking scores for posts of different popularity (score) over time.

      After a day or so, the curve flattens out. This probably explains why we keep seeing posts that are months old in “hot” - if not enough new material is being posted, after the first few pages of “hot”, posts that are 5 days old and 5 months old are essentially the same due to the exponential decay function that was chosen.

      That page gives this equation:

      Rank = ScaleFactor * log(Max(1, 3 + Score)) / (Time + 2)^Gravity
      
      Score = Upvotes - Downvotes
      Time = time since submission (in hours)
      Gravity = Decay gravity, 1.8 is default
      

      My guess is that the “gravity” parameter is the issue at the moment. Something is needed to make the decay less steep, so that really old posts aren’t making it up to the top of the feed.

      There might be some way of tuning the gravity parameter dynamically based on how much content is being submitted, perhaps aiming for something like “the average age of the first 200 posts should be 10 days” (I made those numbers up, but the basic idea would be that the time decay should be steeper when lots of content is submitted and less steep when content is infrequent?)