I think having a poor competition helps too. People often tell me how useless they find the past Excel training they have attended and how disappointing the last VBA programmer they got was. They treat me as a restorer of hope; someone who has given wings to their Excel based dreams. I couldn't have chosen a better career or more rewarding business. My customers' satisfaction is 110% (expectations exceeded) and they give/get me another job.
It is an unusual business. It's often very hard to get a customer as most people feel they already know Excel or often think of using a special software to fix their data related problems. They also think I charge too high. So when I talk to 100 people, only about 8 show interest and 2 pay. It's a very low conversion rate. It has made offline marketing extremely difficult for me. I spend time away from work and use up money I could have put to more productive use to attend networking events and conferences and not get a single person to become a paying client. But since I focused on online marketing my (business) life has become much better. I get calls from people and get more offers than I can handle. I even deliberately turn down some clients whom I feel don't use or need Excel so much. I don't want to train people who need the training just for certificate sake. The joy I get in my training is seeing the trainee become more productive at work and very responsive during the training. So focusing on my ideal business clients helps. They have a genuine need and have quantifiable expectations. Not someone who is just wanting to try out my training with no clear expectation.
If I were to build a theory out of my experience of exceeding customer expectations I would say you should pick a very specific business line, focus on getting your ideal customer and do way better than your competition. They will constantly feel like you are a lottery that they have won, and will want to keep.