Monday, March 10, 2008

The Average Programming Book

One weird aspect of being a published writer is that you get very little information about sales. You see your own numbers (several months after the fact), but there's no larger context, and no sense of what a reasonable expectation of sales might be.

Which is why I love it when O'Reilly Radar puts up one of their periodic looks at the computer book market. I haven't pored over stat line like this since I collected baseball cards when I was ten.

I'm going to assume you've gone and followed the link, and post some further thoughts, rather than rehash the points already made.

So, the average programming book sold about 1100 copies in 2007. Given the probable distribution, I'd imagine the median is significantly lower, probably under 1000, although I have no way of knowing for sure. Obviously that conflates a lot of things, new books/old books, general books/specific books, but it seems to be a reasonable baseline.

It's not clear what that means for total sales, since I don't have a good sense of how long a particular book is viable. Jython Essentials, which is nobody's idea of a best-seller, is still selling the odd few copies a month, and 2007 was it's sixth calendar year of sales, (it probably just slipped below the 1100/year figure based on 2007).

You might expect that the per-unit total is larger for the larger language markets, but that doesn't seem to be the case. In fact, three of the top ten languages have much lower per-unit figures (Java, C, Visual Basic). Presumably, this is because the larger markets encourage specialized books in a way that, say, the Groovy market doesn't. Yet.

It does seem to be the case that markets whose share is growing have high per-unit sales and vice-versa. This makes sense, especially when you factor in the lag time that publishers operate under. Growth markets result in high sales for the relatively few titles available, then the average gets driven down later on as more players enter the market. (The most interesting counter example is PHP, which maintained a pretty good per-unit sales rate despite an overall drop.)

Quick thoughts:

  • Ruby has the highest per-unit sales rate in 2006 and 2007 (books are placed based on what language the examples are in, so this includes all Rails books). It's still a very strong growth market, though. (But I wonder what the average is if you subtract the two Dave Thomas books...)

  • Python passed Perl, for presumably the first time since ever. That's really weird sounding. If you'd told me when I bought the Pickaxe book in 2001 that six years later Python would outsell Perl, and Ruby would outsell both of them combined... It's weird.

  • If the trendlines come even close to continuing, C# will be the biggest language market in 2008. That seems strange too... but I guess the Microsoft Bubble of Tools is pretty big.