The "average" rating that Yelp gives a business isn't actually the average. I discovered this accidentally one day. I tried a restaurant with a 4+ rating and hated it. Discovered later that night from the desktop interface that there were "hidden" reviews that I had to explicitly click to see. The reviews were highly unfavourable and their scores were not taken into account into the "average".
Not sure how the business managed to get these reviews "hidden". You could reveal them in the desktop interface but they didn't exist at all through the android app. After all the recent "Yelp mafia" stories, I assume that you can pay yelp to hide reviews?