TLDR - I made over $25,000 in the two-day launch of my new self-published book, Effective XGBoost. I discuss how that happened and if writing a book is worth the time and effort.
Why Write a Book?
Every potential author has to answer this for themself. I have written and worked as a technical editor for many books (Illustrated Guide to Python 3, Intermediate Python, Effective Pandas, Machine Learning Pocket Reference, Learning the Pandas Library, Pandas 1.x Cookbook, Tiny Python Notebook (3.5-3.10), Effective Pycharm, Hands-on Machine Learning with Scikit-Learn, Keras & Tensorflow, Hands-on Unsupervised Learning Using Python, and maybe a few others), so I'm aware of what is involved in bringing a book from an idea to something you can hold in your hand. I also know and have interviewed over a dozen technical authors and know many other Python and data science authors. The general advice that you would make more per hour consulting is true.
Many folks write because they have the bug. Others write for credibility. Others want a book with an animal on the cover. Since transitioning from development into mostly corporate training and consulting, authoring has been great marketing for me.
With self-publishing being relatively easy these days, the sole gatekeeper to writing a book is yourself. Be aware, book creation is a marathon. Don't jump in thinking it is a sprint.
You Made More in Two Days Then I Make in...
Effective XGBoost has been my best launch to date. After two days I had over $25,000 in sales. Perhaps this feels like bragging or an overnight success. But I've been writing books since 2011 and finally feel like I'm starting to crack the nut (or at least listen to common advice like setting up a mailing list).
At this point, I have a few thousand on my mailing list, 140k followers on Twitter, and around 20k connections on LinkedIn. I've fully succumbed to the reality that I must do the marketing myself, and I've worked pretty hard (particularly on the Twitter side) to grow my audience.
Also, note that I've been working on this book since the summer of 2022. Cranking out a quality book is hard work and takes a lot of time. Creating video courses is much easier and less time-consuming for me. Due to the nature of my work, I was often able to spend entire days working on the book. That was not the case when I had fulltime employment and wrote my first books. Many days I woke up early to crank out content. My back-of-the-napkin calculation is that I spent 10 hours a week over 25 weeks writing this book. That comes out to about $100/hour.
If you are now itching to write a book, note that my consulting fees are slightly higher than $100 per hour. Plus, I've authored multiple books, and this book performed much better than previous launches. For comparison, Effective Pandas, only did around $8,000 on its release.
Since the dawn of self-publishing, authors have touted the importance of a mailing list. I didn't have an email list when I created my first books. Bad choice, Matt!
I used the Gumroad platform initially, and while the features were great for sales, that was about the end of the features. Eventually, I moved on to Podia, which includes mailing list functionality. Honestly, my mailing list-fu is lacking, but I'm continually looking to improve. I might create a Substack, but as a one-man shop, I like to keep things simple and limit platforms. The draw of Podia is that it is all in one.
I have a few thousand subscribers on my mailing list right now, and they accounted for 35% of my sales.
My next largest source of sales was from Twitter. (If you are wondering how I tracked this, I used Podia coupons with platform-specific codes.) I doubled down on Twitter during Covid and now have 140K followers. They accounted for around 32% of my sales. With all of the hijinks Elon has been pulling recently, having all my "eggs" in the Twitter basket is scary.
LinkedIn came in around 11%, but I only have 20K followers there. I'm actively working on growing that audience. Just another thing to put in the to-do list...
Around 15% of my sales aren't attributable or are from folks who didn't use a coupon. Many of my followers pay full price to support creators like me. I'm grateful to those "super fans". Some of these folks might not have figured out how to enter the coupon code at checkout. Podia can be tricky like that sometimes.
Around 5% of the sales during this time were upsells. So these weren't sales of Effective XGBoost but in-cart discounts to my Effective Pandas material. Podia can be tricky like that sometimes.
You'll note that I haven't mentioned the elephant in the book sales business ... Amazon.
My initial release was only for a digital book with an option for a course and consulting. I highly recommend creating an accompanying course for your book. Around 70% of my sales included the course. Here's the math. 100 books at $50 = $5,000. Contrast that with having a course, offering 70 courses at $100 and 30 books = $7,000 + $1,500 = $8,500.
Oh yeah, Amazon. Amazon accounts for a large number of sales. However, they also take a large cut. And they don't give me access to my readers.
The compromise I have settled on is letting Amazon (and other long-tail providers) handle the physical book. Many prefer to read from a physical book, and Amazon does a great job pushing your book for you, especially if you can get that fly-wheel moving. However, I feed my family with my book sales and would prefer not to have a middleman for my audience's digital sales.
I created both a paperback and hardback book (Amazon now offers these) and announced to my mailing list that these books were available without disclosing them to the rest of the world. I also deeply discounted it (to the point where I'm making $1/sale) as a bonus for my mailing list and a way to say "thanks" to my audience.
This (hopefully) kicks in the Amazon machine, as my mailing list pushed the book to the top of the lists and a rank of around 3,000 overall on Amazon.
As of this post, I've bumped the price back up to normal. Amazon can take the cut of sales they bring in, but I will push my digital version and let readers know about the Amazon option if they prefer physical books.
Based on the performance of Effective Pandas (which has done well on Amazon), the Amazon machine can get close to Podia in terms of ongoing revenue.
Note that I'm doing a full-color book on Amazon. These are expensive to print. I could probably double my Amazon income if I keep the same price but sold only a grayscale interior. However, my book has dozens of charts and accompanying code, and the color print on this batch of Effective XGBoost has been excellent. (I'm thinking that Amazon upgraded the POD printers, or I've been really lucky.)
What about traditional publishing? Are my readers getting an inferior product? My content is not prefect. I make tpyos, like the rest of the world. But editors are also not perfect and also miss typos as well. 😉
I feel like my process is decent, and having been through the process of two other publishers, I feel confident about the final outcome. I can "execute" my books via doctests or notebooks, so I know the code works. Grammarly helps with most typos these days.
I recruit dozens of volunteers from my mailing list review the drafts of the book. This turns out a quality product based on feedback and experience.
What about the other stuff? Layout, cover design, marketing? Yep, that is work. Consider using a publisher if you can't figure out how to do it professionally.
What about distribution? A publisher does provide more distribution than just Amazon. However, Amazon is the elephant here. And I've found that after any initial promotion, the onus is solely on me to promote my book. I use Ingram Spark to reach the long tail, but the squeeze is a lot of effort for the juice when I could be doing other things.
AI and the Death of Books
When I was about 90% done with the book, ChatGPT was released. As a technologist, I jumped on this boat and was really happy using it to augment where possible. As a one-man shop, Chat (as I like to call it) is a game-changer.
I won't go deep into how I used Chat here (perhaps in a different post). I will say, Chat's hallucinations are something to be aware of. Did I use Chat content in the book? Yes, however, I edited everything that Chat created.
Will I use Chat in future content creation? Yes.
Do I think Chat means the end of books? No. I don't feel like Chat can completely automate book creation now. I also think there is some creative direction that Chat can't create on its own.
Does that mean that books won't be written by Chat? No. They already are. This isn't particularly disturbing to me because I've seen folks creating garbage books since Amazon opened the floodgates of self-publishing. You can even pick out these scam books on the charts. Shady folks sell shady stuff to make a buck and then use bots to help game the system. Alas, this is the world we live in. I feel like my audience trusts me to provide a quality product, and the reviews confirm that.
Will Writing A Book Help You?
Thanks for getting this far.
Should you write a book? I get this question a lot.
As a corporate trainer, getting a foot in the door is much easier if you have "written the book on the subject". I know a lot of trainers, and many of them have written books... I wonder why that is? 😉
For more software or data-type folks, should you write a book? Again, if you want to be able to show expertise, this is one (albeit a long one) road to accomplish that task. Having a portfolio project and being able to discuss it in detail would probably accomplish the same for most folks but take much less time.
If you have a large platform or means to promote the book, it can be profitable. Note that this is a long tail game, and the news that you read about is typically the winners with outlier results.
Many just have a "book inside of them" that needs to get out. Just realize that getting it out is a marathon and like most things tech, will probably take two to three times as long as you think it will.
Let me know if you have any questions. I'm at @__mharrison__.
(Chat did not write this post.)