Thursday, June 07, 2007

All Change at SPSS!

As an ex-SPSSer of many years I do like to follow the fortunes of the company. It has a very interesting history (one of the oldest in software) and still has some bleeding edge technology
however it does seem to have misfortune when plotting its strategic goals. (SPSS bought NetGenesis at the peak of the dot com boom for any of you web analysts how don't know who they are. What? You've never heard of Net Genesis, hmm it has gone quiet hasn't it....)

Anyway, big changes there, according to yahoo Jon Otterstatter and John Shap have left. These are two key figures in recent SPSS history, Otterstatter being given very nice package and role after the "interesting" takeover of Showcase (large amount of shares that I assume he still owns) . Internally, it was largely assumed Otterstatter was CEO in waiting - well I guess he's not waiting more more. John Shap was a bullish head of sales who pulled SPSS sales into shape (somewhat at the cost of the services organisation) but certainly someone who shook things up.

Between them, these two C-level execs dramatically changed the landscape of SPSS internally and its interesting these two strong figures have now left. This leaves long standing CEO Jack Noonan to lead with a new set of supporters - I do wonder where this will take them next.

Wednesday, June 06, 2007

Netflix and Recommendation engines


Given I was talking about recommendation engines I should really mention one of the most interesting of the moment . This is a big prize where academic and small start ups attempt to beat the internal teams recommendations. I mention those to groups as the larger companies are most likely not paying any attention as the prize involves handing over all methodology to Netflix, something the larger companies would like to keep for themselves thank you very much. (a million dollars isnt worth SAS giving away their trade secrets).

The problem with the way netflix set this up is that it's all about horsepower, its all about trying to show that netflix can be outscored with some tremendous algorithm, however what I suspect the competitors are finding is that much like most data mining situations, its not the power of your algorithm, more your understanding of the industry and hence the underlying data. There will be very little between many of the main algorithms, certainly not the 10% Netflix is looking for, it all comes from knowing the area. I think this is what the comment “One of the reasons of our current leading position is that we keep on trying to implement new tricks and ideas, and a reasonable portion of them works” really alludes to.

What will happen is that the solution will probably be one very fine tuned for Netflix (good for them) but that it isnt totally translatable and marketable to other industries. However I'm sure whatever architecture they come up with will indeed be a good starting point and I think its really good Netflix have open this up.

Why does anyone need a recommendation engine?

Well in Netflix case its all about making sure people select products and as many as possible - making sure the recommendation precedes a selection at all costs (in the case of Netflix I bet I could get 70% of there score by clever customer segmentation and only 50 of all of their products - but I've not done this so you can chose to ignore what I say on the basis I'm an armchair analyst)

Is this the only goal of a recommendation engine?

Not really. Something like a public services broadcaster should not ultimately be about maximum purchases but about delivering appropriate selections that open up the various offerings to a previously unknowing general public. Particularly in the days of the long tail and thousands of products, it can be about making people aware of what you offer. This is done in conjunction with your regular campaigns to make sure you dont lose the business of people unwilling to take a chance but that those that like a varied mix are dealt with accordingly. In doing this a company would take a hit immediately on the netflix score but over the course of time gain the trust of customers who will eventually pay them back several times over.

How do you go about making recommendations?

Well traditionally there are five different ways I'm used to doing it, although I'd love to know more.

Business Rules - you tell the customer what they want and what you are prepared to give them based on business knowledge and current strategy.

Counting - you find out what is most commonly purchased with the other products bought by a customer

Predictive algorithms - you say "what are the characteristics that define a person who buys this product" and then score all the products against each other.

Customer Segmentation - the customer looks like they belong to group X. We know that X's most like children's movies

Trending/Time series - "we know that action movies sell better on fridays whereas cerebral offerings tend to be earlier in the week"

Sequences - Hmm. A person has bought the first 4 series of "24", I wonder what they'll want...

What factors influence these approaches?

Trigger events - "we know loads of people seem to get romantic movies around mid february"

Discounts - People love discounts

Whos buying - People dont always buy for themselves.

Service levels - not point in recommending stuff thats out of stock, takes time to deliver or even costs more than a person would likely pay.

Current Behaviour - often called Scenarios by a lot of people nowadays. If a person is looking at horror movies, even if they have a high propensity for fluffy romantic numbers based on previous behaviour, its probably best you stick to recommending the horror genre.

Its a new product! - I have no data, how do I recommend it!

So how does all this come together?

Well thats an interesting point, more often than not, one approach will get selected and then optimised and squeezed until it reaches a plateau, few vendors have the time to invest on a complex architecture. I am a great believer in Ockham's razor and as such selecting one approach that has clear feedback to a business on how it works is in line with a lot of my thinking.

In fact, one of the main points that suspect will be missed by this scoring competition - any business needs to understand why something gets recommended so it can plan and structure itself to meet these needs better - a black box is good in the short term, bad in the longer and the better something gets at predicting activity, the more specialised and harder to understand it becomes.

However, acknowledging Ockham's Razor, I think that one of the main things with producing a good recommendation engine is to have a combination of all approaches (each has weakness in different areas that I'll go into at another post) so that the system can be adjusted to reflect the way a customer does business - for instance, trigger points will have different impacts in different business, current behaviour will also be more relevant in some than others., in some industries trends will be more prevalent.

