Annual general update

It’s May. Winter is done now, so it’s time for spring cleaning! In addition to cleaning your living space, Spring is also a good time to clean out the “project plans” and focus on one or two key goals for the summer. This is what I intend to do in this post. Read on to learn about the recent developments, and the strategic plan for Minireference Co. for the coming year.

Continue reading “Annual general update”

Books vs Apps

I just read (actually the computer read it to me) a Business Insider interview with Jeff Bezos in which he talks about book pricing. Specifically, the conversation seems to be about eBooks, but the conversation seems to cover books in general—as a medium.

The most important thing to observe is that books don’t just compete against books. Books compete against people reading blogs and news articles and playing video games and watching TV and going to see movies. Books are the competitive set for leisure time. It takes many hours to read a book. It’s a big commitment. If you narrow your field of view and only think about books competing against books, you make really bad decisions. What we really have to do, if we want a healthy culture of long-form reading, is to make books more accessible.

Part of that is making them less expensive. Books, in my view, are too expensive. Thirty dollars for a book is too expensive. If I’m only competing against other $30 books, then you don’t get there. If you realize that you’re really competing against Candy Crush and everything else, then you start to say, “Gosh, maybe we should really work on reducing friction on long-form reading.” –J.B.

Good point. I never thought of it this way. Books, taken down from their high-horse position as the vehicle of intellectual thought, are forced to deliver the same entertainment-per-dollar value to the consumer.

But that’s a very mechanistic and anti-intellectual way of looking at things, don’t you think? Who said books are for entertainment? Who said delivering the feeling of “information buzz,” commonly associated with news articles and feed-based apps, is the universal goal of all media?

Aren’t books valuable precisely because they are different from the torrent of superficial-level information that is the Internet. Isn’t the main point of a book to summarize and distill information (which is plentiful and free) into a high-value package that earns the reader’s attention, not for it’s entertainment value, but for its quality of insight?

If you ask me, we should optimize for value-per-page (or value-per-unit-of-attention if you prefer) not compete on price with other media. The price of a book should be proportional to the value it brings to the reader. The Internet is an amazing tool that allows anyone to access gigabytes of information on any subject in the click of a button. This abundance of information is actually a problem for readers, as they have to separate the wheat from the chaff. This is where knowledgeable authors come in, whose curation and distillation of ideas brings order to the chaos. When we buy books, we don’t buy ideas, we buy the synthesis of ideas.


In the internet era, almost all of the tools for reading have been reducing the friction of short-form reading. The internet is perfect for delivering three paragraphs to your smartphone. The Kindle is trying to reduce friction for reading a whole book. It’s working. […] We’re making books easier to get, more affordable, more accessible. You are getting more reading. Mostly things have gotten better, and we live in a world where I hope things continue to get better. Surely making reading more affordable is not going to make authors less money. Making reading more affordable is going to make authors more money. –J.B.

Hm. That’s a big step in terms of logic. Bezos’ claim is that lower prices will lead to more readers, which in turn will lead to more revenue for authors. It’s a question of two rates: if the authors’ margins decrease at a rate higher than the rate at which their readership increases, the new publishing paradigm will be a net loss for authors’ bottom line.


Overall, I will qualify the Interview as an advanced-level PR effort to dismiss this summer’s battle between Amazon and Hachette over contol of book pricing, which in turn is tied to the existence of non-amazon sales channels. Amazon’s CEO used this interview as a platform to reiterate the same talking points—that Amazon is out, fighting for better prices on behalf of readers. This is a convenient position when you’re in the business of competing on distribution through economies of scale, and your business model is based on offering the lowest price based on the distributor discount offered by manufacturers and publishers. It’s a neat business model, which attracts customers in troves. It works. Good job. But pretending amazon is doing all this on behalf of the customer is a bit intellectually dishonest. The price on amazon is 10–15% cheaper than anywhere else so that Amazon can maintain and increase its market share, and not some sort of act of robynhoodism.

Survive the exams special

I know many students are currently worried about their upcoming CALCULUS and MECHANICS exams. Are you one of them? If so, don’t worry. Chill. Forget about reading your thick textbooks–I have a better option for you! I wrote a math textbook based on 15 years of tutoring experience.

