How a SQL Query made us $2,838 in 15 minutes
"technical marketing" is becoming redundant.
five years ago i got my first job in tech at ShuttleCloud, a Techstars alumni startup in NYC.
with little knowledge of marketing or technology, i furiously read Inbound by Hubspot founder, Dharmesh Shah, during my 1.5 hour flight from ATL to LGA.
since that first job, i've worked with over 40 venture-backed companies and started 3 myself. (fomo is by far the most successful)
along the way, i picked up a few skills:
having already written at length about the benefits of scraping, today i'd like to highlight a positive outcome we achieved at fomo with SQL -- perhaps the simplest skill to learn from my list above.
in this post i'll share the good, the bad, and the encouragement to try this at your own company.
getting serious about our metrics
fomo has thousands of users, so we ought to know a few things about them.
- which accounts are the most active
- average revenue per user, and CLV
- churn rate
to figure this out, we tried a lot of things: geckoboard, zapier, spreadsheets, and an admin product called forest.
none gave us the full picture of our revenue health, mostly because we have 5 income streams, all with unique price points and terms:
- shopify (they take 20%)
- woocommerce (30%)
- bigcommerce (20%)
- core platform (Stripe fees)
- misc (annual upgrades, promos, etc)
two weeks ago we finally settled on Baremetrics, which now has an open API, and couldn't be happier.
when i looked at our first [normalized] revenue dashboard, one thing in particular stood out -- our customer lifetime value (CLV):
immediately i wondered:
how many inactive customers do we have?
so i ran a SQL query.
here's what i wanted to see:
- active shopify installs
- where we have active API permissions
- with at least 1 purchase in the last 2 months
- but where the store didn't 'accept' our fees
this yielded 105 inactive customers on Shopify.
time: 6 minutes
crafting a pitch
next, i needed a brief email that would compel these shops -- who had already installed our app -- to merely accept our monthly recurring fee.
since fomo is a marketing product, the obvious thing to share is that we "increase sales," but every marketing app makes that claim.
i wanted to be more specific, incorporating actual lift metrics we achieve for real clients.
here's what i wrote:
as you can see, there are some << merge variables >> in there.
to personalize each message at scale, i used the YAMM plugin (free version) which sends 1 by 1 emails from a google spreadsheet.
time: 7 minutes
at this point, i have 105 shops to email and a brief but comprehensive message that reminds them:
- who we are,
- sales details only a privileged app could have,
- specific instructions to take advantage of our offer.
while the paid version of YAMM is only $20 for ~1,000 daily emails, i wanted to field a couple responses and ensure i wasn't sending a bad message to the wrong people.
so, each day i sent 50 messages.
time: 2 minutes
since i filtered the inactive shops by most -> least purchases, the first blast converted a whopping 18% of the stores i emailed.
and this makes sense -- these are stores who can easily afford our app, and may have simply forgotten to finish onboarding.
it's also the case in shopify, that only store owners can authorize charges, while team member accounts can install the apps.
=> activated customers: 9 shops
here i sent 50 more emails to the "bottom rung" of shops. these are stores with < 10 purchases in the last 2 months.
not surprisingly, our conversion rate was much lower: a mere 4%.
=> activated customers: 2 shops
there was no day 3. i had 5 shops left in the queue, but decided against it.
these shops had < 5 purchases in the last 60 days (jan 1 - mar 1, 2017), and i figured it wasn't worth back and forth conversations in the case they asked for a discount, etc.
in total, the 11 shops we activated from a SQL query + plain text email generated 11 * 258 CLV.
running simple queries and sending small batch emails are 2 things every startup marketer should feel comfortable doing.
for us, the results were very high:
==> $2,838 new revenue
at just 15 minutes to execute from start to finish, we can geek out further:
==> $189.20 value generated per minute
i encourage any company whose model incorporates a credit card during signup, to execute an occasional sweep through inactive customers.
at fomo, we're turning this into a monthly script that runs automatically.
room for improvement
after my first day of sending, i got a few confused replies:
this was a bummer, and likely avoidable if i beefed up my query.
in this case, the customer has multiple shops. one of their shops has fomo activated, and the other doesn't.
so while my claim was correct that shop XYZ was inactive, they might have assumed i was emailing them about shop ABC that is active.
lesson: include the specific business you're talking about -- otherwise, risk confusing serial entrepreneurs.
to learn SQL in < 2 hours, i highly recommend this free course by SQL bolt. no signup required.
to learn how to send better emails, you might want to check out my cold email course (shameless plug).