I'm in the process of designing a system.

So basically, every day users on my site rack up points based on their activity on my website. So whatever they do on my website, they rack up points.

So on 8/3, a user might do multiple things on my website so that they rack up 10 points.

Every day, I figure out the number of points for the user for that day and add a row in the database with the number of points for that day.

I want to give each person a score. Basically a score from 0 to 10 just like in school, but I want that score to depend on the mean score of all the users.

I was thinking of finding the average number of points per day for each user (so user 1 might have an average of 10 points per day) and then finding the average ($X$) of these averages. And using $X$ to create a normal distribution to give each person a score from 0 to 10.

But if the person is 2 standard deviations from the mean, how does that translate to a score?

I'm not a statistician. Any advice would be greatly appreciated. What's the best way to calculate a score like this? Also I know with normal distributions that the distribution has to be normal. What if the average scores are right skewed? What should I do? Determine whether there is an outlier? Anyway help would be appreciated.

  • 1
    $\begingroup$ Why not just score = POINTS/MAX_POINTS_THIS_DAY * 10? $\endgroup$ – m0skit0 Aug 18 '11 at 10:23
  • $\begingroup$ how do I determine what the MAX points per day is? would that be the maximum points of all the points collected for that day? Also the score has to reflect all the days. I determine the number of points for each day. $\endgroup$ – Brown Limie Aug 18 '11 at 10:28
  • $\begingroup$ Yes, maximum points of all the points collected for that day. If it has to reflect all the days, you can use the average of max points for all days, or also the maximum of maximums. $\endgroup$ – m0skit0 Aug 18 '11 at 10:32
  • $\begingroup$ But wouldn't finding the normal distribution be more fair though when calculating a score for each person? Isn't that what we do when calculating grades in school? $\endgroup$ – Brown Limie Aug 18 '11 at 10:34
  • 1
    $\begingroup$ The most fundamental thing to know is whether your scoring system will be static, which means you settle on a single formula (perhaps developed during a trial period) and apply it the same way over time, independent of how the data evolve, or dynamic, which means that it depends on the whole database at any time. In a dynamic system, should the score depend on what happened during a given day or throughout a longer period, such as the entire history of the site? $\endgroup$ – whuber Aug 18 '11 at 17:04

I agree with the general drift of @m0skit0's comments that there is no clear "should" to your situation. Also, you have to make a choice among the various things that you've said you want: 1) to have the scores range from 0 to 10; 2) to have the scores be based on standard deviations; and 3) to have the scores be (ultimately) normally distributed. Which of these is most important to you--or are you just looking to set up a scale so that is seems credible to others? If the latter is the case, you'll need to consider and perhaps share with us something about who those people are and what their criteria might be for credibility.

  • $\begingroup$ Whatever they do, users get points for the amount of activity they do on the site. The goal is to determine how active people are on my site. But I don't know what the maximum number of points to give so I cannot determine an average number of points for each person without factoring other people's points. I want to give each person a score that reflects their activity on the site as compared to others. So if the person gets a score of 90%, that should mean that they are exceptionally active. How best should I look at this situation to determine a score in statistical terms that makes sense? $\endgroup$ – Brown Limie Aug 18 '11 at 22:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy