Yelp has the best database of business reviews. I frequently rely on those ratings to make decisions, and very rarely use other sites. Although the quality of the data keeps me coming back to Yelp, it's insulating them from being required to innovate on product features. There's a lot they could do to make me much happier as a customer.
Search
"25% [of Yelp's traffic] is people qualifying ‘Yelp’ as one of the keywords in their [Google] search" - Yelp CEO, Jeremy Stoppelman
I do this all the time too, and it's because Yelp's search isn't very good.
Yelp's site is slow. When I go to http://www.yelp.com, it takes about 1.4s for the home page to load, and 1.6s for the search-results page to load after doing a query. (It's significantly slower if you count rendering time, which is more realistic, but harder to measure). Compare that to Google, where the home page loads in .1s and (even turning off Google Instant) the result page loads in about .6s. That might not sound like a big difference, but on the web
it totally is.
Yelp's rankings, which you'd expect to be their bread and butter, are a let down. Try searching for "Pizza" near "New York, NY". "Rosario's Deli" in Astoria (the current top result) is probably not what you were looking for. Maybe 1 or 2 of the results on the first page would qualify as top pizza joints in New York. Anecdotally, I usually look at somewhere between 20 and 50 results before I feel satisfied.
Yelp's search is too difficult to use, even when you know what you're looking for. If I search for "apa Ginos" near "Boston, MA" in Yelp, I get no results. Google on the other hand (even without the Boston, MA hint) figures out that I made a small typo and returns: "Showing results for papa gino's."
If Yelp doesn't fix search, people will continue to use Google to get to Yelp. And there's a real risk that eventually they'll stop searching for "Papa Ginos yelp" and start just searching for "Papa Ginos" or even "Papa Ginos [some other site]".
Personalization
NetFlix gets personalization right. I've rated 350 movies on netflix.com, so they know my tastes. When I log in the first thing I get are "Top 10 Recommendations for Matthew". When I look at a single movie, I do still see the naive "Average of 521,325 ratings", but the big rating on the page is "Our best guess for Matthew". I love seeing movies where the second score is much higher, it means there's something unique about that movie that might appeal specially to me!
Yelp doesn't do this.
The first problem is that you can't rate a place on Yelp without reviewing it. I don't have the time or interest to actually *review* 350 movies or restaurants or gas stations, but I don't have any problem quickly reviewing things as I interact with them. For Yelp to be able to be able to personalize things, they need to start by letting people rate things without reviewing them (even if those review-less ratings don't affect the overall business score).
Imagine what Yelp could do with that data. Search results would be significantly more useful by being tailored (they could know I prefer New York pizza to Neapolitan, and rank things accordingly). As a result, the mobile experience would become much better (you could do less typing if the recommendations were better to begin with). In general, users would be delighted to find special restaurants particularly suited to their tastes.
That's just be beginning though. Most people eat in a group when they go out. So, when you're picking a restaurant, you're not picking just for yourself, but for a many people. The multi-person task is way more challenging, but luckily even more ripe for personalization. When picking a place for, say, four people, it's hard to keep everyone's tastes in mind. If you could tell Yelp who you're going to dinner with, and get results personalized for all four of you, *that* would be really cool.
Mobile App
Mobile is where Yelp should shine. However, I use Yelp on-the-go all the time, and am disappointed by the experience (at least on Android, maybe it's better on other platforms).
There's a lot Yelp could do to optimize their app, without fundamentally changing it: Showing suggestions on the landing page without making you click two more times ("Nearby" -> "Resaurants"). Or at least predicting that you're going to click that, and pre-loading it in the background so you're not left waiting once you get there. Incorporating your saved bookmarks into search results. Highlighting places that are currently closed more obviously. Making the suggestions and search results better (see above). Just making the results load faster.
There are even more opportunities exposed by re-thinking the ways people interact with the app. For example: I've already bookmarked 182 establishments on Yelp, but I always forget to eat or drink at them. The Yelp app should buzz and remind you when you walk near a bookmark ... especially if the time of day was appropriate (e.g. reminding me about a dinner spot at 7pm is more useful than at 10am).
Or what about a Yelp "continuous" mode when you're in a new city or neighborhood: You tell it that you're looking for lunch in the next hour or so, and who you're with and then you can just start exploring or going about your business. Yelp can take over the task of searching for places, and just let you know whenever you walk near a place it thinks your group would particularly like.
Conclusion
I really want Yelp to succeed since I think they have awesome data, and I love many of the places I've found using it. However, to retain their top spot in the world of restaurant recommendations they need to get better at using that data to solve my problems.