We need encouragement, appreciation, gratitude, acknowledgement, rewards. Some need competition. Hence the idea of the positive karma, which can only decrease if posts, thanks or attachments are deleted. In all other cases it always becomes more positive. So far, we have the following statistics:
- amount of posts
- amount of attachments
- amount of received "thanks"
- amount of given "thanks"
- time, spent online on the forum
Generally, we want all these to increase. The current formula is:
sqrt(postnum + 2 * received_thanks + 1/4 * attachments + 1/2 * (timeonline * given_thanks)/(timeonline + given_thanks) )
The square root here is to add non-linearity to resrict the grow.
The weights are to shift the priorities:
- One "thanked once" posts gives sqrt(3) times more points than one "unthanked" post.
- Spread across several poss attachments will bring more, than all in one (good for page loading time)
- "Karma" increases even if you do not post, but simply read, watch and "thank"
- Removing own posts (especally with "thanks") and attachments decreases the "karma"
There is no user-visible implementation yet - it's only a concept.
Any ideas?
(04 Jan 2023, 20:10 )Anne Wrote: [ -> ]I'm most happy with is my thanks per post ratio
Oh, yeah, and here's this thanks/posts ratio stats.
(19 Mar 2020, 23:15 )Like Ra Wrote: [ -> ]However, the amount of posts is not accounted for, only the ratio. This one should look better:
Code:
SELECT username, postnum, tyl_unumrcvtyls, tyl_unumrcvtyls/postnum, (postnum*tyl_unumrcvtyls)/(tyl_unumrcvtyls+postnum) AS ratio
FROM mybb_users
ORDER by ratio DESC
LIMIT 20
Result:
Top 20 thanks/postnum and thanks*postnum/(thanks +postnum) ratios
Let's praise more users! Here's another interesting statistics: thanks_given*hours_on_the_forum/(thanks_given + hours_on_the_forum):
The idea behind it (yes, another step towards the positive digital karma) is the more time you spend on the forum the better for the community, and the more time you spend here, the more opportunity to thank the posters, even if no posts are made.
And now, if we sum up both
https://www.likera.com/forum/mybb/Thread...5#pid71375 and
https://www.likera.com/forum/mybb/Thread...2#pid71352, apply the factor 1/2 to the first, we get the first iteration of the forum digital karma:
(postnum * received_thanks)/(postnum + received_thanks) + 1/2 * (timeonline * given_thanks)/(timeonline + given_thanks)
Code:
SELECT ROW_NUMBER() OVER (), username, (postnum*tyl_unumrcvtyls)/(tyl_unumrcvtyls+postnum) + (tyl_unumtyls*timeonline/7200)/(tyl_unumtyls+timeonline/3600) AS karma
FROM mybb_users
ORDER by karma DESC
LIMIT 40
Need to say that I am surprised with my "score".
This one does not work, because the first part will be zeroed out if there are no thanks:
(02 Jan 2024, 15:22 )Like Ra Wrote: [ -> ](postnum * received_thanks)/(postnum + received_thanks) + 1/2 * (timeonline * given_thanks)/(timeonline + given_thanks)
This one should work better:
sqrt(postnum + 2 * received_thanks + 1/4 * attachments + 1/2 * (timeonline * given_thanks)/(timeonline + given_thanks) )
(04 Jan 2024, 09:23 )Like Ra Wrote: [ -> ]This one should work better:
sqrt(postnum + 2 * received_thanks + 1/4 * attachments + 1/2 * (timeonline * given_thanks)/(timeonline + given_thanks) )
And here's the result:
| Order | Username | PostNum | Received_Thanks | Given_Thanks | Attachments | Time_Online | Karma |
| 1 | @Like Ra | 25299 | 12336 | 6737 | 23789 | 44403.6433 | 242.57576442359303 |
| 2 | @madjack | 4285 | 5709 | 3153 | 10176 | 1475.3750 | 136.9289479400483 |
| 3 | @Culmor | 3899 | 3286 | 256 | 1748 | 1243.3700 | 104.94829911804922 |
| 4 | @Tinker D | 2794 | 499 | 512 | 148 | 832.3736 | 63.14668077615332 |
| 5 | @ltxrob | 1270 | 630 | 924 | 187 | 368.6672 | 52.0433653291179 |
| 6 | @PurpleVibes | 534 | 817 | 927 | 1022 | 278.7767 | 50.30568181977151 |
| 7 | @Anne | 494 | 840 | 272 | 280 | 445.3269 | 48.25381609227802 |
| 8 | @TightSlip | 653 | 569 | 466 | 1169 | 197.8442 | 46.39709613859854 |
| 9 | @helpless85 | 189 | 525 | 73 | 2222 | 280.1800 | 42.70194010015905 |
| 10 | @essanym | 700 | 363 | 764 | 199 | 1114.9575 | 41.26046014560721 |
| 11 | @Bound Whore | 305 | 556 | 108 | 579 | 274.5650 | 40.00631864767995 |
| 12 | @Strappado | 1015 | 241 | 17 | 248 | 345.3742 | 39.58662957224988 |
| 13 | @Vacbedbound | 309 | 460 | 84 | 441 | 702.4089 | 37.104767674490404 |
| 14 | @madboyevil | 319 | 347 | 138 | 1288 | 68.5381 | 36.84965557616119 |
| 15 | @Vixien | 711 | 121 | 2243 | 17 | 579.5331 | 34.46042047484865 |
| 16 | @bondagetom1 | 348 | 307 | 3180 | 44 | 165.9111 | 32.432115294360536 |
| 17 | @mysecretpantyhose | 194 | 278 | 91 | 413 | 229.7725 | 29.763099603069147 |
| 18 | @vanessa_fetish | 344 | 226 | 265 | 63 | 204.5586 | 29.486816165666326 |
| 19 | @Zooy | 378 | 182 | 134 | 49 | 819.5294 | 28.492708793012905 |
| 20 | @krinlyc | 394 | 120 | 398 | 93 | 1211.2539 | 28.40833333855983 |
Code:
WITH t AS (
SELECT u.username, u.postnum, u.tyl_unumrcvtyls, u.tyl_unumtyls, u.timeonline, COUNT(a.uid) AS cnt
FROM mybb_attachments AS a
JOIN mybb_users AS u
ON u.uid = a.uid
GROUP BY a.uid)
SELECT ROW_NUMBER() OVER (), t.username, t.postnum, t.tyl_unumrcvtyls, t.tyl_unumtyls, t.cnt, t.timeonline/3600, sqrt(t.postnum + 2* t.tyl_unumrcvtyls + t.cnt/4 + (t.tyl_unumtyls*t.timeonline/7200)/(t.tyl_unumtyls+t.timeonline/3600)) AS karma
FROM t
ORDER by karma DESC
LIMIT 20
ChatGPT chokes on more data..
What do you think? What about the weights?
Added first post for explanations.
See the changes during one day:
| Order | Username | Postnum | Received_Thanks | Given_Thanks | Attachments | Time_Online | Karma |
| 1 | @Like Ra | 25302 | 12338 | 6738 | 23790 | 44404.6650 | 242.59150291739917 |
| 2 | @madjack | 4285 | 5715 | 3153 | 10176 | 1475.3750 | 136.97275927704916 |
| 3 | @Culmor | 3899 | 3290 | 256 | 1748 | 1243.8717 | 104.98644101748172 |
| 4 | @Tinker D | 2794 | 499 | 512 | 148 | 832.3736 | 63.14668077615332 |
| 5 | @ltxrob | 1270 | 630 | 924 | 187 | 368.6672 | 52.0433653291179 |
| 6 | @PurpleVibes | 534 | 818 | 927 | 1022 | 278.7767 | 50.3255563640591 |
| 7 | @Anne | 495 | 844 | 272 | 280 | 445.6108 | 48.34719400753881 |
| 8 | @TightSlip | 653 | 569 | 466 | 1169 | 197.8442 | 46.39709613859854 |
| 9 | @helpless85 | 189 | 525 | 73 | 2222 | 280.1800 | 42.70194010015905 |
| 10 | @essanym | 700 | 363 | 764 | 199 | 1114.9575 | 41.26046014560721 |
| 11 | @Bound Whore | 305 | 556 | 108 | 579 | 274.6075 | 40.00633981125493 |
| 12 | @Strappado | 1015 | 241 | 17 | 248 | 345.3742 | 39.58662957224988 |
| 13 | @Vacbedbound | 309 | 460 | 84 | 441 | 702.4089 | 37.104767674490404 |
| 14 | @madboyevil | 319 | 347 | 138 | 1288 | 68.5381 | 36.84965557616119 |
| 15 | @Vixien | 711 | 121 | 2243 | 17 | 579.6411 | 34.460915499999665 |
| 16 | @bondagetom1 | 348 | 307 | 3180 | 44 | 165.9111 | 32.432115294360536 |
| 17 | @mysecretpantyhose | 194 | 278 | 91 | 413 | 229.7725 | 29.763099603069147 |
| 18 | @vanessa_fetish | 344 | 226 | 265 | 63 | 204.5586 | 29.486816165666326 |
| 19 | @Zooy | 378 | 182 | 134 | 49 | 820.0775 | 28.492803705195968 |
| 20 | @krinlyc | 394 | 120 | 398 | 93 | 1211.2539 | 28.40833333855983 |