Advice for Aspiring Consultants

A friend of mine is considering a life of dashboard consultancy. He has some talent and wants to be a Data-Capitalist-Pig. So he asked me some advice on contracts and project pricing.


Ah, the old question of pricing a project. No other process has brought such a simultaneous sense of joy and dread as working out a contract with a new client. In this post, I’ll give you my thoughts on this and share with you a few of the tips I’ve developed to help making the process of project pricing a bit less stressful.


So let me start with the basics. There are two traditional ways to price a project: Time Based and Project Based. Time Based pricing is simple – charge a certain rate for an agreed upon number of hours. Project Based pricing is also simple – charge a lump sum for an agreed upon scope of work. They both come with certain advantages of their own:


Most consultants try very hard to push clients into the pricing model they feel comfortable with. Some would even argue one is better than the other. But the truth is they both have their problems. Here are some of the drawbacks to each pricing model.


For a long time, I myself tried to push my clients into an hourly pricing structure because I thought it was less risky. Unfortunately, not all clients were interested in an hourly structure. So I often had to submit to a pricing model I just knew I would regret. Every consultant has the story “It was a lean few months, then client X called, then I basically gave my services away”.


I fought with this myself, until I came up with three useful edicts that helped me add discipline to my proposals.

  • Determining a client’s data-maturity is as important as scoping the work needed.
  • My rates will be based on the type of work I’m doing.
  • The complexity of the job will be a factor in my proposals.

.Let me explain each one.


First, understanding the client’s data-maturity.

We all know that not all clients are the same. Some have a solid understanding of what needs to be done and how the data in their organization works. These clients typically have a subject matter expert on hand to serve as a partner on the inside, working with you throughout the project. These clients also have the ability to take over the project when it’s over, reducing the service calls later on.


Other clients just know that they need help. These clients have a protracted view of their problem, and haven’t really stopped to consider all the aspects of work that is involved in their endeavors. Because of this, they will likely lead you through many iterations and loops before they themselves understand the problem. In short, they are learning what they truly need while you toil. These are also the clients that rely on you to provide business rules and calculations, forcing you to offer more think-time into their business than into the project at hand. And because these clients don’t have a subject matter expert, or any candidate to take over when you are gone, they will constantly haunt you like an old girlfriend, asking for a “quick-fix”.


I realized that I need to add a pricing multiplier (or a kind of surcharge) based on client maturity. This way, I can protect myself from the long kiss goodbye. Clients with low maturity, get a higher multiplier. High-maturity clients will get no multiplier.



Next is the concept of differing rates for differing skill sets.

The truth is that most projects require differing tasks that don’t really fit into one umbrella. Maybe one day, you’ll be gathering business rules. Another day, you’ll be normalizing a database. Still another day, you’ll be programming SQL Server stored procedures. These are very different jobs will differing levels of effort on your part.


So I basically decided that I will come up with a Job Title and rate for each of the different types of work I do.


Then I apply the job titles when I build out the requirements document. Like so:


What I found was that I was making less per hour than my old arbitrarily high hourly rate. But I was winning more contracts with reasonable rates that fit the level of effort on the job. Now, it must be said that this does require a close inspection of each task that will be needed on a project. But if you can do this well, you can customize your pricing to each project and offer more attractive proposals without exposing yourself to risk.



Finally, there’s the concept of accounting for project complexity.

This will sound obvious, but the more complex the project, the more it should cost. I knew that, but I realized that I had no real definition of what a complex project was. So I forced myself to sit down and figure out what determines the complexity of a project. Since I primarily do dashboarding work, I came up with these basic guidelines to determine if a dashboard project is small, medium or large. The figures you see represent the number of components in the dashboard.


Again, I add a pricing multiplier to large and medium dashboard projects based on how complex I feel it will be.


Now, if this concept of project-complexity sounds a bit subjective to you, you’re right. It is. I just listed some attributes that I felt (based on my experiences) contributed to time and effort. Not every project will fall nicely into small, medium and large. Some projects will be a mix of small and medium, or medium and large. I evaluate each project differently, but I try to stick to my complexity rules.


You may be have to come up with your own list depending on your area of expertise. But the concept is the same. Sit down and build some guidelines that will help you decide on how complex a project will be.



