2002 Apr 02
High End Campaign Management Systems
David M. Raab
DM Review
April 2002 – March 2003
One sure-fire way to insult a software vendor is to say the product is not suitable for “high end” applications. Why this is so offensive is something of a mystery: just as all children cannot be above average, except in Garrison Keillor’s Lake Wobegon, all software cannot be “high end”. Yet the usual vendor response to such an observation is sputtering indignation, followed by a pugnacious challenge to list the required features. The vendor’s hope is that either you will not be able to produce a list or that a point-by-point rebuttal will show the system can indeed do everything needed. If neither hope is fulfilled, the vendor then points to its list of big-name clients, with the implication that if the system is good enough for them then it must be “high end”. But the vendor is rarely able or willing to discuss how these companies actually use the software, so the client list by itself proves nothing at all.

In other words, the only substantive part of the discussion revolves around requirements. Of course, requirements depend on the application: a “high end” call center has different requirements from a “high end” Web server. In the realm of marketing software, one particularly interesting niche is high end campaign management. This refers to outbound promotions with many cells–say, over 100–defined through complex segmentation schemes. These promotions are usually executed through direct mail but sometimes use telephone or email. Users are classic direct marketers like catalog merchants, financial services providers and telecommunications firms.

The first interesting thing about this niche is its size: very small. While just about every marketer needs some form of campaign management, only a few companies have the scale and sophistication to execute high end campaigns. The worldwide market is probably well under 1,000 installations. In the twenty-year history of such systems, the most successful vendors have each topped out at around 100 clients before losing ground to a next-generation competitor.

With so little potential, it’s not clear that a major software firm can justify the cost of developing the features needed to serve the most demanding campaign management customers. And, indeed, the market has traditionally been dominated by small software firms who could make a living on low volume.

But larger firms continue to enter the field: Siebel Systems, E.piphany, NCR Teradata and SAS Institute are some major companies with offerings they position as high end campaign managers. In most cases, the main motivation seems to be supplementing sales of the firm’s primary products rather than selling campaign management by itself. Prestige is also involved–rather like auto companies who buff their image with racing programs, even though most customers never drive at anything approaching race track speeds.

The second interesting thing about this niche is that its boundaries are becoming less distinct. Five years ago, what most vendors called “campaign managers” were feeble creatures that could select one segment at a time and generated only the simplest queries. A single question–could the system generate a random sample?–eliminated most pretenders.

But today even lowly contact managers support multi-segment selects and complex queries. This doesn’t make them suitable for high end campaign management, but it does mean you have to work harder to understand why they are not.

The high end niche also faces encroachment from other directions. Real time interaction management systems, which conduct multi-step dialogues with individual customers, have many of the same features as a high end campaign manager. Indeed, these systems sometimes run traditional outbound campaigns. But the architectural differences required to optimize for real time rather than batch processing make interaction managers a different species of software.

Finally, the features that define a high end campaign manager are themselves continuing to evolve. Today nearly every high end system can generate personalized email and offers some form of tightly integrated statistical modeling. Both features were much less common even one year ago. Additional capabilities, including project management, personalized reporting portals, and company-wide promotion calendars, also seem on their way to becoming standard. Statistical optimization and simulation are on a more distant horizon but getting closer.

So what we have here is a small, blurry and moving target. No wonder defining a high end campaign manager is difficult. But next month we’ll start to give it a try.

* * *

Segmentation Functions. The central purpose of a high end campaign manager is to handle large, complex segmentations. This requires several features.

– nested segment definitions. Typical high end marketing campaigns are built by segmenting a file on several dimensions. These might be the classic recency, frequency and monetary value of catalog marketers, or account types and deposit levels in financial services, or usage and service categories for telecommunications. Any given campaign could use three to ten dimensions, each with multiple categories. These categories may not be mutually exclusive: for example, a customer who had purchased several different products would fall into several categories in a product dimension. The high end campaign manager needs an efficient way to define a separate segment for each combination of dimension values. It also must let the marketer establish a hierarchy among the segments, to determine the assignment of customers who fall into multiple categories. And it needs to let marketers combine categories when quantities become too small to treat separately.

This is usually handled through nested segment definitions. That is, the user defines a set of segments using values from a single dimension. The user then splits each of these segments into more segments based on values for a second dimension. These are in turn split using values from yet another dimension, and so on, until the final combination of values to define each promotion segment is identified. Customers who qualify for one segment are usually excluded from subsequent segments in the same dimension–so if there is a split of shoe buyers followed by dress buyers, all shoe buyers are automatically excluded from the dress buyer segment. But sometimes this sort of duplication is desired, so most high end systems give users an option to allow it.

