How to predict email revenue

What qualifies as a “good” prognosis?

You know the weather forecaster’s joke. it’s the only job where you can be wrong 50% of the time and still do well. The truth is, it’s not entirely wrong.

Any qualified forecaster, weather or not, will tell you that a good forecast is not a guess.

It’s a deep understanding of your historical data applied to your plans for the future.

In other words, forecasting is really an exercise in understanding what happened yesterday.

How to forecast SMS and email revenue step by step

When I first started making predictions, I thought it was scary.

In fact, I had a party after I finished my finals in the last math class I ever had to take; as you can imagine, working through spreadsheets is not my jam.

So the good news for you is that if I can do it, you can do it.

Step 1: Track your data accurately.

If good forecasting is an exercise in understanding what happened yesterday, then that is the first step track yesterday’s data correctly.

I personally use Google Analytics to track the data I need for forecasting, so I make sure I correctly apply UTM tags to all my email links. All of them. No link can exist without UTM.

I work mostly in Klaviyo for my clients, which allows you to directly define universal tagging parameters. This is what mine looks like.

klaviyo UTM tracking settings for email revenue forecasting

Note that streams and campaigns are labeled differently. It’s important to separate your burst sends from your automated sends, as the math for each is slightly different.

Step 2: Go to Google Analytics.

Assuming you’ve been running your emails with the correct UTMs for at least 90 days, it’s time to head over to Google Analytics to export the revenue data per individual email to a spreadsheet of your choice. (I use Google Sheets).

To get revenue data for each individual email sent over a period of time, go to “All Campaigns” and then break it down by the “Source” secondary metric. Make sure you set the time period you are interested in. Then click export.

Finding revenue data for your email campaigns within Google Analytics

How to choose an appropriate period?

My default window is 90 days.

However, if the brand I’m working with ships very, very often, I can go down to 30 days.

And if the brand ships infrequently, I can unlock that period 6 months or more.

The main determining factor is the data.

You need 30-60 campaigns to get a representative sample.

It’s not just about choice length period. You have to choose correct time.

That is, the period you are analyzing should be similar to the period you are forecasting in terms of expected website traffic, number of subscribers and website promotion.

Functionally, this means don’t forecast January with November/December data, as the holiday surge forces you to over-forecast. (I often predict January from August or September of the previous year).

Step 3: Clear your data

What you need on your sheet is: email campaign name (or stream email name) and revenue per email.

It really is.

clean up your email revenue data for forecasting

You can see above, I usually leave users, e-commerce and transactions in each email. For example, if an email campaign shows 2 sessions and no revenue, it’s probably a test send and I can delete that data. (And I leave the average out so I can predict for SMS and email on the same sheet).

That said, if you have 2 click direct mail and no earnings, that’s important data for your averages.

I remove all other data.

Step 4: Categorize your email.

Your ultimate goal with this step is to group similar revenue drivers together.

For example, if you find an email announcing a BOGO ad, emails generate 30% less revenue than site-wide advertising messages, mention those two types of emails.

Instead of lumping all ads together, creating a niche tag allows you to more accurately predict upcoming BOGO or site-wide ad mailings.

To accomplish this, first separate your automated sends from your blast sends.

Then for each automated email, label them by flow (Welcome, Abandoned Cart, etc.).

I usually only tag a few top performing streams that I want to track individually, and lump the rest into the “other streams” category.

For one-off email campaigns, categorize by content or segment. This means that you will label the sent promotional content differs from what is sent evergreen the content.

forecasting one-off email campaigns

Otherwise, you don’t want to over-categorize so that only one or two letters appear in each label. At that point, you’re not generating data that shows average performance.

Step 5: Math Time

Don’t worry, if I can do it, you can do it.

For campaigns. Take the total revenue for each category type and divide by the number of submissions. Now you’ve got the average amount of revenue that email in that category gets.

For streams. Take the total revenue from each stream type and divide it by the number of days in the period you are out. And there is the average income that each stream gives you each day.

Step 6: Apply that data for the future.

Once you know your averages, apply them to your campaign calendar for the coming month by categorizing each scheduled send into one of your categories. Then fill in the expected daily income from the streams.

For example, if we know that a BOGO campaign is generating $1,000 per email.

It’s great to see it come out.

There's no problem in the world that can't be solved by throwing money at it (from 30 Rock)

Any last words?

Typically, your first month of forecasting won’t be very accurate, but once you get familiar with your data, you’ll be pretty close.

And for retention marketers, this may be the most important part of email revenue forecasting.

It forces you to get a really clear view of your email content and segment behavior.

My last note. Forecasting is as much art as it is science. I’ve laid out the basics here, but no one knows your audience and shipping better than you. Sometimes you can choose to leave outliers out of the data set, use an outlier, or re-forecast the rest of the month based solely on a single week.

Source link