August 13, 2009

OMS: Nuts And Bolts, The Algorithm!

I promised some details!

Here's what I like to do. I'll take client data, and create a set of attributes that are of interest to the management team. In the dataset I'm currently working on, here are the attributes:

  • Recency: Months Since Last Purchase.

  • Demand12: Demand Spent In Past 12 Months.

  • Demand99: Demand Spent 13+ Months Ago.

  • Price_Item: Average Price Per Item Purchased.

  • Items_Order: Average Number Of Items Per Order.

  • 24 Channel Attributes: This business has twelve purchase channels (i.e. paid search, affiliates, etc.). I create 1/0 (1=yes, 0=no) indicators that tell if the customer purchased from that channel in the past 12 months, and if the customer ever purchased from that channel 13+ months ago. Dollar values can also be used instead of 1/0 indicators.

  • 16 Merchandise Attributes: This business has eight tabs, if you will, across the top of the homepage, representing eight merchandise divisions. I create 1/0 (1=yes, 0=no) indicators that tell if the customer purchased from that merchandise division in the past 12 months, and if the customer ever purchased from that channel 13+ months ago. Dollar values can alos be used instead of 1/0 indicators.

So, this dataset has 45 variables, one row per customer. The file contains data through today.

Next, I need to reduce the dimensionality of the database. There's literally an infinite number of ways to combine the 45 variables, right? Somebody could have last purchased 1 month ago, spending $64.95, whereas another customer could have last purchased 1 month ago, spending $61.95.

I do this via a combination of Logistic Regression (Response), Ordinary Least Squares Regression (Spend), and "Factor Analysis" (Merchandise and Channels). Yes, I realize this is geeky.

The combination of Logistic Regression, Ordinary Least Squares Regression, and Factor Analysis result in a series of "strategic segments". Each segment is a combination of customer quality, channel preference, and merchandise preference. Some of the segments are very responsive, some are not responsive. Some buy from all merchandise divisions, some only buy from one merchandise division, and have a specific channel preference.

For smaller companies, I limit the number of segments to 100 or less. For bigger companies, I'll use 1,000 or more segments ... it all depends upon how many customers end up in each segment.

Once I determine what segment a customer resides in, I create a brand new dataset, replicating every variable for every customer as the customer looked exactly one year earlier (in social media, you might use a week timeframe instead of the yearly timeframe we use in e-commerce). I create the same segmentation strategy, and assign a segment id to each customer based on the way the customer looked last year.

Now each customer is assigned to a segment from one year ago, and a segment today. I aggregate this dataset down to every last-year / this-year segment combination (100 x 100 = 10,000 segment combinations). When simulated over five years, there ends up being 100 x 100 x 100 x 100 x 100 = lots of combinations!

Once I have the 10,000 segment combinations, I can take a sample customer (i.e. first time buyer purchasing an iPod via paid search), and simulate how that customer will migrate and evolve over the next five years. I can see what merchandise that customer will buy in the future, I can see the channels the customer will purchase from in the future, and I can calculate the incremental demand and profit the customer will generate.

Best of all, I can compare this customer vs. any other customer, to see how customers will evolve. Will a paid search iPod buyer evolve differently from an e-mail inkjet printer buyer? Will either customer use a retail channel in the future? Am I unwittingly altering the future trajectory of my business by optimizing for inexpensive keywords?

These are the problems that CEOs are asking me to solve for them, problems not easily answered by a typical Web Analytics toolset.

At a 30,000 foot level, that's the nuts and bolts behind the Online Marketing Simulation (OMS) that I've developed.

As we work through future examples, consider the following questions:

  1. Can my Web Analytics software tool do this analysis?

  2. Can my Web Analytics analyst do this analysis for me?

  3. Can my Web Analytics software vendor do this analysis for me?

  4. Can the leading Web Analytics consultants / bloggers do this analysis for me?

If the answer to each question is "no", then the Online Marketing Simulation (OMS) is something you'll want to investigate.