This might sound like a tech question at first, but there's a statistical logic that I'm trying to come up with. Help would be really appreciated.
Context: At my organization, we have a custom-built webapp where people add their skills (Project Management, Java, Cooking, etc) and other people in the organization rate those skills on a scale of 1 to 5 stars (no decimal values). Anyone in the organization can rate anyone's skills. So my average rating (which could be a decimal value) for a skill is: (the ratings I've received)/(total number of ratings). And each person can rate my skills only once, so if they want, they can change the original rating that they gave me on a certain skill. There's an administrator view, where the HR or the CEO can view a list of all the skills that the organization has, the number of people who possess a certain skill, and the ranking of people against that given skill.
Scenario: Up until now, we have sorted (in descending order) this list of people by the average rating for each person. But there's a problem with that. Someone who has received only one 5-star rating is ranked higher than someone who has received 20 4-star ratings (and the latter is a more skilled person). Switching the ranking criteria to number of ratings won't help either, because this way a person with 50 1-star ratings (hence a lesser skilled person) would be ranked higher than someone with 4 5-star ratings.
Question: We need one list, sorted in a way that we're able to find the most skilled person. Someone who's not only rated higher, but also the one with more ratings. What would be the logic that we could use to have a sorted list which puts the more skilled person on top of one who's lesser skilled?