– complex splitting rules. In most cases, segments are split on very simple criteria such as membership in a specific group (“is a gold customer”) or a mathematical relationship (“account balance greater than $10,000”). Categories such as “gold customer” may themselves be defined through complex calculations done outside the campaign management system and indicated by a code on the customer record. But sometimes the segmentation needs to generate its own complex criteria. One common requirement is related to counting: “customers with more than five electronics purchases in the last six months”, or “customers with more than three savings accounts.” If the same count is used frequently, it can be precalculated and stored on the customer record. But often a marketer will need a particular count–perhaps involving a specific time range or set of products–that was not anticipated. In these cases, the campaign manager must provide an ability for end-users to specify the necessary calculation as part of the segment definition.

Ad hoc counts are just one example of a complex splitting rule. Other types that arise with some regularity include set-based calculations (“purchased any three of the following five products”) and not relationships (“never purchased shoes”). What all these types of queries have in common is that they are difficult to write in SQL. Less frequently needed, but also hard in SQL, are queries involving aggregates (“number of balance inquiries more than 30% above the average for all bronze customers”) and ratios (“number of phone calls in the past month 20% lower than number of calls in the preceding month”). A high end campaign manager provides ways to do these sorts of queries without precalculations or writing Ph.D.-level SQL code, often through prebuilt templates or special query functions.

– sampling and quantity limits. Serious direct marketing programs–the kind that require high end campaign managers–are built around champion-challenger testing. This involves simultaneous execution of alternate marketing approaches and comparing the results. The approaches must run against statistically identical audiences, so any differences in results can be attributed solely to the different approaches. This means the campaign manager must be able to split segments into subsegments through random sampling, which ensures that the subsegments are comparable. True random sampling is sometimes not available, in which case marketers are usually willing to accept “Nth” samples, in which the system takes every second, third, fourth or whatever (“Nth”) record for the sample. Typically the user specifies a target quantity for the sample segment(s) and creates an additional segment to hold any names that are left over. In some cases, though, users specify a percentage allocation and let the system assign to each segment however many records this produces. High end systems allow both approaches.

Although champion-challenger testing is the main reason that high end campaign managers require sampling functions, there are also other reasons to split a segment based on percentages or a maximum quantity. These include requirements to allocate promotions among different products in specified proportions or to limit the quantity to the number of number of mail kits available. Where quantity limits are involved, the user may want a ranked selection–to take the best prospects–rather than a random selection. A high end campaign manager can do the ranking on any user-specified numeric variable or according to a user-specified formula.

– automated value splits. Sometimes a campaign needs separate segments for each value of a particular attribute. Common examples are state codes (important in insurance marketing, where each state gets a different offer due to regulatory differences), bank branches and retail locations. It’s possible to code each of these splits manually, but where there are dozens or hundreds of cells it is much easier to have the system set them up automatically. Marketers may need to combine automated splits with quantity limits and ranking to handle selections such as “top 100 customers per store”.

– names within households. Campaign segments are often defined at the household or business level, but still sent to individuals. A high end campaign manager can select the best individual within a larger entity, while still selecting the entity based on its own attributes. In addition, particularly in business marketing, the system should allow users to specify a maximum number of names per entity, such as three people per business site. The names themselves should be chosen based on user-defined ranking criteria, which ideally include a priority scheme for non-numeric values such as business titles. Some systems can generate titles such as “Chief Financial Officer” or “Homeowner” when actual names are not available.

A note on multi-step campaigns. Classic high end marketing campaigns involve a single promotion that generates direct purchases or leads that are turned over to other channels for follow-up. Thus, high end campaign managers do not necessarily have to support for sequences of promotions within a single campaign. But such sequences are an important objective for many marketers who purchase such systems, so many systems do allow them. Requirements for multi-step campaigns will be discussed later in this series.

Next month’s article will look at functions other than segmentation that are required for a high end campaign manager.

* * *

Other Functions. While sophisticated segmentation is the primary requirement for a high end campaign manager, these systems share other features as well. Most of these functions are related to user convenience and flexibility rather than campaign complexity.

– review selected records. Many systems let users browse the actual records selected for each campaign segment, to ensure the correct customers have been chosen. This review should display both primary customer records and related subsidiary records such as transactions. In addition, the system should generate a statistical profile of records in each segment, to provide another check on selection accuracy. Users should be able to specify the fields displayed in the record review and the statistics provided in the profile: usually they can establish a default view for each, which can be modified in special situations. The reviews must be available before the campaign is actually executed.

– key code generation. Key codes are the IDs assigned to each cell in a campaign. They are often used for response tracking and reporting. Marketers differ widely in how they assign key codes, using anything from random assignment to complex algorithms that embed the campaign, segment, offer and other attributes. High end campaign management systems provide a range of options that let different users apply their preferred techniques. Most maintain a separate table of key codes that can hold additional segment attributes for reporting and analysis, such as costs and forecasted revenues.

