Firing somebody for not working is clearly sensible. Your opinion of whether Yelp's action is reasonable is irrelevant.
I'm frankly disgusted that anyone would look at this from a purely profit driven viewpoint, especially as this viewpoint is short-sighted and mistaken.
Treat your employees well and they will usually treat you well.
There is no benefit to running your business this way. It's only harmful.