private static float getWeightedArithmeticMean(final Geocache cache) {
        final float rating = cache.getRating();
        final int votes = cache.getVotes();

        return (votes * rating + AVERAGE_VOTES * AVERAGE_RATING) / (votes + AVERAGE_VOTES);
    }
Add some artificial average ratings to weight caches with few ratings towards the average rating.
main/src/main/java/cgeo/geocaching/sorting/RatingComparator.java