– seed management. Marketers often add “seed” records to their files to monitor campaign output and deter unauthorized list. Seeds are used in different ways by different marketers: in some firms, they are top executives who receive all promotions as a way of observing the customer experience; in other cases, they are unique records generated for each campaign and sent to the same address; in still other cases, they are names that belong to an outside monitoring service. Seeds are often added after the campaign manager has generated the basic list, but high end systems provide internal seed management capabilities. These automatically track which seeds are used for which campaign, append identifying codes, and insert the seeds into the output file to make them indistinguishable from actual customers.

– promotion history. The campaign manager should automatically keep track of the promotions are sent to each customer. This generally involves updating a promotion history table when campaign selections are executed. At a minimum, the history record includes customer, campaign and segment IDs. But most users want an option to store additional customer data when the selection is executed. This data will be used for response analysis when the campaign is complete. Saving the data at the time of selection ensures the analyst has an accurate picture of how each customer appeared when the campaign was run, including data that might have changed by the time responses are received. The items required for analysis will vary from campaign to campaign, so the system should let the user choose them during the campaign set-up. But it’s also helpful to have templates of items that are usually included, as well as an option to automatically store all data elements used in the segment definitions.

– response definition. Response analysis is a vital component of campaign management. Keeping a history of who received each promotion is half the job; the other half is identifying who responded. A high end campaign manager gives end-users control over this process by letting them specify the definition of a response while setting up each campaign. This generally involves constructing a query that will select the respondents. Queries can cover both the simple case where responses are identified directly through key codes on transactions and the more difficult case where response must be inferred from behavior. Some systems provide response definition functions that are tailored to specific techniques, such as the common retail practice of crediting a promotion with sales in given date range and product category. High end campaign systems support multiple responses per campaign, representing different response measures or stages in a multi-step sales cycle. They also sometimes allocate responses that might be related to multiple campaigns, to avoid double counting the same transaction.

– budgets and forecasts. High end campaign management systems let users define the costs associated with each promotion cell and assign forecasts of volumes, costs and revenues. Users can enter fixed and variable costs and can link variable costs to different items such as promotion quantity and response quantity. Each type of cost can include multiple elements, corresponding to the specific items (printing, postage, list rental, data processing, etc.) that must be purchased. The system provides templates with standard cost elements and default values for each element, plus an option to add new cost elements for a single promotion.

Volume forecasts are usually entered directly at the cell level. These cover both promotion and response quantities. Some systems can compare forecast to actual selection quantities once a segmentation has been run. When selection quantities are available, high end systems let users specify a response rate for each cell and have the system calculate the response quantity. A few systems use statistical models based on similar past promotions to generate an estimated response rate. This provides a reality check and helps catch errors.

Forecasts are often made separately for individual cells and the promotion as a whole. This allows a preliminary promotion-level estimate at the start of the process, followed later by a more precise cell-by-cell estimate. Revenue forecasts can also be made at promotion and cell levels, and may similarly be either entered as totals or calculated based on a value per response. Some systems let user enter separate figures for gross revenue and profit contribution.

– standard reports. Today’s campaign management systems nearly all run on standard relational databases, meaning users can develop their own custom reports with SQL-based tools like Cognos, Brio or Business Objects. But high end systems still provide substantial packages of prebuilt reports that take advantage of the predefined data structures used to hold campaign and cell information. These include reports to compare champion vs. challenger promotions–which, in turn, requires an ability for users to identify cells as belonging to one or the other category during campaign setup. Other reports compare planned against actual campaign performance, including volume and financial information. Most systems provide additional reports for customer analysis, product sales, and other items not tied quite so closely to campaign management itself.

* * *

To be suitable for a given task, software must of course perform the required functions. But functionality is a slippery thing: many products can perform a given function but do it poorly, either because of technical constraints or an inconvenient user interface. Since high end campaign management systems are, by definition, required to handle the biggest, most complicated campaigns, technical and interface efficiency are themselves core requirements.

– technology. Many early campaign management systems used proprietary database engines, often based on highly efficient inverted data structures. But today’s systems nearly all use standard relational databases with fairly conventional, somewhat denormalized data models. It would seem, then, that all must be roughly equal in their efficiency.

But they are not. Systems vary significantly in the approaches they take to generating the many separate segments needed for a large campaign. The simplest, but least efficient, approach is to generate a separate SQL query against the main database for each segment. This can involve hundreds of complicated queries, each against millions of records. It also requires a subsequent step to remove records that were selected in multiple segments. Unfortunately, some products that are otherwise well suited for high end campaign management do use this approach–with predictably disastrous results. Such systems survive because not all marketers have huge databases or large, complex segmentations. The systems’ limits can also be overcome to some degree through specialized database design and preliminary coding of records outside the campaign manager itself.

Most high end campaign managers use a different approach. Essentially they mirror the nested hierarchy used to design complex segmentations, by generating queries that select each segment from its immediate parent rather than the original universe. This actually involves more queries than the other approach, since each level in the nested hierarchy will require separate queries. It also means the system must create work tables to hold the output of the intermediate selections. But the queries themselves are simpler and run against smaller numbers of records. This approach also lends itself more naturally to random and ranked selections and eliminates most of the problems with duplicate selections of the same record. It is less sensitive than the other method to the structure of the main database, since all selects after the initial query run against work tables.

