Friday, October 19, 2012

Infor Epiphany Marketing and Interaction Advisor: Good Examples of B2C Marketing Automation

Epiphany was one of the high-fliers of an earlier marketing automation boom: launched in 1997 with an initial public offering in 1999, it traded stock for a full suite of marketing and CRM systems before its price collapsed. The remains were scooped up in 2005 by SSA Global, which was itself purchased in 2006 by enterprise software vendor Infor. Through all this, the company’s products continued to sell with little change. The crown jewel turned out to be RightPoint, a pioneering real-time interaction manager now called Interaction Advisor.

Infor has recently renewed its commitment to the Epiphany line, increasing investment in the product and its marketing. Recent improvements include a unified interface for inbound and outbound campaigns, tighter integration among its components, greater scalability, support for more channels, and pre-packaged solutions for specific applications. The vendor has integrated with Orbis Global for marketing resource management and has an AppExchange integration with Salesforce.com. A new user interface is planned for next year.

As I noted in yesterday’s post, B2C marketing systems like Epiphany have actually been more popular acquisition targets than B2B products. Since many readers of this blog are unfamiliar with the B2C products, it’s worth taking a detailed look at Epiphany’s components.


Let’s start with the marketing automation product, Infor Epiphany Marketing. This sits on a marketing database built outside of the system; part of the set-up is mapping that to Epiphany. This is already a contrast to B2B marketing automation, where the database is part of the system and structures are largely limited to contacts, accounts, and marketing interactions.

In addition to the external data, Epiphany does maintain its own database of operational components. These are arranged in a standard model including programs, which can contain multiple campaigns, which in turn can have multiple communications (messages) and cells (contact groups). Communications can be shared by multiple cells, and one cell can use multiple communications. Each communication may contain one or more creatives, which are specific bits of marketing content. Campaigns, communications, and cells can all be assigned to output channels.

The model also contains segments (sets of customers or prospects), events (campaign triggers, which can be based on time, channel, behavior, queries, or feeds from external Web services), and packages (sets of campaigns used for Interaction Advisor). Campaigns can be divided into waves, each with its own schedule. The schedules can have a fixed date, recur at fixed intervals (from minutes to weeks), or be triggered by events.

Events can be captured as they happen, but the system still pushes the responses to a queue to batch the replies.  The queue might be cleared as often as each minute for near-real-time messaging such as a purchase confirmation email. It might wait longer for media such as direct mail, where there are significant economies of scale.  Bear in mind that this limit applies only to outbound campaigns: Interaction Advisor provides true real-time response to inbound interactions.

Users can also create global marketing rules that apply across campaigns.  These help to enforce regulatory constraints, such as age restrictions or opt-out compliance, or company policies such as limits on the number of messages within a time period.

The structure I've just described is substantially more complicated than most B2B marketing automation systems. That complexity adds some cost, but it also lets users can more easily manage shared components and analyze results by communication, channel, program, segment, and other groupings. This is hugely important in managing marketing programs with hundreds or thousands of components, a typical B2C requirement.

Epiphany campaigns are set up by assembling segments in a hierarchical tree, splitting them into cells if desired, and assigning a communication to each cell. Rules and segmentations are built with a powerful query builder that can read any data in the system, including transaction details, and supports relative dates, value ranges, events, ranking (e.g. 100 highest-revenue customers), and negatives (e.g., has not bought a specific product). Again, this is typical of B2C systems, while B2B query builders are sometimes more limited.

Beyond campaign management, Epiphany Marketing provides integrated data mining and predictive models; advanced reporting and visualization, including use of report cells as campaign segments; an executive dashboard; global permissions and security management; and the Orbis Global integration for marketing calendars, workflow, digital asset management, and financials. These are rarely available in B2B marketing automation systems, although exceptions exist.

Epiphany Marketing has its own email engine.  It actually supports two kinds of dynamic content.  One is your everyday dynamic content, where rules within the email determine what’s shown to each recipient. The other, which Infor calls “true” dynamic content, can change the contents after a message is delivered. It does this by calling back to Interaction Advisor for a selection based on current information. Neat trick.

On the other hand, Epiphany Marketing currently lacks an end-user tool to build emails or landing pages. This is one feature found in even the mostly lowly B2B systems. But gap exists because Epiphany and other B2C systems were designed primarily for large organizations where content is created by full-time designers or external agencies. Infor plans to add a content builder next year, and other B2C vendors will probably do the same if they haven't already.

