June 25, 2014

Online / Retail Dynamics: Creating Nine Segments

Ok, you've made it this far, congrats!

Now, if you don't like geeky math, here's the place where you move on - there's nothing for you to see here. I'll catch up with you another day.

Once I have my variables defined for the past year (or weighted based on the past "x" years), I plug the variables into a Factor Analysis. Here's the SPSS code I used for a recent factor analysis.

FACTOR
  /VARIABLES
  d r visits03 visits10 visits30 visits99
  m00 m01 m02 m03 m04 m05 m06 m07 m08 m09
  m10 m11 m12 m13 m14 m15 m16 m17 m18 m19
  m20 m21 m22 m23 m24 m25
  price
  cat aff ema nat pai ref soc
  /MISSING LISTWISE
  /ANALYSIS
  d r visits03 visits10 visits30 visits99
  m00 m01 m02 m03 m04 m05 m06 m07 m08 m09
  m10 m11 m12 m13 m14 m15 m16 m17 m18 m19
  m20 m21 m22 m23 m24 m25
  price
  cat aff ema nat pai ref soc 
  /PRINT INITIAL ROTATION FSCORE
  /CRITERIA FACTORS(02) ITERATE(200)
  /EXTRACTION PC
  /CRITERIA ITERATE(200)
  /ROTATION VARIMAX
  /SAVE REG(ALL)
  /METHOD=CORRELATION.

execute.

There are several variables ... "d" and "r" represent percentage of demand in the direct and retail channels ... visits are categorized (visits03 to visits99), each merchandise category is given a weight that sums to one (listed via the m00 to m25 variables). Average price point is included, and I have weighted variables for catalogs, affiliates, email purchases, natural search, paid search, referrals, and social media.

This analysis yields two factors ... essentially, I am reducing the variability in the dataset down from 30-40 variables to just 2 dimensions.

Next, I create a segmentation variable ... I categorize the 2 dimensions based on the values of the 2 dimensions.

compute seg = 0.
if (fac1_1 lt -0.40) seg = 10.
if (fac1_1 ge -0.40) seg = 20.
if (fac1_1 ge  0.40) seg = 30.
if (fac2_1 lt -0.40) seg = seg + 1.
if (fac2_1 ge -0.40) seg = seg + 2.

if (fac2_1 ge  0.40) seg = seg + 1.

This little bit of code gives me nine segments ... the customer can be low/medium/high for the first factor, and low/medium/high for the second factor.

At this point, each customer belongs to one of nine segments. Now is the time where you drill down into each segment, analyzing the characteristics that yield each segment.


We've got it! We're there! We now have a map that tells us how customer behavior changes across segments. Each segment should be targeted differently. Go make something happen!

This is the process I go through. The variables, of course, are different in each analysis, and quite honestly, there is an art involved in creating actionable variables that yield actionable segments.

Ready for your own, customized Online / Retail Dynamics analysis? Good! Contact me (kevinh@minethatdata.com) and let's get started!!