After my three guidelines, I ended up with a system that worked for both Time Based pricing and Project Based pricing. This made it possible to accommodate any client, regardless of their pricing preference.




So after all that talk, I feel like I’m selling something. I’m not. I just wanted to pass along my thoughts.

I’ll end this with a link to a dashboard pricing tool I pulled together a long time ago.

Feel free to check it out and see if you can adjust it to suite your needs.

Dashboard Pricing Tool

7 thoughts on “Advice for Aspiring Consultants

  1. jeff Weir

    Great post, Mike.

    As a fairly new developer with no formal IT qualifications, and having only fully absorbed half of Professional Excel Development, a problem I struggle with with Excel app development is that often it seems like when working on something new to you, for every 2 things you do, you have to implement 1 workaround to overcome some quirk/feature of Excel.

    Sometimes you know exactly what you need to do to get around said quirks, but you have no idea precisely how. Finding out the how requires you to give the Google roulette wheel a spin, and see what turns up. Sometimes you strike it lucky straight away, sometimes you’re spinning for days, before you concede ‘defeat’ and post your question on say the MrExcel Forum. Sometimes that question gets answered straight away, sometimes never.

    In short, I’m constantly having to revise my estimates of time because I don’t know what I don’t know at design time.

    I’ve found that with perseverance, you can pretty much get Excel to do what you want. But given this knowledge, I too often fall into the trap of glibly saying to clients ‘yep, I can do this…yep, I can do that to… etc only to find myself under severe time pressure to turn up workarounds for every nth feature.

    That often means that building ‘new stuff’ is not that financially rewarding in the short term. Heck, sometimes I don’t break even on new stuff. But in the long term, that ‘new stuff’ becomes ‘old hat’. The trick is not to underprice your ‘old hat’ skills…because to the client practically everything in your ‘old hat’ category is ‘new stuff’.

    On another point, most of the ‘inhouse subject matter experts’ I’ve met know just enough to be dangerous. Often clients want me to work with what their ‘expert’ has already produced. Often that bit of work is a combo of badly formatted, impenetrable code combined with 120,000 VLOOKUPs and IF statements, all dependent on a couple of volatile INDIRECT functions.

    My advice to clients is generally ‘Just push it into the sea. Unpicking this stuff will take me 3 times as long as building it from scratch.’

  2. Marlin Snyder

    Good information, Mike. I’ve used something similar for years, and what I found most helpful from your post is the rates you use. It’s so hard to price yourself within the market, when rates swing from $20/hour to well over $200, and at some companies I’ve worked for, they just throw a dart at an imaginary table of rates to come up with their rate/hour.

    This is a more credible approach and one that I’ve found makes more sense to businesses or business partners (as in our case) when we bill out for our services. We use a scale based on the disciplines involved as well as the complexity of the project.

  3. Colin

    Invaluable information, Mike – thank you for sharing your experiences with us. I’ve bookmarked this page in anticipation of my long overdue dabble in the Excel consultancy market!

  4. Jon

    Now for the hard part. Finding clients!

    It’s nice when clients are willing to work with you for skills you haven’t learned yet. I’ve only worked with one client so far (hooked up by my brother) and it has been incredible fun and a good learning experience. I do the “I think it will take me x time to do it so I’ll tell them 3x.” I usually end up using 3x. But as I learn more I think it will be easier to use your design.

  5. Don

    Jeff Weir:

    This is a fairly common problem for consultants in all types of businesses. But the main point of jumping off is this: if you don’t *know* you can do it – and how – don’t say “yes” so quickly.

    To be sure, almost anything can be done in Excel (but sometimes it’s a bit of a dog’s breakfast).

    No one minds you saying “I have some ideas about how to get you that, but I need to test a couple of things first to see if they’re going to be problematic or not.”

    …and Mike….thanks for the always informative posts!!

  6. Jeff Weir

    Don: that’s a nice way to put it. Probably need to slightly rephase it to “I have some ideas about how to get you that, but I need to test a couple of things first – possibly on your dime – to see if they’re going to be problematic or not.”

Leave a Reply

Your email address will not be published. Required fields are marked *