Hi
I am recently trying a rating concept in php.

The project is, peoples will post the images of house and ask everyone to rate it as which is beautiful home.

I've placed a 5 rating stars and doing all the vote captures.

But i am confused in picking the right beautiful house.

Calculation i'm used:

Avg. Rating = Sum of rates/count of votes

This is working fine. But i am not sure is this is the correct method. Because, this is had loophole.

For ex:
house #1 : 5 votes & (1+2+3+4+5)15 rates = Avg Rating = (15/5) is 3.0
where as
house #2 : 1 votes & 5 rate = Avg Rating = (5/1)5.0

based on the above calculation,
house#1 is the highest scorer. is it correct?

but what i'm thinking is. house #1 got major votes(5) and rating(3.0) where as house#1 got (1)vote only and rating(5.0).

So, house#2 is the beautiful house? is this right?

If my theory of logic is right? How do i implement that in my project ?
What calculation i need to place?

Thanks in advance

Recommended Answers

All 9 Replies

If you think in terms of change:
"house" to "student"
"votes" to "quizzes"
"rate" to "grade"

then it should be clear that the average you are computing is correct.

You are confused due to the results/rating you are seeing. This is because you really can't quantify beauty. What I may consider a beautiful house (with a rating of 5) may not be considered beautiful by anyone else. So these rating numbers you are seeing really have little to no significant meaning especially if you are looking at ratings with significant differing number of votes. If you just looked/compared rating for equal number of votes, then the numbers would be less confusing to you. But your methodology of computing the average is correct.

Hi heilo

Thanks for ur reply.

I am also agreeing the average computation is correct. But, I'm not agreeing the place it is used for results/rating ?

Okay. with your example of students quiz itself, let we try to define.
Quiz competition - total questions 5.
Student#1 - answered 1 out of 5 questions - what is his grade?
Student#2 - answered 3 out of 5 question - What is his grade?

Who is winner?

with the way you considering house#1 is the winner.
Let assume,
1. I'm registering into the "Beautiful Home contest" and posting my home image.
2. I'm asking my one friend alone to vote and rate it for 5 star.
3. That's it(i got 5 star by 1 vote itself). I'm not sharing to any others to vote. I kept silent until contest get over.
Where as other person asking their friends to vote and rate it (5 persons voting and rating 5+5+5+5+4). Avg he getting 4.8

Based on your suggestion . I'm the winner (rated 5 got 1 votes). other one is loser who got majority of votes with the average of 4.8 This is not correct????

Thanks

But, I'm not agreeing the place it is used for results/rating?

It's not clear to me if you are making a statement or a question!

Okay. with your example of students quiz itself, let we try to define.
Quiz competition - total questions 5.
Student#1 - answered 1 out of 5 questions - what is his grade?
Student#2 - answered 3 out of 5 question - What is his grade?

I'm assuming that "answered X out of 5 questions" you actually mean "answered X questions CORRECT out of 5 questions". Clearly student #2 will have a higher average.

However, this same scenario does not apply to your "beautiful house" rating system. In the student-quiz scenario, the assumption is that both students will have/take the same number of quizzes.

On the house scenario, not all the houses will have the same number of votes. Even if they did, you really cannot quantify beauty.

That's why I stated:
"...these rating numbers you are seeing really have little to no significant meaning"

Mathematically, you are computing the averages correctly, but in practical terms, those numbers will very unlikely reflect/convey how beautiful a house is.

If you were rating my house against someone else's and I see that my house is low on the score, I would then rate my own house up (either directly or by having my friends do so for me or by using proxy servers - you really can't avoid this) just to put up my house rating in the lead. But those that REALLY meant that my house is actually more beautiful? Of course not!

Instead of rating from 1-5, a more practical/useful approach would be to have people provide actual feedback. Describe what is good/bad about the house.

Thanks Heilo.

Those are statements.

I am thinking of it. Here also a small team discussing about this.

OKay.

Few more :
Can you please explain, how is the basic 5 star rating system, that is being followed everywhere?

I know there is 3 types of polling.
1. Like or Dislike - This is based on no of votes.
2. Rate me - This is based on highest rating
3. Combination of Rating and Votes - This is only not clear?
- In general, Is they deciding the results like first, second, third based on votes or Stars?

Thanks again for ur precious time

In general, Is they deciding the results like first, second, third based on votes or Stars?

They are typically based on an average. Those systems would typically have a minimum threshold. Only after an item has received a minimum # of votes should they be compared against others. Otherwise the result is actually meaningless (which is why you are seeing the results you are seeing and are confused by them).

In other words, if you set your minimum threshold to 100 votes, if an item has less than a 100, then for all practical purposes you can consider that item as "not yet rated".

Thank helio.

In other words, if you set your minimum threshold to 100 votes, if an item has less than a 100, then for all practical purposes you can consider that item as "not yet rated".

This what i am exactly searching for.

I need to determine that threshold automatically by code. This should not be man input. It should be calculated thru code with some logic To get and set a auto threshold number and recalculate the rates, votes and announce the result.

That the logic i'm searching for. Bcoz i don't know how many number of peoples will vote. So i need to get that auto determined while contest starts. It should keep on auto determining and bring the average. That number should not be a constant as man made.

Do you know any formula for that threshold???

Thanks in advance

Do you know any formula for that threshold???

No

Let me try this logic and get back to you soon possibly tomorrow..

Thanks in advance

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.