But even nested approaches can run into problems. These relate largely to complex selections involving groups (“bought any three of these five products”), aggregates (“10% more ATM transactions than the average customer”), not logic (“has no checking account”) and other constructs that are difficult in standard SQL. An alternate approach is to extract the universe, place the records in a flat file, and then process each record outside of SQL. This requires a system that can convert the segmentation tree into appropriate processing scripts in a language like C or Java. Creating such a system is a formidable task, but the result is very flexible and efficient because the programmer is not limited to SQL functions.

This approach basically processes one record at a time, determining its final segment and then moving on to the next. This avoids the inefficiencies of intermediate work tables and inherently prevents placing the same customer in multiple segments. It does add some difficulties to tasks that require an overview of the entire record set, such as random selections to reach a fixed quantity, but developers have found solutions.

Sequential processing somewhat resembles approaches designed to process individual records in real time, as in classic online transaction processing or today’s interaction managers. Indeed, the interaction management systems are sometimes used as campaign management tools. But these systems are optimized for real time processing, often using special data structures for quick access to customer profiles. This makes them less than ideal for the batch processing required in high end outbound campaigns. As with other sub-optimal designs, this approach still may yield acceptable performance when volumes are low or campaigns relatively simple.

– user interface. High end campaign management systems are generally used by a small number of specialists. These are power users who can be counted on to adapt to just about any interface they are given. This makes it tempting to focus on functional capabilities and treat the interface as an insignificant detail. But, as with technology, the user interface of a high end campaign manager must be extremely efficient to handle the volume and complexity of high end campaigns. This imposes specific requirements on the interface design.

The key challenge is dealing effectively with hundreds of segments. This requires being able to see as many cells as possible on the screen, while also showing the nested relationships among the segments that form the cells. Most high end systems achieve this by showing each cell on a single row, often with separate rows for parent segments. The interface may be purely tabular, like a spreadsheet, or use a graphical format similar to the expandable trees that access file folders in Microsoft Windows. Users can generally drill down into a single cell to see details such as key codes, selection rules, costs and quantities. The systems also provide a variety of subsidiary functions to make definition of these details more efficient, such as allowing users to copy settings from one cell or segment to another, having child segments automatically inherit settings from their parent, and letting users save and reuse settings across different campaigns.

Many systems let users display the campaign structure in several alternate formats. In addition to the tabular and tree views, these often include a flow chart used primarily to set up the original nested segments. Such flow charts are probably the most common interface among (non-high end) campaign managers: they are easy to use, make the campaign structure easy to understand, and can include all steps in the campaign process–such as model scoring, wait periods and output generation–as well as segmentation itself. But flow charts become unwieldy when segmentations are very large or complex, so high end campaign managers require an alternative.

The campaign display format is the major special requirement that high end campaign managers impose on the user interface. The interface must also meet general goals for efficiency and ease of use, but these can be achieved with roughly the same solutions as used in other systems. One area that does require close examination is the query generation interface, since high end campaign managers must allow very complex queries. But the key issue with queries is functionality rather than the interface: there are a number of acceptable ways to design a system that can generate complex queries, ranging from flow charts to fill-in-the-blank templates to cell ranges on cross tab tables. As noted earlier, the power users who spend most of their business day working with these systems will learn to do what they need in nearly any interface.

* * *

By definition, high end campaign managers are specialized tools for running complex outbound marketing campaigns. But once a marketing department has acquired such a system, the inevitable desire is to use it for as many things as possible. This saves the cost of buying and implementing additional specialized products. Perhaps more important, it makes it easier to coordinate different types of marketing programs since they all run through the same system. Campaign management software vendors are happy to provide expanded functions, since these justify a higher price for their systems, make it more difficult for customers to switch products, and permit sales to a broader range of users. The disadvantage from the vendor perspective is that adding such features takes effort by their limited development staff. To overcome this obstacle, many campaign management vendors have added non-core functions by incorporating third-party products rather than building their own.

The non-core features can be broadly divided into two categories: features to run additional types of marketing programs, and features to provide supporting and administrative functions.

– email marketing is the most common extension–in fact, it is nearly universal among today’s high end campaign managers. At its simplest, email requires only that the system generate a list of names to feed an external email server. This is well within the capabilities of any campaign manager. But real email support generally extends to the set-up and management of email templates, which include options to insert offers and database variables for personalization. This saves users from integrating a separate email authoring system, and in particular from the chore of mapping that system to the marketing database to make its data elements available for personalization.

Often the email templates can also include logic that selects particular blocks of content based on customer data and, indeed, on other data such as time of day, number of messages already sent in this campaign, or previous responses to a particular offer. While it would be simpler for users if this sort of logic were built with the same query interface used in the rest of the campaign management system, many products are not quite so consistent.

