Really short problem description: users earn "points" for different actions in the online application. Each action earns different amount of points, based on how "important" action was (creating content is more important than reading).
Points are accumulated during the day and I have some number for each user.
Now, I would like to have a score that represents how "active" user was relative to the rest of the population for the day, preferably in some fixed scale like 0-100.
My naive approach was to calculate average points for the whole user base and treat it as 50 (half of the scale) and clamp values over 100.
Is there any better way to do it?
First of all I'm not sure that average is a good baseline.
I can't take most active user and compare rest of the user base against him - there are always users who are much more active than the rest.
Also, I can't come up with some fixed baseline score and compare against it, because user participation is seasonal - users would do more during certain seasons and do less during others.