As I highlighted to begin with the goal of the engine may be different, and within the same organisation it could be to push the top ten products in one channel, but to be more exploratory in another - and as long as the engine can provide feedback on the cost of those decision to the business this can then alter strategy going forwards.

Why am I interested? well it is fascinating stuff and it has potential for so many areas. Anywhere where recommendations or advice can be offered could stand to benefit from greater expertise in this area. For my own part I'm looking at content and product delivery on websites currently, but it certainly doesnt stop there.

Anyway, enough for today. ttfn.

NB. I think I need more pictures, this is a horrid wall of text....

Sunday, June 03, 2007

Guh, Enough about A/B testing already..

Sorry, I cant stay away from it. I've seen a few articles over the years, this one is still one of of my favourites by a chap called John Quarto-von Tivadar. Very technical, but to me it gets many point across quite clearly.

I like a/b or Multivariate testing. I enjoy the fact its brought a feeling of scientific methodolgy into developing websites.

The 2 main problems for me has always been that

a) It only works for the average customer - you may be able to increase revenue through testing butit always work on the basis you have one type of customer (or customers all centred around one type of behaviour) - you have to set the test up very cleverly to be able to understand why different customer segments work in different ways.

b) You cant polish a turd - If a design is bad, small incremental modification is not going to make the great leaps you require - how do you get great leaps? combinations of usability studies, common & business sense, understanding what your customer wants and seeing what your customer does.

When I look at the way the mainstream vendor technology has changed over the years, its interesting to note evolution in this area. I do think its worth highlighting that these testing techniques was snapped up by the traditional web vendors, those whose software only really analysed per page, and not per customer (ie. the data is generally very OLAP-y and only structured for reporting in certain dimensions to be drilled into rather than on a complete customer usage basis). There is a world of clever statistics and data mining that has been left behind, even though some vendors talk the data mining / analysis talk most of their tools do not have data architectures that would support smarter, cleverer, customer centric view needed to move on. Not only that, apart from multivariate testing, most vendors have no clear way of deploying and making a difference with all those lovely metrics they provide you with, let alone any that are provided by fancy analytics. There is, for me, a clear gap in the building of applications in this area.

I think I may elaborate this in the next post. One of the current hot topics that I have some experience in is recommendation engines. These have previously been based on things either too black-boxy or without the fundamental emphasis on feedback on the calculations they perform to help and aid a user make their business better - algorithms and applications are great, but without providing feedback on how they work, its like entrusting your business to an idiot savant, pretty impressive at somethings but not something that copes with a lot of variety.

Also they are usually pretty limited dimensionally - what's the products bought, what's the products seen - not usually much of a concept on customer segment, customer actions - What they need is an architecture that combines the clever counting most current recommendations engines do with some insight into customer behaviour and business segments, and then a healthy understanding of the risk and impact of offering any one product over any other. This is not easy, because you'll have many different things impacting on the final recommendation, an application has to take on board the risk level the business is prepared to accept - but for me the most important thing is feedback its success in as clear a manner as possible. To make things more complicated there then has to be a layer on top of all this which is business rules required (to push stock, react to triggers not captured in models, reacting to new circumstances) but again, the business has to see the impact of the rules they deploy.

Actually, I'll stop there, this has already go on too long - I'll pick up with this another time as I reckon I'm going a bit off topic for what I planned to be a quick post. Toodle-loo.

Footer

Add to Technorati Favorites