Heres a simple mathematical/statistical question
-
Lets say that Codeproject is running a competition for the best message, entries to this competition can be made from the 1st to the 31st of January. The winner of the competition is decided, by Codeproject members, via the existing and immutable message rating system. Rating is open from the 1st January to the 7th February (i.e. competition entry time plus one week). Now here's the problem, how do you decide who the winner is? Obviously summing the points (1 to 5) is the simplest answer, however this has a few critical flaws:
Lets say a message is posted on the 2nd January - this will
be available for public ratings for almost 5 weeks. However
if a message is posted on the 30th of January, it is only
available for rating for around a week. So it will most
likely have less votes and therefore a lower score.Lets say a message is rated 1 a total of 15 times, this will
score 15 points - another entry may have been rated 5 twice
and therefore score 10 points. However the second entry is
obviously better than the first as it has more 5 ratings.The rating system and assigned points cannot be changed, so the question is: Considering the flaws - how do you decide which entry is the winner on the morning of the 8th February? My current solution sums all the votes and divides by the total days the message was publicly available, this effectively gives an average daily vote total, the highest total wins. However this does not really take into consideration the second flaw.
-
Lets say that Codeproject is running a competition for the best message, entries to this competition can be made from the 1st to the 31st of January. The winner of the competition is decided, by Codeproject members, via the existing and immutable message rating system. Rating is open from the 1st January to the 7th February (i.e. competition entry time plus one week). Now here's the problem, how do you decide who the winner is? Obviously summing the points (1 to 5) is the simplest answer, however this has a few critical flaws:
Lets say a message is posted on the 2nd January - this will
be available for public ratings for almost 5 weeks. However
if a message is posted on the 30th of January, it is only
available for rating for around a week. So it will most
likely have less votes and therefore a lower score.Lets say a message is rated 1 a total of 15 times, this will
score 15 points - another entry may have been rated 5 twice
and therefore score 10 points. However the second entry is
obviously better than the first as it has more 5 ratings.The rating system and assigned points cannot be changed, so the question is: Considering the flaws - how do you decide which entry is the winner on the morning of the 8th February? My current solution sums all the votes and divides by the total days the message was publicly available, this effectively gives an average daily vote total, the highest total wins. However this does not really take into consideration the second flaw.
(Total Score / Total Votes) / Total Days ...??? or suck a thumb :)
A dogged, arrogant belief in self and the childlike idealism that comes with not knowing my limits. This is my greatest blessing, my priceless attribute.
-
(Total Score / Total Votes) / Total Days ...??? or suck a thumb :)
A dogged, arrogant belief in self and the childlike idealism that comes with not knowing my limits. This is my greatest blessing, my priceless attribute.
Possibly suck a thumb :), that was one of my possible solutions but it doesn't work: Message 1 (10 Days) 4, 2, 1, 1, 1 = (9 / 5) / 10 = 0.18 Message 2 (40 days) 1, 1, 1, 1, 3, 1, 1 = (9 / 7) / 40 = 0.03 Message 3 (40 days) 5, 5, 5, 4, 5, 4, 3 = (31 / 7) / 40 = 0.11 Message 3 is obviously the better message, but message 1 wins here as it has a higher "total"
-
(Total Score / Total Votes) / Total Days ...??? or suck a thumb :)
A dogged, arrogant belief in self and the childlike idealism that comes with not knowing my limits. This is my greatest blessing, my priceless attribute.
Wouldn't work, because messages posted (and forgotten) early in Jan would have a massive divisor in comparison with those later in the year.
Don't forget to vote if the response was helpful
Sig history "dad" Ishmail-Samuel Mustafa Unix is a Four Letter Word, and Vi is a Two Letter Abbreviation
-
Lets say that Codeproject is running a competition for the best message, entries to this competition can be made from the 1st to the 31st of January. The winner of the competition is decided, by Codeproject members, via the existing and immutable message rating system. Rating is open from the 1st January to the 7th February (i.e. competition entry time plus one week). Now here's the problem, how do you decide who the winner is? Obviously summing the points (1 to 5) is the simplest answer, however this has a few critical flaws:
Lets say a message is posted on the 2nd January - this will
be available for public ratings for almost 5 weeks. However
if a message is posted on the 30th of January, it is only
available for rating for around a week. So it will most
likely have less votes and therefore a lower score.Lets say a message is rated 1 a total of 15 times, this will
score 15 points - another entry may have been rated 5 twice
and therefore score 10 points. However the second entry is
obviously better than the first as it has more 5 ratings.The rating system and assigned points cannot be changed, so the question is: Considering the flaws - how do you decide which entry is the winner on the morning of the 8th February? My current solution sums all the votes and divides by the total days the message was publicly available, this effectively gives an average daily vote total, the highest total wins. However this does not really take into consideration the second flaw.
1. You would have to set an equal "validity" period for the messages to be judged equally. This is a statistical requirement much less a scientific testing requirement (have as little a number of variables as possible) 2. Why?
Don't forget to vote if the response was helpful
Sig history "dad" Ishmail-Samuel Mustafa Unix is a Four Letter Word, and Vi is a Two Letter Abbreviation
-
Lets say that Codeproject is running a competition for the best message, entries to this competition can be made from the 1st to the 31st of January. The winner of the competition is decided, by Codeproject members, via the existing and immutable message rating system. Rating is open from the 1st January to the 7th February (i.e. competition entry time plus one week). Now here's the problem, how do you decide who the winner is? Obviously summing the points (1 to 5) is the simplest answer, however this has a few critical flaws:
Lets say a message is posted on the 2nd January - this will
be available for public ratings for almost 5 weeks. However
if a message is posted on the 30th of January, it is only
available for rating for around a week. So it will most
likely have less votes and therefore a lower score.Lets say a message is rated 1 a total of 15 times, this will
score 15 points - another entry may have been rated 5 twice
and therefore score 10 points. However the second entry is
obviously better than the first as it has more 5 ratings.The rating system and assigned points cannot be changed, so the question is: Considering the flaws - how do you decide which entry is the winner on the morning of the 8th February? My current solution sums all the votes and divides by the total days the message was publicly available, this effectively gives an average daily vote total, the highest total wins. However this does not really take into consideration the second flaw.
For each message that is to be judged send me $10, U.S. and then for every vote send me a $1 for a 1 vote, $2 for a two vote ... $5 for a 5 vote. I will then certify the results. I guarantee there will be a tie among all participants.
Need software developed? Offering C# development all over the United States, ERL GLOBAL, Inc is the only call you will have to make.
If you don't ask questions the answers won't stand in your way.
Most of this sig is for Google, not ego. -
Lets say that Codeproject is running a competition for the best message, entries to this competition can be made from the 1st to the 31st of January. The winner of the competition is decided, by Codeproject members, via the existing and immutable message rating system. Rating is open from the 1st January to the 7th February (i.e. competition entry time plus one week). Now here's the problem, how do you decide who the winner is? Obviously summing the points (1 to 5) is the simplest answer, however this has a few critical flaws:
Lets say a message is posted on the 2nd January - this will
be available for public ratings for almost 5 weeks. However
if a message is posted on the 30th of January, it is only
available for rating for around a week. So it will most
likely have less votes and therefore a lower score.Lets say a message is rated 1 a total of 15 times, this will
score 15 points - another entry may have been rated 5 twice
and therefore score 10 points. However the second entry is
obviously better than the first as it has more 5 ratings.The rating system and assigned points cannot be changed, so the question is: Considering the flaws - how do you decide which entry is the winner on the morning of the 8th February? My current solution sums all the votes and divides by the total days the message was publicly available, this effectively gives an average daily vote total, the highest total wins. However this does not really take into consideration the second flaw.
Total 5s within three days after posting. If there's a tie, check the 4s, etc.
-
For each message that is to be judged send me $10, U.S. and then for every vote send me a $1 for a 1 vote, $2 for a two vote ... $5 for a 5 vote. I will then certify the results. I guarantee there will be a tie among all participants.
Need software developed? Offering C# development all over the United States, ERL GLOBAL, Inc is the only call you will have to make.
If you don't ask questions the answers won't stand in your way.
Most of this sig is for Google, not ego.good luck with that. I expressed my willingness to accept consideration for voting in martin hughes recent giveaway but noone responded. :doh:
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall
-
Total 5s within three days after posting. If there's a tie, check the 4s, etc.
The thing is people might not visit everyday so could easily have their vote excluded from the calculations. Here is another of my alternative solutions, which I think might work: Assuming the following: 5 - Excellent, 4 - Good, 3 - Average, 2 - Bad, 1 - Terrible Deduct 3 from each score: 2 - Excellent, 1 - Good, 0 - Average, -1 - Bad, -2 - Terrible (Total adjusted scores) / (Total of days the message was publicly available).
-
The thing is people might not visit everyday so could easily have their vote excluded from the calculations. Here is another of my alternative solutions, which I think might work: Assuming the following: 5 - Excellent, 4 - Good, 3 - Average, 2 - Bad, 1 - Terrible Deduct 3 from each score: 2 - Excellent, 1 - Good, 0 - Average, -1 - Bad, -2 - Terrible (Total adjusted scores) / (Total of days the message was publicly available).
MrEyes wrote:
their vote excluded from the calculations
Tough. They know the rules, if they can't be bothered, we don't need them. Plus we don't want someone to call his freinds late in the month to give his early messages a boost.
-
The thing is people might not visit everyday so could easily have their vote excluded from the calculations. Here is another of my alternative solutions, which I think might work: Assuming the following: 5 - Excellent, 4 - Good, 3 - Average, 2 - Bad, 1 - Terrible Deduct 3 from each score: 2 - Excellent, 1 - Good, 0 - Average, -1 - Bad, -2 - Terrible (Total adjusted scores) / (Total of days the message was publicly available).
-
Total 5s within three days after posting. If there's a tie, check the 4s, etc.
-
Message 1: 5, 5, 3, 2, 2, 1, 1, 1, 1, 1 Message 2: 5, 4, 4, 4, 4, 4, 4, 4, 3, 2
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall
So? All those 4-voteers (I almost corrected that, but decided to leave it) should probably have voted 5. (I only ever vote 1 or 5.)
-
Lets say that Codeproject is running a competition for the best message, entries to this competition can be made from the 1st to the 31st of January. The winner of the competition is decided, by Codeproject members, via the existing and immutable message rating system. Rating is open from the 1st January to the 7th February (i.e. competition entry time plus one week). Now here's the problem, how do you decide who the winner is? Obviously summing the points (1 to 5) is the simplest answer, however this has a few critical flaws:
Lets say a message is posted on the 2nd January - this will
be available for public ratings for almost 5 weeks. However
if a message is posted on the 30th of January, it is only
available for rating for around a week. So it will most
likely have less votes and therefore a lower score.Lets say a message is rated 1 a total of 15 times, this will
score 15 points - another entry may have been rated 5 twice
and therefore score 10 points. However the second entry is
obviously better than the first as it has more 5 ratings.The rating system and assigned points cannot be changed, so the question is: Considering the flaws - how do you decide which entry is the winner on the morning of the 8th February? My current solution sums all the votes and divides by the total days the message was publicly available, this effectively gives an average daily vote total, the highest total wins. However this does not really take into consideration the second flaw.
MrEyes wrote:
The winner of the competition is decided, by Codeproject members, via the existing and immutable message rating system. Rating is open from the 1st January to the 7th February (i.e. competition entry time plus one week).
Here is your problem. Change your voting so that it doesn't start until all entries are in (aka Feb 1). If I were to setup this sort of system, Awards would "lag" the articles by 1 submission period. So voting on Jan articles occurs in Feb and the award for Jan is given out at the end of Feb. Voting for Feb occurs in March with the award at the end of the month.
-
Lets say that Codeproject is running a competition for the best message, entries to this competition can be made from the 1st to the 31st of January. The winner of the competition is decided, by Codeproject members, via the existing and immutable message rating system. Rating is open from the 1st January to the 7th February (i.e. competition entry time plus one week). Now here's the problem, how do you decide who the winner is? Obviously summing the points (1 to 5) is the simplest answer, however this has a few critical flaws:
Lets say a message is posted on the 2nd January - this will
be available for public ratings for almost 5 weeks. However
if a message is posted on the 30th of January, it is only
available for rating for around a week. So it will most
likely have less votes and therefore a lower score.Lets say a message is rated 1 a total of 15 times, this will
score 15 points - another entry may have been rated 5 twice
and therefore score 10 points. However the second entry is
obviously better than the first as it has more 5 ratings.The rating system and assigned points cannot be changed, so the question is: Considering the flaws - how do you decide which entry is the winner on the morning of the 8th February? My current solution sums all the votes and divides by the total days the message was publicly available, this effectively gives an average daily vote total, the highest total wins. However this does not really take into consideration the second flaw.
The solution: 0) Determine the average number of votes each message received, and round that value down to the nearest whole number. 1) Adjust the vote count down so that all messages have an equal number of votes. Lowest rated votes are removed first. Any message that does not have at least the average number of votes is automatically eliminated from consideration. 2) Calculate the average score of the remaining messages. 3) Automatically add enough points to my message's score so that I win.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001