Contents:

    1. Review of math basics (equations, functions, geometry)
    2. Differential calculus ($\lim$, $f'(x)$, $\max/\min$)
    3. Integral calculus ($\int f(x)dx$, $\sum_i a_i$)
    4. Mechanics ($\vec{F}=m\vec{a}$, $a(t)=x”(t)$, $\vec{p}=m\vec{v}$, $\sum E_i= \sum E_f$, $x(t)=A\sin(\omega t+\phi)$ )

All this in a tiny book you can read in a week. Available in PDF or in print. Checkout the preview and the free tutorials[2,3,4].

Lulu.com has a crazy special on print books this weekend. You can order the No bullshit guide to math and physics for just $19 using coupon code WQT32 (expires Dec 3rd). I’ve also decreased the price of the PDF on gumroad to match the print price.

Trust me on this one, this will be the best twenty bucks you ever spent on your science education.

Book pricing for optimal growth

I had a meeting with a business mentor last week (a McGill professor who has started dozens of companies). He helped me realize the most important thing for the company right now is growth—not margins. The success of Minireference Co. depends on how many students read the book by the end of this year, and by the end of the next. We’ll work on the margins once we have scale.

Below are some observations about book pricing for optimal growth.

Amazon technique

Since I listed the book on amazon.com/.ca/.co.uk/.de/.fr, all the print book sales have gone to them (mostly .com but a bit of .co.uk). Why would you buy the book from lulu.com for \$29 when you can get it from amazon for \$25? People are not stupid, even though I link to lulu.com from the main site, they all go to amazon to check if it’s available and order from there.

To be honest, I think the print quality of the books from lulu.com is superior to the book produced by amazon CreateSpace and IngramSpark. I think lulu.com has been in the “print on demand” business for the longest of the three companies, so they know what they’re doing. The print quality of lulu books is very uniform and crisp, unlike the CreateSpace version which had some pages in darker ink and some in lighter. The main reason why I like lulu.com is because their paper is thinner, which makes the 445pp book actually look much more approachable; we’re talking about a difference of 3-4 mm in overall thickness, but the psychological effects are important.

How can I communicate this difference to my readers? Maybe something like “I recommend you purchase the book through lulu.com, because of the higher print quality and thinner paper” could do. Though is this better print quality worth the \$4 extra, which is really \$10 extra when combined with the shipping. I guess I should tell my readers the facts, and let them decide for themselves.

Ingram channel

The other new channel I’ve been working on is the “serious” distribution to bookstores via Ingram. Printing through IngramSpark makes the book available through all kinds of online distributors (e.g. barnesandnoble.com) and also makes the book available to order from the Ingram catalog, which is how most physical bookstores order their books.

The list price is \$29, and the printing cost are \$6.7, which means there is \$22.3 of “value” to split between me, Ingram, and the bookstore. There are two options for the wholesale discount I can offer 55% wholesale discount (bookstore margin: 35%-40%) or offer 40% wholesale discount (bookstore margin: 20%–30%).

If I provide a wholesale discount of 40% (a.k.a short discount or academic discount), the wholesale price is 17.40, which leaves me with 17.40-6.7 = \$10.7 of profit per book sold.

If instead I offer 55% (industry standard, a.k.a trade discount), the wholesale price will drop to \$13.05, which leaves me with 13.05-6.7 = \$6.35 gains per book sold.

After yesterday’s conversation with my mentor, I’m switching to the 55% discount. Give everyone a cut. We’ll jack-up the prices when everyone is hooked on the knowledge buzz that learning mathematics provides 😉 .

eBook pricing

In parallel to the print book distribution, there is the question of eBook pricing. Both the print book and the eBook version have been \$29. Historically, eBook sales have been very good to me, but ever since the book has appeared on the amazons, the eBook sales have slowed to a trickle. Why would you buy a eBook for \$29 if you can get the print book for \$25?

I’m thinking of dropping the eBook price to \$19. Hopefully this will make more sense for potential customers. Surely the years of effort invested to write the best calculus book there could be is worth a twenty…

Devaluating the book

The other consideration to keep in mind in the face of these price deviations from the old price of \$29 is the psychological effects of “perceived value” of the book. How could this be a good book if it’s just \$25? Mainstream university-level math and physics textbooks cost hundreds of dollars. Specifically, \$190 for precalculus, \$209 for calculus, and \$192 for physics. How can your book cost only a fraction of that and be of comparable quality? No way, I don’t believe it!

I had picked the price \$29 to be as low as possible (looking out for the student’s interest) while still making the book business profitable for me. As the price is dropping below \$29 due to discounts, the situation with the “this book looks suspiciously cheap” problem is getting worse. I might think about bringing the price up to \$39 for the 6th edition, to better communicate the value.

Take home message

There is a general lesson to learn here, which is advice I’ve heard from several successful entrepreneurs, but I never took seriously until now. Price your products for growth not profit. You might lose some money at first, but reaching a wider audience is worth much more than short term profits.

Scaling sales, a quantitative appoach

Yesterday I watched an excellent video tutorial about startup growth tactics by Adora Cheung, a guest lecturer in Sam Altman’s startup class. The speaker has experience from user-testing 13 business ideas so you can tell she knows what she’s talking about. Growth, cohort analysis, and segmentation are all essential tools startup founders should know about.

It made me think about how little analytics I’ve been doing for minireference.com and this blog. What happens when a visitor comes to the homepage? Do they read the whole page? Do they click on any of the questions? Do they download the free PDF tutorials? Most important of all, do they click on one of they Buy links.

Let’s find out…

I previously evaluated the effectiveness of the landing page and found 3-4% conversion rates for the print book and similar rates for the Buy PDF link, and I remember being pleased about those numbers.

These days I see similar numbers: combined Print+PDF conversion is ~= 7.7%.

Looks good right? (Please, ignore the abysmal mobile conversion rates. I’m on bootstrap2 and everything will be fixed when I upgrade to bootstrap3 in a few weeks.)

The problem is many potential readers drop off after clicking through to lulu.com and gumroad.com. I lose contact with my potential customers as soon as they leave my site, so I don’t know how many of them actually bought something. Today I set out to calculate my real conversion rates by cross correlating the data form the google analytics, lulu.com, and gumroad.com.

Burst analysis

My main “marketing channel” is hacker news. Each time I release a new printable PDF tutorials, I post it to HN. It’s an elaborate ploy to gain readers’ trust by gifting them something useful (e.g. a 4-page printable tutorial) and upsell them to buy one of the books. I consider this to be ethical advertisement.

Because of this mono-site marketing strategy, the traffic on minireference.com is generally calm, but every now and then there is a huge spike that occurs when I post something to HN. This bursty nature of the traffic allows us to do a deeper analysis of the conversion rates.

Using google analytics, The visitors, and the two conversions goals are plotted below:

I chose to analyze the events surrounding two bursts of Aug 29th and Oct 3rd. The Aug 29th spike is thanks to the announcement of the
SymPy tutorial on HN.

I was able to calculate the post-minireference.com conversion rate for the print book:

Buy book link --> ordered from lulu: 14%(3/21) on Aug 29 and 10%(3/29) on Oct 3

The post-minireference.com conversion rate for the PDF is:

Buy PDF link --> ordered from gumroad: 33%(3/12) on Aug 29 and 21%(3/14) on Oct 3

Not cool y’all! I better work on this. What do people not like about lulu.com? Is it because they’re not used to it, should I put an Amazon link there?

What are dem visitors doing?

Another question that’s pertinent is how far down the page to users scroll.
We can obtain this information from the graph of scroll-depth events from google analytics (I have some .js the fires events at 0% (baseline), 25%, 50%, and 100% scroll depth.

It’s hard to read anything from that graph, but I’m saving the data for posterity—I want to have something to compare with when I switch to the new landing page…

Does the free tutorial marketing strategy work?

It took me more than a mont of part-time work to write the SymPy tutorial. It’s almost like a little book, since it covers so many topics. I also incurred $90 in copy-editing costs to make sure the writing is solid, since the tutorial was to become an appendix in the book. Was this effort worth it? Let’s see the traffic that resulted.

A total of 10k people downloaded the PDF. I had to use the server logs to get this data, because many people linked directly to the PDF, which means google analytics won’t see these hits. Using zgrep and wc the count the number of lines in the logs that contain the pdf url and HTTP code 200:

  zgrep '"GET /static/tutorials/sympy_tutorial.pdf HTTP/1.1" 200' mr.access.log mr.access.log* | wc
  10058  203840 2369042
  ^^^^^

The initial link to HN pointed to the blog post announcement, so we can see some part of that traffic on the blog:

Ultimately, what is of interest is how much traffic to minireference.com did the SymPy tutorial generate. We see the tutorial led to a spike of about 300 visitors to the main page.

From the numbers we have so far, we can estimate the conversion rate for the referral strategy via free PDF tutorials to be 3% = 300/10000. The SymPy tutorial also led to a “livelying” effect of the traffic in the following days, as can be seen in the graph. Clearly, more people are hearing about minireference.com and coming to check out the site.

The final profit from sales for this spike is \$150 so I’ve recouped the external expenses, and earned a salary of \$60/month, which is not great but still positive. The 3% conversion rate is very interesting, IMHO. I’ll pursue this strategy further, because it has great potential for viral growth—wouldn’t you send a kick-ass PDF tutorial on subject X to your classmates? (caveat: some engineering schools grade “on the curve” so for these students, it is actually game-theoretically disadvantageous to share quality learning material with their peers)

Conclusions and further research

The purpose of this blog post was to reduce the level of guilt I felt about not playing enough with analytics for my web properties. I feel I’ve achieved some level of guilt-diminishment and, more importantly, now I’ve got numbers that I can use as the baseline for comparison with the new homepage. Surely the conversion rates can be improved; the book is great, I just need to have simple messaging that explains how great the book is, and how it is good value-for-money for students, and also good knowledge-buzz-delivered-per-unit-time for adult learners.

Questions to followup on:

  1. How many landing pages do I need? There are essentially three “touching points” with my potential readers. A cold visit to the homepage (e.g. google search), a warm visit to the homepage (via recommendation), a tutorial referral visitor (which is super warm). Will the same marketing message work for all three types of traffic, or should I have three landing pages?
  2. What is the optimal order of the sales pitch? (A/B/../Z-test of section ordering.
  3. Should each book have its own landing page (/noBSmath and /noBSLA) or focus on a single page with two products?
  4. A/B test lulu.com vs amazon.com for the “Buy Book” link.
  5. What channels to develop next?

Okay, enough blogging. Let’s go write some kick-ass marketing copy. And from now on, we’ll be tracking them sales!

Stickers

My friend and former student David Ancor came up with this ingenious strategy for promoting his startup (makeachamp.com): post promotional stickers on lamp posts in public places.

I like this because it is a fairly un-advertised space so people haven’t gotten used to it. In particular, I like the fact that I can place the stickers specifically near the McGill residences to target specifically first-year students. I’ve previously wrote this about the main challenge faced by Minireference Co. right now—reaching my target audience of freshman students.

So here is what I’ll be posting:



I decided not to go for a bit.ly URL because I think showing the full domain is cleaner. It would be nicer to “test” the effectiveness of this strategy, and A/B test different designs, but I find showing the real destination is a respectable towards people.

Also, if you have any ideas about what I should use as the pitch. If you’re a freshman or a freshwoman, what would line of text would convince you to check out this book?

Marketing problem

I have a marketing problem. My company’s product is perfect for an audience of university students (a math textbook that explains concepts clearly, concisely, and affordably), but students can’t recognize the value of the product.

My current readers are of a different audience: the adult technical crowd. These readers have often already taken calculus and mechanics courses in their university days, and can instantly recognize that all the material they learned in class is covered in the book. They’re not alarmed by the short format—in fact they like it because they wouldn’t have the time to go through a mainstream textbook.

The problem

How can we convince first-year university students to buy the book instead of the calculus and mechanics textbooks chosen by their professors?

The trust problem. Who the hell am-I to be teaching these advanced subjects? Isn’t the mainstream textbook written by a professor guaranteed to be better. Professors often have full-hair loss and I have only partial hair-loss so surely professors are much smarter than me?

In all humbleness, I can say that most of my explanations are better than the ones in mainstream textbooks because (1) I’ve experimentally tested each of them with students during 13+ years of private tutoring, (2) the fact that I’m not old is actually a feature—the conversational coverage of the material leads to better engagement.

While good, these points are difficult to get across in marketing copy. Too much explanation is required, tutoring experience, alternate explanations, trial-and-error, explaining of connections between topics, etc. Also I can’t tell you the tone of the writing is different (less formal, more chill), you must see it for yourself.


Already bought the book aspect. Placing myself in the student’s shoes, I will feel like an idiot if I accept that a \$30 book can teach me everything I need to know about mechanics and calculus, but I already bought \$300-worth of textbooks. Since I don’t like to think I’m an idiot, I prefer not to believe the short book is of sufficient quality.


The study guide image problem. By its small size (5.5″x8.5″x400pp) the book resembles study guides like Shaum’s outlines and Cliff’s notes. These are not complete books, but short guides with summaries that complement a regular textbook.


Exam prep book image problem. The “learn quickly, pass the exam” rhetoric in my marketing message is usually associated with exam-prep books, like those for the SAT and GMAT. Instead of complete books focussed on understanding, these books focus on practice problems and rote learning for speed. They are the anti-thesis of what I’m trying to do. How can I convey to my potential readers that I’m not out to exam-prep them, but to teach them to understand the concepts for real. The ability to pass exams with flying colours is just a useful side effect of understanding the material well.

I must find a solution by the end of this summer so I can make a killing when school starts in September. My runway is running out. Do or die—sell or perish, that’s Darwin’s law of natural selection for startups.

Call for proposals

If you can help me solve this problem this summer (2014), I’ll be very grateful, so grateful that I’d be willing to setup a profit-sharing scheme for the sales of Sept-Dec 2014. Get in touch if you think you can help me.

Ghetto CRM

Say you want to extract the names and emails from all the messages under given tag in your gmail. In my case, it’s the 60 readers who took part in the “free PDF if you buy the print version” offer. I’d like to send them an update.

I started clicking around in gmail and compiling the list, but Gmail’s UI is NOT designed for this, you can’t select-text the email field because a popup shows up, and yada yada…. If you’re reading this, you probably got to this post because you have the same problem so I don’t need to explain.

Yes this is horribly repetitive, and yes it can be automated using python:

import imaplib
import email
from email.utils import parseaddr
import getpass


user = raw_input("Enter your GMail username:")
pwd = getpass.getpass("Enter your password: ")

m = imaplib.IMAP4_SSL('imap.gmail.com', 993)    
m.login(user,pwd)    

# see IMAP client
# m
# see tags (i.e. mailboxes) using
# m.list()


# select the desired tag
m.select('miniref/lulureaders', readonly=True)
typ, data = m.search(None, 'ALL')


# build a list of people from (both FROM and TO headers)
people = []
for i in range(1, len(data[0].split(' '))+1 ):
    typ, msg_data = m.fetch(str(i), '(RFC822)')
    for response_part in msg_data:
        if isinstance(response_part, tuple):
            msg = email.message_from_string(response_part[1])
            name1, addr1 = parseaddr( msg['to'] )
            name2, addr2 = parseaddr( msg['from'] )
            d1 = { "name":name1, "email":addr1 }
            d2 = { "name":name2, "email":addr2 }
            people.extend([d1,d2])
            # uncomment below to see wat-a-gwaan-on 
            #for header in [ 'subject', 'to', 'from' ]:
            #    print '%-8s: %s' % (header.upper(), msg[header])
            #print "-"*70

# lots of people, duplicate entries
len(people)

# filter uniq
# awesome trick by gnibbler 
# via http://stackoverflow.com/questions/11092511/python-list-of-unique-dictionaries
people =  {d['email']:d for d in people}.values()     # uniq by email

# just uniques
len(people)

# print as comma separated values for import into mailing list
for reader in people:
    print reader['email'] + ", " + reader['name']
    
# ciao!
m.close()