I’ve already talked about finding my “rate”, but that’s different from deciding on how to bill. There are an infinite number of things that can be read about the merits of hourly vs. flat vs. value pricing. Truth is, they all have their strengths and they all have weaknesses. They can all promote undesirable behavior if used incorrectly, but each can be useful in the appropriate situation.

Typically, I go flat rate, and that rate is based on an estimate of how long I think the project will take multiplied by my hourly rate. Sometimes I’ll give a discount to get to work with someone special or for a longer guaranteed engagement, but you get the general idea.

The biggest downside to flat rate pricing is what happens when your estimate isn’t correct. Estimating accurately is notoriously tough. I’ve gotten better at it, but I still miss my estimates.

The next downside is how to deal with changing requirements. All I can say is that continuous communication and honesty are the most important things. It doesn’t help anyone to gloss over potential problems.

I can tell you that I’ve used flat rate pricing because it makes the most sense to most of my clients. Typically, they really need to know how much a project is going to cost before they can move forward. It isn’t enough to tell them, “I think it’ll take four weeks” when they know they’ll be on the hook if you miss that timeline. But, it’s super important to clearly outline what is (and what isn’t) included in a flat rate estimate.

One example I keep thinking of is my mother having her kitchen remodeled. She had to know the total cost so she could tell if it would fit into her budget. There were also certain options that it was clearly communicated would cost more if she opted for them later – things like granite backsplashes or a nicer finish on the cabinets.

My point is that there is a way to make it easy and clear for your client while protecting yourself from being on the hook for anything that wasn’t part of the original deal. Again, treat people with respect, try to make it easy for them, be nice, be honest, and things will work out favorably more times than not.

During the early stages of a project – when you’re asking questions, estimating and advising – it’s also important to remember that your client may not know everything there is to know about what they’re asking for. When they say, “I need a new website” do they know what that really means (similarly do I know what it means when I say, “I need new gutters”? I really have no clue about the material, staffing or equipment costs). Similarly, if someone were to come to you saying “I need a new car” what do you do? There is a big difference between a hatchback and an Italian supercar – in performance and cost. It’s your job to help them understand what is involved and find the best value to meet their business objectives. Trust me, their success is your success.

Through the last year, I’ve come up with a basic price list for some commonly requested items. That list may be valuable to share here (this list is for front-end development and CMS integration):

Note that this price list is a point of reference. Some projects require a completely different rate due to many variables, and I work hard to figure out those things during the estimating process. But, it’s a helpful baseline, and I’ll explain a few of those items. The front-end home page is so high because it’ll always include things like the branding, header, footer and navigation which are reused across all other pages. “Special” features include components that are more involved bits of interaction – things like fancy carousels, complex animations or a particularly unique layout. I realized these “special” items were what normally blew an estimate, so I called them out so the client understood what those items added to the overall costs (it also gave me a good way to communicate with designers I may be partnering up with). A lot of people wonder about the “training videos” item. I like to do simple screencasts as documentation for how the client will work with the CMS. Those videos have made a big impact and help reduce support calls after a project ends.