Professor Pi's system of using median node-fu product (MNFP) thresholds as a level advancement system resembles something I had been developing in my scratch pad. A system based on reputation would have some advantages: it would discourage use of "Don't display in New Writeups" autonoded bulls*** and would encourage users to vote tag each other.
Median has flaws
However, raw MNFP as a level advancement system has one major flaw: discontinuity. For example, if a user has 249 writeups <= 2 rep and 250 writeups >= 3 rep, the user has median rep 3, and MNFP = (3+1)*499 = 1996. If this user submits two writeups that go unnoticed in New Writeups and do not quite reach 3 rep by the end of the day, the user will then have 251 writeups <= 2 rep and 250 writeups >= 3 rep, putting the median rep down to 2 and the MNFP down to (2+1)*501 = 1503. A loss of 493 MNFP seems like a pretty harsh penalty for adding two writeups. Such a system would also exact less-than-fair penalties on victims of drownvoting. 1010011010's writeup below explains more about the dangers of the median.
Prof. Pi wrote in response: "adding those 2 wus should not change matters until median is recalculated. If the 2 wus remain below 3 rep by the end of the day... then the median will change. but then he has more than 50% below median=3, so that's fair. He's borderline and should work on increasing his rep in future wus." There's a difference between being borderline and having hardly anybody awake to read a writeup submitted outside of United States waking hours; I've had some good work fall out of New Writeups at (+0/-0).
To solve this, I propose using interquartile node-fu product (IQNFP) instead. Take the mean reputation of a user's writeups between the 25th and 75th percentile, add 1, and multiply by the number of writeups. This has the same property of rejecting outliers as MNFP without the harsh discontinuity.
gladly let me analyze his sample data and present my analysis:
- number of writeups: 586
- mean rep: 8.66
- median rep: 6
- first quartile rep: 4
- third quartile rep: 12
- total rep of writeups in interquartile range: 1882
- interquartile node-fu: 6.423
- IQNFP = (IQNF + 1) * nwriteups = 4,350
- (interquartile total rep * 2) + nwriteups = 4,350
Writeups that fall within interquartile range
rep count 'tile
<=3 146 146 -- first quartile
3 45 191
4 39 230
5 42 272
6 39 311
7 33 344
8 23 367
9 22 389
10 21 410
11 24 434
12 5 439 -- third quartile
>=12 147 586
This sample data shows that the distribution is a bit skewed, making IQNF slightly larger on average than the MNF but not by much. It also shows the near-impossibility of a single vote changing the IQNFP by more than 2 points.
So why would anybody ever vote?
Another problem exists of how to reward voting. Prof. Pi has assured me that there will still be XP (so users can get a number about which they can boast), but it probably won't contribute much to the level. The new code can even multiply it by j (the square root of -1) to help users see that it really is an imaginary number. In fact, the format "Experience: $MNFP + $XPj" would show just how complex things can get.