A couple of weeks ago, I posted Curating for Value: How "Follower Network Strength" Improves Steem Post Ranking, where I described planned changes to the Steem Follower Checker browser extension. As noted in that post (and previously), my target for the next version is June 30. Here were the changes that I had planned for that target.
- Change "follower count" to "time-averaged follower count" as one factor of the "Follower Network Strength" calculation.
- Tune parameters to award top scores to a smaller proportion of accounts.
And now, I believe that I have accomplished both of those. I also put together a script so that I could visualize changes between versions with real world data. In the new version, the X parameter is "new followers per month" instead of a raw follower count, and the Y parameter is still the median follower reputation.
So, now I want to request feedback on the new version. Additional changes (if any) between now and June 30 will be limited to cosmetics and to addressing issues that are revealed by this discussion. Please look over the visualizations below and let me know if you have any questions or concerns.
If you want to look at the actual code, you can review the 2024q2dev branch. If you want to try it out, you can even switch to that branch and install it by following the same instructions from the README file.
Here's what the theoretical heatmap looks like for the tentative June 30 version:
This time around, I created a script and a PowerBI report that lets me visualize the scoring with the author accounts from 24-hours worth of real world posts and comments. Here's what that looks like:
(anywhere it says "old", that means the May 18 version. If it says current or new or doesn't specify, that's what I plan to merge in on June 30)
I mentioned before that after June 30, my target will be to update the scoring method once per quarter. The main problem that I'm currently planning to focus on for September 30 is the problem of old accounts that were once high-powered but have now gone dormant.
The changes here already start to address that because the score declines a bit for every month that an author doesn't add followers. However, in looking at the real world data, I can see that it doesn't decay anywhere near fast enough. I'm considering one or both of two options to address this:
Here's some code that demonstrates the concept:
#!/usr/bin/python3
# Per year values
halflife=0.5
growthrate=1200
N=60 # Number of months
followers=0
followersPerMonth=0
activeFollowers=0
activeFollowersPerMonth=0
inactiveFollowers=0
inactivated=0
days=N / 12 * 365.25
currentDay=1
halflifePerDay=halflife/365.25
growthratePerDay=growthrate/365.25
while currentDay < days:
followers=followers+growthratePerDay
activeFollowers=followers - inactiveFollowers
activeFollowers = followers - activeFollowers * halflifePerDay - inactiveFollowers
inactiveFollowers = followers - activeFollowers
followersPerMonth = followers * (365.25 / ( currentDay * 12 ))
activeFollowersPerMonth = activeFollowers * (365.25 / ( currentDay * 12 ))
print (f"Day: {currentDay}, Followers: {followers}, Active Followers: {activeFollowers}, Inactive followers: {inactiveFollowers}, Followers Per Month: {followersPerMonth}, Active Followers Per Month: {activeFollowersPerMonth}")
currentDay = currentDay + 1
And here are some LibreOffice charts for a hypothetical 8-year old account with 2000 followers with an assumed half-life of 1 year.
Monthly | Total |
---|---|
Overall, there is still a lot of room for improvement, but I think this version is clearly improved over the May 18 version. I also think that it is already able to give curators some insight into the potential reach of posts by any particular author.
Additionally, I think that the new capability to visualize the real-world impact of methodology changes will be a big help with future development.
Looking forward to receiving your feedback.
Visit the /promoted page and #burnsteem25 to support the inflation-fighters who are helping to enable decentralized regulation of Steem token supply growth.