Atomic is an intentionally-general software product development consultancy. We’ve found success through technology and client diversity. Instead of focusing on a single industry or technology or client, we concentrate on the aspects of software design and development that cross-cut project success — things like work process, programming, design, testing, project management, toolsmithing, communication, teamwork, and culture. In addition, we intentionally manage how much work we do for any single client.
I believe our client diversity strategy is largely responsible for many good things, including sixteen years of organic growth, consistent profitability, and no layoffs. This post is my analysis of our 2016 clients and the $8.6M in revenue they represented for us. I’ll wrap up with the high-level, long-term financial results I partially attribute to the strategy.
In 2016 our clients fell into 27 distinct industry classifications. (Note that this is my own scheme, not the SIC code or something more official.)
|Airlines||Automotive||Consumer Packaged Goods|
|Financial Services||Food Distributors||Government|
|Healthcare||Heavy Machinery||Industrial Controls|
|Industrial Laundry||Insurance||Laundry Equipment|
|Marketing||Medical Device||Office Furniture|
|Simulation||Sports||Test & Measurement|
|Think tank||Venture Capital||Wholesale|
Revenue by Industry
If you look only at the top (by revenue) classifications you see that 80% of our revenue in 2016 came from seven industries. These top industries change for us year by year, depending on who we happen to work with, but what’s common over the years is the range and roughly even distribution. With roughly 50% of our revenue coming from clients in our home state of Michigan, you can also see our midwestern industrial roots in last year’s client diversity strategy.
Revenue by Client
We tackled the problem of client over-reliance early on. While we’ve never been harmed by doing too much work for a single client, the risk is an obvious one, and I’ve heard plenty of sad stories, even to the point of company destruction.
The chart below shows a histogram of the 57 clients we worked with in 2016, with client name replaced by their industry classification. Our top four clients accounted for 50% of our total revenue. The top 14 accounted for 80% of our revenue. The amount of our capacity we allow to go to any single client is a key part of our client diversity strategy.
The final bar represents 32 clients each less than 1% of our total revenue. While some may be tempted to look at that long right tail of clients and suggest simplifying our lives by chopping it at projects under a certain dollar level, I see something different. Some have been major clients in the past. Some may be major clients in the future. Every one of our clients needs the help we provide. If all 57 of them are happy and finding success with our work, that’s a lot of people saying nice things and a lot of valuable word-of-mouth marketing.
Revenue by Platform
Our generalist approach extends to technologies. While “platform” is a squishy concept, I defined it as follows:
- Classic apps intended to be used on desktop browsers
- Primary user interaction on a smartphone, regardless of underlying tech (native, responsive web, cross platform, etc)
- Primary user interaction on a tablet, regardless of tech
- Platform of yore; software that used to ship on CDs
- The applications all around us that people don’t think about as computers; firmware
- A project with elements of all of these: special purpose devices, sensors, embedded, web and/or mobile
- In sixteen years, we’ve never laid anyone off for lack of billable work. I’m not aware of any other consultancy that can make that claim. We’ve also seen plenty of our clients be forced to downsize at times over the years.
- Our compounded annual growth rate since our first full year of operations (2002) is 22.4%.
- There have been only two years (2009, 2015) when our revenue was slightly down from the previous year.
- Our 2017 revenue will be 21x our 2002 revenue.
- The average of our annual net margin over those 16 years is 24%.
- A framework to define and describe organizational culture - January 21, 2020
- Atomic Ownership, Part 6: Lessons Learned - November 26, 2019
- Atomic Ownership, Part 5: Distributions - May 1, 2019
- Atomic Ownership, Part 4: Financing employee ownership - April 4, 2019
- Atomic Ownership, Part 3: Valuation - January 2, 2019
The pie chart below shows how our revenue was distributed by platform, for the clients comprising 80% of our revenue. The shades-of-gray color scheme seemed particularly appropriate given the ambiguous nature of “platform”. (What are Chromebooks? What about responsive web? How about a React Native app? Is Ruby on Arduino embedded?)
The IoT systems we build are particularly vexing. Four of the fourteen clients that comprised 80% of our revenue hired us for IoT projects. Is that a platform now?
The technologies underlying my platform classification scheme are constantly evolving. Embedded was unusually small last year; good thing we employ generalist software developers.
This enviable financial track record stems from getting many things right, and recovering quickly from the many things we got wrong. But if I had to name the most important aspects underlying these results, I’d point to client diversity and our focus on product development over technology.
This strategy is only possible because of the curious, smart, dedicated, flexible people we hire. Success with client diversity means makers who learn new domains quickly — experts at becoming experts, always sharpening their own saw. It means managing partners who can learn a client’s business quickly, formulate a compelling approach to a problem, and determine a responsible project budget. It means marketers who find creative, effective ways of telling our story without a focussed offering or specialization to lean on.
If you’re currently a specialist shop, it may be difficult to follow this strategy. On the other hand, any firm can follow the common-sense advice of avoiding over-reliance on a single client.