So much for Epiphany Marketing. It’s neither the best nor the worst B2C marketing system.  But it’s a good example of what those products provide and how they differ from B2B marketing automation products.

Interaction Advisor, on the other can at least make a plausible claim to leading its industry. With nearly 200 installations, it may well have more clients than any competitor – systems including Oracle Real Time Decisions, IBM Unica Interact, Pega Next-Best-Action Marketing, SAP Real-Time Offer Management, and a host of others.

These systems all work roughly the same way. They connect with external customer-facing platforms, usually Web sites or call centers, which alert them when a customer or prospect starts an interaction. The systems pull information about the customer from the external system and other sources, apply rules and predictive models to recommend a treatment, and send the recommendation back to the customer-facing system for delivery.

The connections with external systems are made through Application Program Interfaces (APIs) provided by those systems, so the interaction managers handle those pretty similarly – although there are some differences in the types of connections they support.  The more important variations are in their internal decision-making process. Specific considerations include the complexity, scope and difficulty of creating rules; the predictive modeling methods and user requirements; and how the system reconciles conflicting priorities in making its final recommendation.


Interaction Advisor handles all these quite nicely. The vendor divides the process into four steps: dynamic profiling (gathering the data); business rules (selecting options to consider); real-time analytics (self-managing predictive models); and arbitration (selecting the best option based on user objectives).


In practice, the process starts with a call from an external system. This could be triggered by a tag embedded in Web page or call center screen. The call contains information about the current customer and the context. It carries the identity of an Interaction Advisor event, which tells the system what campaigns to apply and how many recommendations to return. The system might need several responses to display multiple ads on a Web page or to give a call center agent some choices.

When the call is received, Interaction Advisor creates a session that will remain open until the interaction is complete. It stores the data it received in memory and then queries other systems, such as the company’s marketing database, customer files, and inventory systems, to assemble whatever other data it needs. This is also stored in memory: there is no persistent customer profile within Interaction Advisor although some information generated during the interaction will be stored permanently.

The system then executes the rules, which first activate the specified marketing campaigns and then determine which offers within those campaigns are available to this customer in this situation. (For example, the system might exclude offers within the campaign for products the customer has already purchased or recently rejected.) There might be additional constraints such as ensuring that offers relate to the contents of the originating Web page or don’t include conflicting products.

Once the eligible offers are identified, the system activates its predictive models. Interaction Advisor supports two types of predictions: Bayesian models that estimate the likelihood of the customer responding to one specific offer, and collaborative filtering that identifies offers most commonly selected together. Both are self-generating and self-tuning, so human model-builders are not needed. The Bayesian models do provide reports on which attributes have the most influence on the likelihood score.  These provide useful business insight and let users check that the models are reasonable.  The system keeps a record of offers made and accepted, which is essential for the Bayesian modeling technique.

The final step is arbitration. This looks at the likelihood scores for the eligible offers, the value (revenue or profit) from each offer, and perhaps other considerations such as inventory levels or sales quotas. Users set up arbitration rules depending on their priorities: they might want to make the offer most likely to be accepted, the offer with the highest value, or the offer with the highest expected value (i.e., likelihood x value). One arbitration scheme can apply across multiple events, even if they involve different campaigns and offers.

Once the offers are chosen, the system passes the customer-facing system a content ID that tells it what to display. Interaction Advisor could also store the content internally and send it instead of an ID.  But most users prefer to let the customer-facing system to manage its own content.

The call-and-response cycle just described applies to a single interaction. Interaction Advisor doesn’t execute multi-step dialogs like a call center script or sequence of Web pages. Users could accomplish that indirectly by creating different events that call different rules, or by creating eligibility rules that take into account previous activities. Since sessions remain active for a user-specified period of time, previous events within the sequence are all immediately available. However, sessions are channel-specific, so a customer simultaneously looking at a Web page and talking to a call center agent would have two independent sessions active. At best, the data in those sessions could be shared by posting it to an underlying database. Posting also makes the interaction history available to in the future.

Products like Interaction Advisor often generate substantially more revenue than manual recommendations.  They are priced accordingly: a single-channel Interaction Advisor installation starts around $150,000 and could run much higher. Fees are usually based on the number of users in a call center or sales agent environment, or the number of recommendations or visitors in an automated environment like a Web site. Most clients install InteractionAdvisor on-premise, although hosted options are available.

No comments: