What Mark said hit the nail on the head for us. We offer Exception Service. I don't sell I.T. services, I sell what is perceived as the BEST I.T. service you can get. When you call us, you don't get an antisocial neckbeard who doesn't really want to talk to you, you get a well dressed, polite, knowledgeable technician with a team to back him. You get complex services delivered in a simple fashion. We don't leave our clients in the dark behind the wall of "lack of knowledge" we translate in terms they can understand. I've had techs pull in huge bonuses but you know what? That's the cost of really good techs. If I don't pay them exceptionally well, and treat them exceptionally well, I wont get exceptional techs. I know this because my best tech is stolen. One of my clients told me about "this guy" at the company they used to use for I.T. support. They said "He was really good, super friendly and helpful, he was fast and he didn't make us feel stupid" the problem was, they took a gamble each call. They told me "Sometimes we would call back 2 or 3 times to get him, they didn't let us ask for him, you call helpdesk and got whoever was available". I found him, found out what they paid him, and offered him a 20% raise plus bonuses and medical/dental. He left that job 2 weeks after I approached him. He also brought us 4 new clients that could pay his salary on their own.
If you have a good tech, that provides a strong ROI, you should do everything you can to keep him (while remaining profitable of course) because if you don't, someone will steal him, and if your customers like him, they will steal him too. Techs that give 110% deserve a 110%. It's not like it should hurt your bottom line ever, you should have systems in place that ensure that you make at least X% profit per tech, and if a tech doubles that, why not reward accordingly! If they cant meet that, you need to replace the take because that gear in the system is not working.
*Edit* Just thought I would add, since we are primarily B2B, we have a different system that a walk-in shop, but maybe the principal can be the same. My clients have a lead tech. Each tech has a set number of business under them that they are responsible for. Each client has a "Tech order" so it works like this:
Ticket comes in from Client,
Client has Technician A as primary, B as secondary and C as failover
If the ticket is not severe, it is assigned to Technician A's queue.
If it is severe, it is assigned to A, B and C, whoever finishes their current ticket first picks it up.
This also helps with team-building, because Technician A and B have a "pow-wow" once every 2 weeks. The 2 techs work like a sort of team, With tech A covering B's tickets when B is busy, and vica-versa. Tech C in this case, is my most recent hire and least knowledgeable. He does not actually have any primary clients under him, so he handles the easy, non-critical tickets as he is learning more about each client.
I find this helps with a big issue in our industry, business and customers like to see the same face. They like to know whoever is working for them knows them, they are not just a client number, they are in the silk glove of tech A. We also have Tech A and B introduce each other to each client in-person to build a sort of rapport. Eventually Tech C will start taking over as secondary for tech B, freeing up technician A to take on another few clients. This way my best tech handles my best clients, and over time I should be able to add more clients to his queue as his responsibilities for B's clients go down.
TL;DR My staff work sort of like a RAID1 array.