Okay. This explanation is a little long, so bear with me.When I was going through the trip report script to change the span of the ratings so that they go from 0 to 5 instead of -5 to 5, I noticed a serious problem with the way the ratings were computed when a new rating was submitted.

As you know, both the rating of a report and the number of people who have rated it are stored in our database. Previously, when someone rated a report, the new average rating was arrived at using the following formula:

newaveragerating = (oldaveragerating + newrating) / 2

Thus, if a report's average rating was 2 and someone gave it a rating of 4, the new rating would be 3, or (2 + 4) / 2. This was true no matter how many times the report had been rated. If it been given a rating of '2' 1,000 times, and then a single person came along and gave it a rating of 4, the new average rating would be changed to 3. Obviously, this isn't correct. If a report has been rated 1,000 times, then a single rating will have a negligible effect on the average.

So, when I changed the rating span, I also fixed this problem. We now use the following formula to arrive at the average rating:

newaveragerating = (timesreportrated * oldaveragerating + newrating) / (timesreportrated + 1)

This means that the average rating of a report is now reflected accurately. If a report has been given a '2' rating 1,000 times and a single person comes along and gives it a rating of '4', the average rating will remain very very close to 2 (2.004, to be exact). So it's fixed now, but I think it's likely that in the past one or two people gave your report a low rating and that's why its rating appears lower than it should. In time, as your report receives more and more ratings, the score will be more accurately reflected. Sorry about all this.

------------------

**Ythan**

Founder of the Shroomery