Apply an exponential easing function to ratings for more even distribution#115
Apply an exponential easing function to ratings for more even distribution#115lionel-rowe wants to merge 2 commits intorxu:develop-3.2.xfrom
Conversation
19a8498 to
c8d6a61
Compare
c9d716a to
244c5e8
Compare
|
Test suite is failing on the MSSQL 2017 step, presumably for a reason unrelated to the PR as my code changes purely affect formatting and don't touch anything database-related. |
|
Just to clarify ( So post with 1/6 thanks count of mostly thanked one will get rating of ~66%, post with 1/3 count of mostly thanked one will get rating of ~90%.
|
Yes, that's correct. The reasoning is that top-rated posts already tend to follow an exponential distribution: for example, in a forum where "100%" (the top rated post) has 100 thanks, getting the number of thanks for a random sample of 10 posts will typically look something like "2, 0, 0, 1, 6, 11, 2, 5, 4, 0" rather than "94, 27, 38, 90, 73, 6, 18, 46, 62, 13". As a result, the current ratings tend to be almost universally very low, making it look like the vast majority of posts are of "low quality". Easing the results exponentially counteracts this, approximating roughly the distribution you'd expect if ratings were percent_iles_ rather than percent_ages_ of the top post (using the actual percentile would likely overcomplicate things, as doing so in a performant way would probably require lots of caching). I'm certainly open to fine-tuning the calculation, or perhaps making it user-configurable somehow, or maybe even revisiting the percentile idea if I can think of a way to simplify it — thoughts? |
Makes sense, I guess having some switch or an option to select a distribution strategy (probably even more than amongst just 2) would be great. |
ec8b4f1 to
1807fd1
Compare
81843ac to
392f370
Compare
74b7acb to
2976ae8
Compare


Fix for the problem I highlighted here: https://www.phpbb.com/customise/db/extension/thanks_for_posts_2/support/topic/236261