The other capability provided by most email modules is an option to track results by embedding unique IDs in outgoing email and capturing them in customer replies. This can be done in a number of ways, including appending the ID to the reply address, embedding it in the message text, or attaching it to a reply form. Different methods are appropriate for different situations. Email modules also usually provide real time response tracking and capture email-specific information such as bouncebacks and whether messages were opened. Some products provide opt-out functions that let customers request to be excluded from future promotional emails.

– multi-step marketing programs involve a sequence of marketing contacts and customer responses over time. A common example is a sequence of messages sent in response to a product inquiry: often it start with a mail or email message, followed a week or two later by a phone call, and then perhaps additional mail or email messages at monthly intervals. Conceptually this is quite similar to a running several independent outbound campaigns, which any high end campaign manager is set up to do. But smooth operation requires somewhat different mechanics. The key feature is an ability to lay out the entire sequence of contacts at once and then have all steps execute automatically. This implies an automated scheduler that generates the subsequent contacts when they are due. It also implies a user interface that lets users specify the interval between contacts as an explicit attribute–that is, “step B occurs 3 weeks after step A”–rather than simply requiring the user to write a query that includes the interval as one of its terms. Having the interval as an explicit attribute makes it easier to set up the campaign. More important, it makes the interval easily available for display, reporting and analysis. If the interval were buried in a query statement, it would take some very sophisticated parsing for the system to extract the interval for such tasks as generating a calendar of future contacts.

A multi-step system must also let users define branching conditions to react to customer behavior after the initial contact. For example, a lead management program must stop sending the promotions to people after they make a purchase. As with time intervals, this could theoretically be done through independent queries, but is best handled by making the conditions as visible as possible to the user and the system. This is typically done through an interface that lays out the sequence of contacts on a flow chart, with the branching rules displayed separately at each node. The physical selection process also follows this model, extracting the audience for each step from the audience of the prior step. This is vastly more efficient and less error-prone than using independent queries to select each audience from the main database.

In a sophisticated multi-step program, the audience for each step may be divided in a complex segmentation, with each segment receiving a different treatment. Many systems accommodate this by creating separate trees for campaign branches and for segmentation, and then linking one to the other. This approach makes it much easier to see the structure of the multi-step program. Where the same segmentation would apply to each step, it also lets the user create the segmentation just once rather than having to duplicate it many times over.

– real time dialogues represent another extension of conventional outbound campaigns. Like multi-step campaigns, real time dialogues involve a branching sequence of messages and customer replies. But while multi-step campaigns are still generated through batch selections against a customer database, real time dialogues react immediately to a single customer’s actions. This requires a fundamentally different technical approach from batch selections, typically including a data structure optimized for transaction processing and the ability to retain details about the current transaction in memory. The dialog itself is usually set up in a branching tree that looks similar to the trees used for multi-step campaigns. But while trees for multi-step campaigns are usually translated into SQL queries, trees for dialogues are more likely to execute Java scripts or rule engines. Real time dialogues also require tight integration with touchpoint systems such as call centers or Web sites–requiring still another set of technologies that are foreign to conventional multi-step campaigns.

The implication of all these differences is that even though a campaign manager may support both multi-step campaigns and real time dialogues, the internal components to run these functions may be mostly separate. This in turn means that users must evaluate these capabilities independently, since maturity in one area do not necessarily imply maturity in the other. It also means users cannot assume the two sets of functions will be well integrated with each other or with the rest of the campaign management system. In fact, the real time dialogue functions of most high end campaign managers are still relatively immature. This applies particularly to products that are not part of a larger suite that offers real time transaction processing in other areas.

– cross-campaign coordination does not itself enable a campaign manager to support new types of marketing programs, but it does help to manage multiple programs simultaneously. Cross-campaign coordination lets a system select the most important message to deliver to a customer who is eligible for several independent campaigns.

In conventional outbound marketing, this sort of coordination usually involves rules that set the maximum number of messages a customer will receive in a given time period. Such a rule might say that customers will receive no more than one email per week. In practice these rules tend to be fairly complex, with different limits for different media, message types, and customer segments. For example, a company might permit more messages to its most active customers and might limit promotion offers but not customer service messages. It’s important that these rules be automatically applied to all campaigns, rather than requiring the user to explicitly add them as conditions every time a campaign is built.

An ideal system would set these limits based on an independent assessment of the value of each potential message to each individual customer. But such values are hard to calculate, so the more common approach is to assign priorities to the campaigns themselves and specify over-all limits on contact quantities. The system then determines which campaigns each customer is qualified for–usually in a batch process that considers all campaigns–and selects the highest priority campaigns for each customer, up to the specified contact limit. This method has a number of obvious drawbacks, including that the same priority rankings and contact limits may not be correct for all customers and that new, more valuable campaigns may be added after the initial selections are complete. But where more advanced approaches are not available, it is better than nothing.

Systems that manage real time dialogues have a slightly different approach to cross-campaign coordination. Here the goal is not to enforce limits on the total number of contacts, but to choose the most appropriate campaign to execute during a given interaction. The choice of message may be obvious in the midst of a specific dialog, but significant decisions are required in other common situations–for example, when choosing which banner ads to display on a Web page. The general issue is still how to prioritize campaigns, and the same challenge still applies of how to measure the value of specific campaigns to individual customers. Real time systems are likely to calculate these values as a transaction occurs, taking into account the customer’s most recent actions. They often let customers manage additional constraints, such as limiting how many times the same message is displayed, that are not relevant to outbound marketing.

* * *

You might think the purpose of a high end campaign manager is to run high end marketing campaigns. But that’s just what it does, not why people buy it. The real purpose is to make marketers’ jobs easier and give better results. So it makes perfect sense for campaign management software to include supporting and administrative functions that are important to marketers, even if tangential to the campaigns themselves.

– project management capabilities may be the best example. Defining, scheduling and tracking the tasks required to execute a campaign is an administrative function quite separate from performing the tasks themselves. But the most brilliant campaign design is worthless if it isn’t executed because someone forgets to write the copy or print the brochures. Effective marketers therefore pay close attention to project management details. Since most of these details are determined by the features of the campaign, integrating project management with the campaign management saves the effort of synchronizing two separate systems. (The correspondence is not exact, however: while every campaign may spawn a related project, there can also be projects unrelated to a specific campaign.)

The heart of any project manager is the task list. Tasks have a few fundamental characteristics: type, due date, status and person responsible. These are often supplemented with other attributes such as expected and actual labor, duration, costs, associated documents, approvals, and logs of changes over time. In addition to tasks, most project managers maintain lists of resources, including individuals, departments, vendors and even equipment. Some will track the capacity and availability of each resource by time period. This lets them compare capacity to workload and issue warnings if a resource is overextended. For individual resources, systems often maintain contact information such as phone numbers and email addresses, as well as skills and department or work group memberships.

Many systems let users create templates with predefined task lists for different types of projects. The tasks may be linked to predefined task types, which provide default values for cost, labor and duration. Task types may also constrain the resources that can be assigned: for example, requiring that the task of creating a Web page is assigned to a Web developer. Often tasks are initially assigned to a department and then reassigned to individuals by the department head.

Templates often specify the time between each task and the campaign execution date. When a template is associated with a specific campaign, the system converts the intervals into specific dates. Automating the date assignment process is one of the key benefits of integrating campaign planning with project management.

Advanced project management systems often let users specify relationships among tasks, such as requiring one task to be completed before another can begin. This supports sophisticated functions like automated rescheduling and critical path analysis, which determines the minimum time required to complete the entire project. But few marketers need this much power in their project management systems, so the project management functions within campaign management software rarely include such features.

On the other hand, nearly all project managers provide an online interface that lets users view and update their assigned tasks. This provides an important communication channel that can extend beyond tasks to distribute any project-related information. Clicking on a task usually lets the user see more information about the task or the related project, providing an efficient way to access project information. The more powerful systems also store organizational relationships among users, so a manager can see all the work assigned to her staff.

The online interface also lets users update the status of each task, capturing completion date, cost, labor time and comments. Some systems can generate automated communications to notify other users when a task is complete. Most will generate reports or messages to warn managers when tasks are not completed on time. Messages are usually delivered by email, but some systems let the user choose among other channels as well.

Project management greatly expands the number of people involved with a campaign management system. Instead of a handful of power users in marketing and perhaps the IT department, the system now touches anyone with a campaign-related task. Organizationally, this implies a greater need for training and management support. Technically, it has lead nearly all systems to simplify deployment by providing a browser-based interface to view and update task information. This is true even when other functions, such as campaign definition, require installing software on the user’s workstation. Licensing fees similarly tend to differentiate between primary users and those who work only with tasks.

– work flow tracks development and approval of individual objects such as promotion pieces or campaign plans. It resembles project management in identifying tasks, assigning responsibilities, and tracking completion. In fact, simple work flow is sometimes accomplished by setting up “approval” tasks within a project template.

But true work flow goes much further. It includes the ability to define process flows for the objects, to assign roles and authority levels to individuals and functions, to capture and distribute comments, and to incorporate business rules such as requiring a more senior manager to sign off on higher budget projects. Work flow can also be linked with campaign management to ensure that a program is not executed until it has received all the necessary approvals. This can be an important control function in large operations.

Project management and work flow can be integrated by linking work flow approvals to project management tasks. A good system will update the project management automatically when the approval is received in work flow.

