Click here to Skip to main content
Click here to Skip to main content

Is CodeProject's Voting system really smart?

, 25 Apr 2004
Rate this:
Please Sign up or sign in to vote.
In this article I continue my discussion of the CodeProject''s voting system.

Introduction

This is a sequel of the article called "CodeProject's Article voting system" in which I have discussed two voting models, one of which I thought is used on the CodeProject's website.

As far as I was corrected by Chris Maunder who provided me with the model that is really used, I have decided to analyze this model too.

In this article you will find the rating counting algorithm, the description of its model and then some analysis of it.

Rating counting algorithm

The following description was cut and pasted from the following post "Excellent analysis. Unfortunately not quite correct":

Each article on CodeProject has associated with it a Vote Total (Vt), a Weight Total (Wt), and a number of votes (N). When a member votes, the system adds the weight of their vote (dependant on membership level) to Wt, and the rating itself multiplied by their weight to Vt. The rating of an article is then R = Vt / Wt.

If everyone has a weight of 1 then Wt = N, and R = Vt / N. Having differing weights, though, means that when a gold member (weight = 4) and bronze member (weight = 1) vote, the vote is weighted towards the gold:

Assume Gold votes 5 and Bronze votes 1:
Wt = 4 + 1 = 5
Vt = 4 x 5 + 1 x 1 = 21
R = 4.2

This is quite clear and looks very reasonable as each person has its weight in the system that depends on its status. But does it really works? An answer to this question along with the probability model will be given in the following sections.

Voting probability model

In the algorithm described above we deal with two types of random variables:

  • - the peoples' vote values
  • - the person's weight in the system

Note that:

  1. , , and are independent when and
  2. , have the same distribution
  3. , have the same distribution

Now we can represent the algorithm given above by the following formula:

In this formula index means that is the rating after the 'th vote. It is also obvious that is the weight of the person who put in the vote and thus voted with the value .

Let us now assume that we have the following mean values of our random variables:

,

It is well known from the probability theory that for two random variables and :

If they are independent then:

Now we are ready to calculate the following mean value :


(These calculations are trivial and self descriptive)

In other words and doesn't depend anyhow from weights of the persons who participated in the voting!

It is also interesting to note that if the rating formula would be the following:

then the mean value of the rating would be i.e. independent from vote values!

Conclusions

In this article I have calculated the mean value of the rating that measures the quality of any article on CodeProject's website.

It was discovered that although the weight of each person in the system is taken into account in case when the vote and the weight are independent, the mean value of rating random variable doesn't depend on the weight. Even more, the mean value is also the same as the mean value for the two other voting models described in my previous article "CodeProject's Article voting system".

Note that if the vote values depend on person's weights then the rating mean value is different and involves the weights distribution. Thus this approach may be considered to be more general than simple approaches that do not involve weights.

References

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Dr. Ivan S Zapreev
Other Centrum Wiskunde & Informatica (CWI)
Netherlands Netherlands
I was born on 11/22/1979 in Novosibirsk, Russia.
I studied at the Math Department of the Novosibirsk State University.
I got Bachelor and Master degrees with honors in Math with specialization in Computer Science.
I was a graduate student in the Institute of Informatics Systems.
 
I worked in such companies as:
 
1.Novosoft Inc,
2.UniPro,
3.TechRun DI&T,
4.Development On The Edge
 
From 2004 until 2008 I was a Doctoral Student in the Formal Methods and Tools group
at the University of Twente and Software Modeling and Verification group
at RWTH-Aachen University
.
 
After defending my PhD thesis, in March 2008, I became a PostDoc
researcher in the Centrum Wiskunde & Informatica (CWI)

Comments and Discussions

 
QuestionIt is time for the next chalange PinmemberJacek Gajek6-Jan-12 2:16 
GeneralTrue in a perfect world PinadminChris Maunder30-Apr-07 5:22 
GeneralRe: True in a perfect world PinmemberIvan S Zapreev7-Aug-07 2:05 
GeneralRe: True in a perfect world PinmemberJacek Gajek6-Jan-12 2:07 
GeneralOpen voting system! [modified] PinmemberMathieu Jacques16-Jan-07 7:43 
GeneralRe: Open voting system! PinmemberIvan S Zapreev7-Aug-07 2:02 
GeneralMandatory message for each vote PinmemberMathieu Jacques16-Jan-07 7:35 
GeneralDifferent Distributions PinmemberSam NG20-Mar-06 19:06 
GeneralRe: Different Distributions PinmemberIvan S Zapreev21-Mar-06 5:49 
GeneralI'd like to see the rating distribution Pinmemberreinux7-Sep-05 17:37 
GeneralRe: I'd like to see the rating distribution PinmemberIvan S Zapreev7-Sep-05 22:25 
GeneralRe: I'd like to see the rating distribution PinmemberMathieu Jacques16-Jan-07 7:22 
GeneralThe Yea/Nea/Meh Model PinmemberChristopher Lord26-Apr-04 8:37 
GeneralRookie/Guru PinmemberWackatronic26-Apr-04 8:06 
GeneralRe: Rookie/Guru PinmemberJeff Varszegi26-Apr-04 8:25 
GeneralRe: Rookie/Guru PinmemberWackatronic26-Apr-04 9:01 
GeneralRe: Rookie/Guru PinmemberJeff Varszegi26-Apr-04 9:27 
GeneralRe: Rookie/Guru PinmemberWackatronic26-Apr-04 9:34 
GeneralRe: Rookie/Guru PinmemberJeff Varszegi26-Apr-04 9:40 
GeneralRe: Rookie/Guru PinmemberWackatronic26-Apr-04 11:46 
Generalетить. What an article. Pinmembergevorg26-Apr-04 7:25 
GeneralRe: етить. What an article. PinmemberIvan S Zapreev26-Apr-04 22:47 
QuestionWhat a waste of time... PinmemberToneEngel26-Apr-04 1:39 
AnswerRe: What a waste of time... PinmemberIvan S Zapreev26-Apr-04 1:47 
QuestionStatistics? PinmemberLuca Piccarreta26-Apr-04 1:24 
AnswerRe: Statistics? PinmemberIvan S Zapreev26-Apr-04 2:00 
GeneralMovie rating and CodeProject’s Article rating PinsussPatrice Dargenton18-Apr-04 20:43 
GeneralRe: Movie rating and CodeProject’s Article rating PinmemberIvan S Zapreev18-Apr-04 21:14 
GeneralRe: Movie rating and CodeProject’s Article rating PinmemberPatrice Dargenton18-Apr-04 21:31 
GeneralRe: Movie rating and CodeProject’s Article rating PinmemberIvan S Zapreev18-Apr-04 23:07 
GeneralRe: Movie rating and CodeProject’s Article rating PinmemberChristopher Lord26-Apr-04 8:07 
GeneralRe: Movie rating and CodeProject’s Article rating PinmemberPatrice Dargenton27-Apr-04 20:27 
GeneralRe: Movie rating and CodeProject’s Article rating PinmemberPatrice Dargenton27-Apr-04 20:40 
GeneralAbout the bad use of stats Pinmemberminox18-Apr-04 1:43 
GeneralRe: About the bad use of stats PinmemberIvan S Zapreev18-Apr-04 5:42 
GeneralRe: About the bad use of stats PinmemberIvan S Zapreev18-Apr-04 6:30 
GeneralRe: About the bad use of stats Pinmemberminox29-Apr-04 14:13 
GeneralIncorrectness by counterexample. PinmemberJohn Theal17-Apr-04 22:19 
GeneralRe: Incorrectness by counterexample. PinmemberIvan S Zapreev18-Apr-04 5:01 
GeneralRe: Incorrectness by counterexample. PinmemberJohn Theal18-Apr-04 7:11 
GeneralRe: Incorrectness by counterexample. PinmemberIvan S Zapreev18-Apr-04 7:40 
GeneralNot a critique, but PinsitebuilderMichael Dunn17-Apr-04 14:59 
GeneralRe: Not a critique, but PinmemberIvan S Zapreev18-Apr-04 4:20 
GeneralCircular Argument. PinmemberJohn Theal17-Apr-04 8:42 
GeneralRe: Circular Argument. Pinmemberleppie17-Apr-04 12:08 
GeneralRe: Circular Argument. PinmemberIvan S Zapreev18-Apr-04 4:14 
GeneralRe: Circular Argument. PinmemberJohn Theal18-Apr-04 7:16 
GeneralRe: Circular Argument. PinmemberIvan S Zapreev18-Apr-04 21:11 
QuestionHuh???? Pinmemberinterj17-Apr-04 7:17 
AnswerRe: Huh???? PinmemberIvan S Zapreev17-Apr-04 7:34 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web04 | 2.8.140709.1 | Last Updated 26 Apr 2004
Article Copyright 2004 by Dr. Ivan S Zapreev
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid