Wednesday, May 11, 2016

Pointillist Journey Orchestration Discovers Customer Paths for Itself (Marketing Automation is Doomed, I Tell You)

This post will resume the tour I started in March of journey orchestration engines – our new friend JOE. But first I’ll interrupt myself to announce that I have officially decided to predict that JOEs will replace campaign management and marketing automation as the core system for marketing departments. I usually hedge my bets with this sort of prediction, but will abandon my typical caution because I’m convinced that campaign management and marketing automation are too deeply rooted in the old world of batch list generation to meet today’s need for continuous optimization of customer treatments. Their core architectures just aren’t up to it.

I’m not saying that JOEs will have no competition.  Plenty of other vendors have the potential to make the transition – in particular, products developed for real time interactions and Web personalization. I am saying the competition won’t come from today’s campaign management and marketing automation leaders.*

Now that I’ve shared this exciting bit of news with you, let’s get back to the topic at hand. That would be Pointillist, a just-released “customer intelligence platform” that has been incubating inside financial services technology vendor Altisource since 2014.

As Pointillist’s self-chosen label suggests, its own roots are in customer data analytics, not execution. Sure enough, the system is built around a custom data structure that (if my notes are accurate) they describe as a “combination graph relational time series”, which certainly sounds like something out of Dr. Who.

Put in terms simple enough for me to understand, Pointillist stores all data as events, which can have  attributes including customers, products and campaigns. Different event types contain different sets of attributes but there are no formal data tables or relationships among tables. This sounds broadly like Hadoop and other NoSQL data stores, although I’m sure there are Important Technical Differences that matter deeply to people care about such things. What matters from a marketer’s perspective is this approach makes it easy to add new types of information and to update information very quickly.

Also as with Hadoop and friends, the Pointillist data store needs some added structure to allow fast access and analysis, and that structure imposes some limitations. Pointillist has optimized for customer analysis, meaning that customer behaviors can be analyzed almost instantly but combining information about customers is harder. For example, it could be tough to find out which products two customers bought in common. All data is stored persistently on a disk somewhere in the Amazon cloud, but accessible data is loaded into memory.  This makes things really quick.

That’s probably more than you care or need to know about Pointillist’s technology. Let’s get back to the surface where things are bright and shiny. What makes Pointillist a journey orchestration engine is that it can describe and act against customer journeys. The acting part is especially important, because it makes Pointillist more than simply an analysis tool.

What Pointillist really does from a user point of view is let you pick sets of customers and events to analyze. Users drag the events onto a workspace and connect them with lines to indicate the sequence to analyze. The system then scans its data to find how many customers had an instance of each event and draws lines whose thickness indicates how many passed customers from one event to the next. In other words, it creates a journey map.

Or, and this is my favorite part, you can tell Pointillist to discover the most important paths on its own.  It does this using magic machine learning to determine which paths have the highest combination of frequency, exclusivity, and correlation to a goal (a user-specified event). Users can adjust the balance among those three factors and can further train the algorithm by telling it which connections they feel are important. Because Pointillist is doing the analysis in memory and considerately visualizes its results, you can  watch it test different connections until it settles on a final set. Hours of fun, for sure.

But there’s more. Pointillist can report on the disposition of people within each event, replacing its icon with a little circle graph showing how many people reached the final goal, moved to the next event (but never reached the goal), dropped out, or stayed behind. It can also display other statistics in graphs next to the flow diagram, as well as letting users analyze subsets of the audience or even a trace the path of a single individual. The analysis can run backwards or forwards, finding either where an initial set of customers ended up or where a final set of customers came from. Heck, that’s weeks of fun when you think about it.

Taking action within Pointillist works exactly as you’d think: for any event on the chart, the system can generate a list of customers that it will send to an external system. The list could include all people in the event or a subset with specified behaviors. When I spoke with Pointillist a few weeks ago, the list would be a file export, but API connections were close to being ready. They’ll probably be done by the time you read this.

Also under development when we spoke was an automated cluster builder that would find clusters most related to (or distant from) the target event. This is different, and often more useful, than traditional clusters that find groups that are similar or distant from each other. Pointillist was also working on letting users create calculated variables, such as a lifetime value or engagement score, that would be available for analysis or segmentation. And on automated tools to help load unstructured data and clean dirty data. And on connectors to push data out to other systems. And on fuzzy matching to supplement the existing, and quite powerful, tools to unify customer data from different sources. Because nobody ever had too much fun.

Speaking of data loading, Pointillist has its own Javascript tag to capture Web behaviors, uses third party connectors to import data from many common systems, and can import batch files from nearly any source. Mapping new event types requires some basic technical skills but Pointillist is working to make it simpler. While APIs to push data to other systems are under development, APIs that let external systems pull data from Pointillist are already available.  These can access customer data but not other data types (remember those special data structures?)

In short, Pointillist both builds a robust, unified customer database and presents exceptional tools to analyze and act on the customer journey. It is the very model of a modern journey orchestrator.

*Nor, to be perfectly clear, am I saying that campaign management and marketing automation systems will go away. They will simply retreat to the execution layer where they will deliver emails and other outbound messages, playing an important role alongside other channel delivery systems like Web sites and call centers. But the fundamental decisions about which messages to send will be made by the orchestration engines.


graphdb said...

hi David, Is pointillist built using a graph database like neo4j? The article is refreshing and interesting! thanks -Kiran

David Raab said...

I believe it's something they created of their own. Am not sure how much detail they're willing to release. I'll ask them to comment on this thread if they want to share.

Will Thiel said...

Hi Kiran. We built our own in-memory, distributed analytics engine from the ground up using Scala. An arduous benchmarking process early on led us to eschew existing database offerings in favor of purpose-built technology. We evaluated neo4j, TitanDB, GraphX/Spark, and a host of other such tools - both popular and obscure. Neo4j and company are awesome tools in their own right, and I would readily recommend each of the above for different types of tasks, but to build Pointillist we needed some very special capabilities in terms of both features and performance. Thanks for your question! -Will (Director, Analytics Technology @ Pointillist)