– content management also overlaps with work flow and project management, although it is more concerned with creation, storage and access to objects than tracking their status. As with work flow and project management, the content management functions built into campaign management systems tend to be less sophisticated than stand-alone content management software. In fact, most companies with significant content management needs will choose to use a dedicated content management system or to use content management functions built into the operational systems that deliver the content. Recognizing this, many campaign management vendors have chosen to integrate with third-party software rather than build their own content managers. But when the campaign manager itself selects content–such as email templates or customized Web offers–it makes sense to manage that content internally.

The basic function of a content management system is to provide a directory of available content. Systems often attach attributes such as description, approval status and expiration date. Some systems also store additional constraints, such as the geographic areas where an offer is valid or the products that are included. If these attributes are well integrated with the campaign portion of the system, they can be used to ensure the proper content is associated with each campaign segment.

In some cases, the campaign system searches the attributes to select the most appropriate content in a given situation, rather than simply requesting a specific piece of content defined in advance. This sort of search is helpful when there are many items to choose from and when content changes frequently.

Most content management systems limit users’ access to individual items, typically by assigning an individual or department as “owner”. The owner then determines what other users are permitted to do. The more powerful systems also usually record who has made changes, store prior versions, and track which version has been approved for use. Nearly all systems provide an ability to view content. Many provide basic text editors and other content creation tools, with particular focus on drawing information from the marketing database to create personalized messages. But sophisticated content creation is usually done outside of the system.

Content management functions in most campaign management systems are designed primarily to generate personalized online offers, either via email or the Web. This is where close integration with campaign management is most valuable, since there may be no other place to check whether the content required by the campaign is actually available. But content could also refer to direct mail copy, TV ads, call center scripts, or other media.

A few campaign management systems include content management functions to track physical inventory such as printed brochures. The capabilities tend to be fairly limited compared with what’s needed for a serious inventory management system. They are generally aimed at small scale operations where a sophisticated system is not required.

– calendars are ultimately a type of report rather than an independent function. But it can be amazingly difficult for a large marketing organization to pull together a comprehensive view of its activities. As a result, campaign management systems can provide substantial value by delivering integrated promotion calendars.

The calendar features generally can show planned campaigns in several formats. These include a tabular lists, a standard calendar grid, and usually a Gantt chart with horizontal bars indicating start and stop dates. Most systems let users filter the campaigns to be included in the calendar, so they can highlight activity within a specified date range, product line, geographic region, medium, or other campaign attributes. Usually the calendar can viewed on screen and users can click on a given campaign to see the underlying detail. In large installations, security may limit which campaigns a specified user can view.

– portals, like calendars, are more about providing convenient data access than a specific operational function. But portal interfaces are an increasingly important component of campaign management systems, particularly when the scope has expanded to include project management, work flow and other administrative functions. In these situations, many different users apply the system in many different ways. A portal interface can be customized to present each user with only the relevant functions, as well as messages, reports, task lists, and other personal information. Because they are distributed to large numbers of users, portal interfaces tend to be browser-based.

– integrated modeling and optimization represent a final set of non-core functions for a high end campaign manager. Unlike project management and work flow, modeling and optimization are integral parts of the campaigns themselves. They are not classified as core functions simply because most high end marketers continue to execute them outside of the campaign management systems. This reflects the current reality that modeling is done by statistical specialists, who have their own preferred tools, rather than by the marketers who set up the campaigns.

In theory, automated modeling tools could empower marketers to do this work themselves. But the statisticians provide valuable expertise and quality control which makes it unlikely that they will be replaced entirely. It does seem possible that the statisticians will increasingly coexist with automated and marketer-operated modeling functions. This would let companies generate more models in less time, allowing applications that are not currently cost-effective. The statisticians would help to set up and validate the automated modeling systems.

The modeling functions available within today’s high end campaign managers vary widely. The most integrated approach is to let users build models within the campaign manager, reference the models as part of a segment definition, and have the system score individual records as the segments are created. At the other extreme, data is exported to a separate modeling system which builds the model and scores the records. Scores are then posted back to the marketing database and used during segmentation like any other data element. An intermediate approach extracts the data and builds the model externally but imports the scoring formula. Scores are then calculated within the system while the segmentation is run.

Although these examples describe batch-selected outbound campaigns, the same options apply to real time interactions. In fact, it’s quite common to place precalculated model scores on a customer record and use these to guide real time decisions. The obvious disadvantage is that the current interaction itself may reflect a change that makes the score outdated, but in many situations this is not a problem. Real time interactions do permit yet another scenario, in which the scoring formulas themselves are continually modified to reflect new interactions. This lets the models adjust automatically to changes in customer behavior patterns. Such systems must be carefully constrained to avoid errors that would be caught by a human modeler.

The functions used for modeling depend on the approach taken by a particular campaign manager. Systems that rely on external modeling software may provide special options to select data to export, to collapse relational database tables into flat files, and to post scores back to customer records. When model formulas rather than scores are imported, the campaign manager needs to translate external models into formats that its own calculation engine can understand. It may also need to connect model inputs to customer database tables rather than the extract file used for model development. Typically the scoring formulas themselves are registered with system metadata and become available to use in segmentation rules like other data elements.

