Let me preface by providing a specific definition of the two types of companies I am interested in.
Consultants: Software companies that generally provide their services on an hourly basis to create software that the end user will spec out to their internal specifications, the end user will also typically own the end product ie: Source Houses: Software companies that generally receive most of their revenue through selling a specific product (ie: POS system, Game, Widget). The company itself will typically own the source code it develops. Obviously I understand that the above definitions sometimes aren't so simple but I feel the point stands. What I am interested in knowing is (subjectively) which of the two types of software companies described above is more successful/profitable.
My gut tells me that a 'consulting company' is essentially selling a commodity that will always be driven by price, whereas a 'software house' owns a specific bit of intellectual property that has fixed costs and ideally a recurring revenue from its product range. It also owns tangible assets in its source code and possibly goodwill.
Could anyone please be kind enough to point me in a direction where I could research these thoughts further or possibly provide some ideas of their own?
There is no way to measure them against each other on profitability. There are very profitable consulting agencies and very profitable software houses.
Software houses can reach bigger extremes (no software consultancy is ever getting bought for 1 billion dollars). If you want to "swing for the fences" then a software house is your best bet.
If you are asking this because you are thinking of starting one, I would consider job satisfaction more than profitability.
I personally don't like clients to control the direction of software I am building. I also don't want to maintain older systems that I have little control over (ie. it may be in an old technology but the client won't pay to have that upgraded, they just want to keep maintaining and adding to the old system). For me the choice was simple, software house was going to give better job satisfaction and lifestyle.
In a consulting business the revenue and costs are typically linear. In a software house the revenue and costs are not linear. In a software house the revenues can be much higher than the costs, or if the products and sales are poor the revenue can be zero.
A common model is a hybrid of the two. Someone starts out consulting and slowly builds a product based on the tools/solutions they use and builds a team out of people they meet.
There is an upper limit on the revenue for consultants that does not exist for houses.
For consultants the maximum revenue per year is limited to:
(number of consultants) x (hours worked per year) x (billing rate)
So lets be wildly optimistic and say in your consulting firm people want to work like crazy and bill out at $1,000 per hour ( a very high rate) and work 3,000 hours per year (not much sleep, it has been done). That is 3 million dollars per year per employee.
Now contrast that with Instagram (a house) which Facebook just purchased for $1 billion. Instagram has 13 employees and is 2 years old.
So if your consulting firm had 13 people, each bringing in $3 million/ per year, that is "only" $78 million in total after two years.
I ran a software consultancy for about four years and we were decently profitable - in that everyone got paid good salaries, had a good office, etc. etc.
We built quite a few products as well and tried to sell them / SaSS them out - but it was always difficult doing that - either due to lack of any selling skills on our part or a lack of a market in my country.
So basically, though a software house can be insanely profitable (write once, sell many) - it needs a lot (and I mean a LOT) of perseverance and planning - especially if you are not funded and are bootstrapping. (Or also, insanely lucky)
So while doing a consultancy business is not glamorous, it definitely pays the bills and helps you make enough money to try your product idea - though doing both together in my opinion and experience is extremely difficult.
It basically comes down to a low risk / low (but more consistent) reward for a consultancy while a high risk / high reward for a software house.
If you are planning on starting out, you need to figure out what sails your boat and take that approach. I have met many entrepreneurs who just wanted to start a company and didn't care about the product - so they are happy doing consultancy while many are all about the product and are in the "Super-Rich or Bust" mindset.
Swinging for the fences can be fun and exhilarating but it is a young, single person's game. You only get so many times at bat before you will likely have a family along for the ride. Don't quit your day job until you have achieved product-market-fit and have received outside investment or your product is already putting more money in your pocket than your job.
A consulting house will pay the bills, and can so do very nicely, as long as you follow some simple rules and learn to manage people well.
Always charge at least twice what you think your services cost you to provide. Your costs will always be higher than you think. Count your own base income as part of the "costs" of the services your employees provide. Do not scale up until you are able to do this. Remember to include costs like attending conferences and budget for marketing.
Realize that as you transition from freelancing to consultancy, your own billable time will take a big dive. A profitable freelance career does not automatically translate into profitable consultancy.
Get a good contract and learn to use it. Consider using this one from my friend, Obie Fernandez: Master Services Agreement/Statement of Work Every consulting house that grows to a significant size has a "special sauce" to help them rise above the commodity services market. Usually this revolves around "process." Take best practices, add your flavor and sprinkle some magic marketing dust on it. Stay at the premium end of the market if you can.
As mentioned several times, our end target was product, but we had to consult on it to evolve it and fill the product revenue gaps. Now the product revenue greatly exceeds what we could ever make with per hour billing.
But, the real value is taking our product and adding expert engineering to create custom solutions for customers. Because we're resource limited, we always tend to focus on product development. But we noticed software services houses were buying us, adding the customization and marking up the product to get a margin way better than we get.
We even found that interested companies would walk away because we couldn't supply both the product and the customization effort.
So, now we're looking for localized engineering talent to partner with to get a share of that last "value added" step. It isn't back and white with per hour and product, analyse each case carefully.