Systems with internal modeling capabilities may have tools to help select important variables, identify relationships among variables, perform data transformations, execute multiple modeling techniques, and assess model quality. Ease of use and intelligible presentation of results are particularly important for systems designed to be run by non-statisticians.

Optimization uses statistical analysis to pick the best action within multiple constraints. Applications in a campaign management system include picking the best customers for a particular campaign, the best products for a particular customer, or the best combination of campaigns. Typical constraints include marketing budget, profit and sales targets, inventory availability, number of customers, contacts per customer, and channel capacity. The optimization analysis itself usually relies on multiple statistical models to provide inputs.

Only a few campaign management systems currently provide meaningful optimization capabilities. But the number will increase quickly as marketers become more familiar with the benefits and vendors learn how to simplify implementation.

* * *

This series of articles has presented a detailed look at the capabilities of high end campaign management software. To summarize very briefly, the key requirements are an efficient interface for handling hundreds of segments, ability for non-technical users to generate complex selection statements, and support for practical needs such as test/control splits, key codes, seed lists, promotion history, response definition, budgets and reports. Optional but increasingly common functions include: execution of email, real time and multi-step communications; integrated statistical modeling and optimization; and marketing administration including project management, content management, work flow, calendars and portals.

Why spend nearly a year publishing descriptions of these functions? The goal has been to give readers enough information to jump-start the process of building their own list of system requirements. A solid requirement definition is the foundation of any successful system project. It is often the only way to ensure a project is driven by your needs rather than a vendor’s capabilities. Yet companies too often fail to develop a meaningful requirements list before proceeding.

Of course, no generic list of functions will describe your organizations’s needs exactly. The information presented in this series is no more than a basis for discussion with the marketers and other users. One of the few benefits of the current economic slump is that companies are no longer willing to buy new systems without understanding exactly how they will benefit from owning them. So buyers who not so long ago were content to purchase an “industry leading” system–on the theory that it would probably do whatever they eventually found they needed– are now much more interested in defining their precise requirements in advance.

The common result of such an assessment is to discover that you need a high end campaign manager the way I need a Ferrari: not at all, though it would still be fun to have one. Most firms need only some of the features of a high end system, and may have other, special needs that most high end systems lack. These special needs often relate to the peculiarities of their industry: for example, retailers often require response measures based on sales within a specified date range. Every industry has similar quirks. Yours will not necessarily supported by high end campaign managers, most of which were originally designed for financial services marketers.

The most common alternatives to high end campaign managers are the campaign managers built into operational customer management systems, such as call centers and sales automation tools. Traditionally these were simple list generators, but they have become much more sophisticated in recent years. Today the campaign managers provided by Siebel and PeopleSoft are arguably competitive with stand-alone high end campaign managers, although most of those vendors’ sales are still made to customers who use other portions of their systems. The features of a high end campaign manager have now been widely understood–at least within the vendor community–for several years. This means that vendors of other types of customer management systems have had time to add whatever high end features seemed worth the investment. Since the vendors’ primary criterion is the number of customers requesting a feature, their campaign managers should by now meet most marketers’ needs.

With near-parity in features across many products, marketers can look at other requirements such as ease of integration with corporate systems. The campaign manager from an incumbent call center or sales automation vendor has an obvious advantage in this area. But most large firms actually run several different customer contact systems, and campaign managers also exchange data with finance, project management, corporate reporting and other non-customer systems. So even an incumbent will have to integrate with external products.

Non-functional requirements also extend to vendor support and future product enhancements. These can be critical to a successful implementation and long-term return on investment. In a consolidating software market, the continued survival of many campaign management vendors is far from certain. Even vendors who avoid outright failure may be acquired or may cut back staff in ways that hurt their customers. Ironically, some of the small, privately held firms are now more stable than larger firms that issued stock, overexpanded, and are now retrenching. So, as with other parts of the selection process, there is no short cut that lets you avoid case-by-case analysis of each vendor’s situation.

Viability is a particular concern for developers of stand-alone high end campaign managers. As broader-based competitors adopt more high end features, stand-alone vendors who try to remain still more sophisticated find themselves adding features that appeal to an ever-smaller number of super-advanced marketers. This might permit survival but is unlikely to yield much growth. It is why most stand-alone vendors have instead sought to broaden the appeal of their products by adding non-campaign functions such as email and project management.

This movement toward broader product scope is the final reason that high end campaign managers were worth a year of writing. It represents one possible future–where campaign management systems are not specialized tools for outbound marketing, but the hub of the entire enterprise customer management process. Whether that future happens remains to be seen. But it’s worth understanding the systems that do it today, in case you are asked to provide one tomorrow.

* * *

David M. Raab is a Principal at Raab Associates Inc., a consultancy specializing in marketing technology and analytics. He can be reached at draab@raabassociates.com.

Leave a Reply

You must be logged in to post a comment.