Copyright, Jonas Berlin 2002
Do’s and Don’ts When CreatingYour CRM Systems Architecture
Jonas Berlin, Ph. [email protected]
Copyright, Jonas Berlin 2002
Overview
• Marketing Background• Architecture Background• Best Practices of Marketing Components• How to Make it Work in Your Enterprise
Copyright, Jonas Berlin 2002
Background: Levels of CRM Sophistication
Some of the assumptions:
The core of all customer relationship management is information, analytics, and business intelligence
The primary goal of CRM is to create a dialog with the customer
The group/groups in most organization that have the primary responsibility for starting and continuing this dialog is the marketing group
Analytics
Channels
CRM
Customer Experience
CLM
Bat
ch
Real-tim
eE-M
ail
Web
Call C
enter
Email-M
gmt Call Center
Copyright, Jonas Berlin 2002
Background: Customer Scorecard
• Customer scorecard is the basis for creating your marketing strategy
• The customer scorecard is a set of reports focused on measuring customer behavior and value
• It measures the health of your pool of customers• Contains metrics like “customer lifetime value”,
“customer retention”, “customer acquisition rate”, “customer satisfaction”, sales, etc.
Copyright, Jonas Berlin 2002
Background: Closed Loop Marketing (CLM) Process
Closed loop marketing is the process of measuring the effectiveness of each marketing initiative
Closed loop marketing introduces a scientific “test and learn” approach to marketing
The loop is closed by explicitly measuring the success of the whole customer interaction process
The a tracking code can be used at different levels of granularity depending on what needs to be tracked
Program PlanningCustomer Engagement
Identify Opportunity
TestProgram
Develop Program
Measure &Analyze
ImplementProgram
Wrap-Up
Copyright, Jonas Berlin 2002
Background: Multi-Wave Marketing Campaigns
Marketers use multi-wave marketing campaigns to increase the overall success
In a multi-wave campaign each person is treated according to a “decision tree” or “work plan”
The decision trees can be created by the marketers and then execute “automatically”
The decision tree uses some type of rules engine, and can evaluate individual customer information as part of the branching condition
Send Email withProduct Offer A
If ResponseMake Outbound
Phone Call
If PurchaseSend Thanks
If no ResponseSend Reminder
If no ResponseRemove FromTargeting List
If ResponseMake Outbound
Phone Call
If PurchaseSend Thanks
If no Purchase Inquire about
Need
Copyright, Jonas Berlin 2002
Overview
• Marketing Background• Architecture Background• Best Practices of Marketing Components• How to Make it Work in Your Enterprise
Copyright, Jonas Berlin 2002
Touch Point Systems
Background: An Architecture Framework
Capture:• Customer interaction information• Transaction informationAnalyze:• Measure customer metrics• Segment customers• Measure marketing performance• Identify opportunities for
improvementPlan:• Plan the communications
including– Overall communications plans– Who will receive what offer– What is the follow up offer if the
first one fails– Generate tracking codes for all
communicationsExecute:• Execute the planned
communications whether online, through email, direct mail, …
CaptureExecute
AnalyzePlan
Copyright, Jonas Berlin 2002
Touch Point Systems
Background: Front Office vs. Back Office
Touch Point Systems and CRM Front Office•Simple logic•High availability•High security•Guaranteed response times•Fail over
CRM Back Office•Advanced logic•Lower availability•Lower security•No response time guarantees
CaptureExecute
AnalyzePlan
Copyright, Jonas Berlin 2002
Background: Components and DecouplingA component is a unit of a software system with clearly defined responsibility and interfaces
The specification for a component consists of the interfaces the component supports, and the interfaces it requires to do its job
Minimizing the dependencies between components improves reliability and makes it easier to replace a component
Maximizing the cohesion of the functionality of a component simplifies the implementation, makes the system more understandable, and maximizes the chance of reuse
C1
C5
C3C4
C2
Copyright, Jonas Berlin 2002
Background: Data Based ArchitecturesData is copied (replicated) between different databases and applications as needed
The data represents the first level of reuse in enterprise systems
Often done using point to point integration
As long as the process is simple this type of integration stays manageable
Often this type of integration results in business logic being replicated in many systems
FTP
ETL
MessagingMiddleware
ReplicationSoftware
Copyright, Jonas Berlin 2002
Background: Services Based ArchitecturesDifferent services are provided by various physically instantiated components
Each service is used by multiple clients (callers)
Each client can use multiple services to perform its work
Represents the second level of reuse, both data and some logic is reused between applications
Services based architectures allow for distribution of compute resources on the network
Examples of common services are authentication, name services, file servers, print servers, CRM services, …
Some services can provide information and catalogues of other services
Enterprise Information Portal(Customization)
ReportingEngine
Customer Site
Data Mart AccessTicketingEngines
Business RulesEngine
CatalogEngine
PersonalizationEngine
Data MartData Base
Web Application Catalog Mgmt Community Mgmt Campaign MgmtCall CenterApplication
Rule Base
Venue Site Internal Site
CommerceEngine
SessionEngine
Observation
PaymentEngine
E-MailEngine
Copyright, Jonas Berlin 2002
Overview
• Marketing Background• Architecture Background• Best Practices of Marketing
Components• How to Make it Work in Your Enterprise
Copyright, Jonas Berlin 2002
Touch Point Systems
Background: An Architecture Framework
Capture:• Customer interaction information• Transaction informationAnalyze:• Measure customer metrics• Segment customers• Measure marketing performance• Identify opportunities for
improvementPlan:• Plan the communications
including– Overall communications plans– Who will receive what offer– What is the follow up offer if the
first one fails– Generate tracking codes for all
communicationsExecute:• Execute the planned
communications whether online, through email, direct mail, …
CaptureExecute
AnalyzePlan
Copyright, Jonas Berlin 2002
Best Practices: Capture: ETL
Txn Systems
StarSchemasEnd User
Tools
Staging
Transformation
WarehouseNormalized
Shared DataWarehouses
Staging
Transformation
Inmon Kimball
Format asTxn System Optiona
l
Copyright, Jonas Berlin 2002
Best Practices: Capture: Observation Server
An observation server is a shared service that can be called from several different applications
It captures information about customer behavior and customer events across multiple channels
Each of these events is referred to as an observation
In the example to the right the marketing code is captured together with one or more transaction keys in four different observations
The information captured may be used to assemble a complete picture of the customers behavior as a result of the marketing campaign
123ABC
123ABC
123ABC
123ABC
ObservationServer
Call Center
Web SiteRetail Store
Tracking Code: 123ABC
Marketing Automation
Copyright, Jonas Berlin 2002
Touch Point Systems
Background: An Architecture Framework
Capture:• Customer interaction information• Transaction informationAnalyze:• Provide 360 degree customer view• Segment customers• Measure marketing performance• Identify opportunities for
improvementPlan:• Plan the communications
including– Overall communications plans– Who will receive what offer– What is the follow up offer if the
first one fails– Generate tracking codes for all
communicationsExecute:• Execute the planned
communications whether online, through email, direct mail, …
CaptureExecute
AnalyzePlan
Copyright, Jonas Berlin 2002
Best Practices: Analyze: Star SchemaDimension tables represent dimensions like customer, product, channel, time, etc.
Fact tables represent events like purchase, contact, claim, etc.
Synthetic integer keys are are generated to minimize the physical size of the fact tables
Dimension tables may have additional tables attached to represent rollup taxonomies
The physical size of a record in a dimension table is large
The physical size of a record in a fact table is small
StateStateKey
RegionRegionKey
StateKey (FK)
Order_FactCustomerKey (FK)TimeKey (FK)StoreKey (FK)ProductKey (FK)
QuantityPurchasePriceItemTotal
Store_DimStoreKey
RegionKey (FK)
Product_DimProductKey
SKUProductIDSystem1NameDescription
Time_DimTimeKey
TimeHourMinuteSecond
Customer_DimCustomerKey
CustomerIDSystem1CustomerIDSystem2NameAddress1CityState
Copyright, Jonas Berlin 2002
Best Practices: Analyze: Star SchemasDimension tables are reused between multiple fact tables
This reuse makes it possible to join data in multiple fact tables through the dimension tables
First fact tables containing transaction details are loaded
The transaction details may then be aggregated and transformed into higher level metrics that are then loaded into separate fact tables
CustomerDimension
ProductDimension
CampaignDimension
Claims History Fact
PaymentHistory Fact
TimeDimension
Aggregationand Metrics
Copyright, Jonas Berlin 2002
Best Practices: Analyze: Use of External BI Tools
Any business intelligence created by specialized tools should be treated as data and integrated into the star schema data structures
Any customer communication information created in a marketing automation tool should also be treated as data worth integrating
Staging
Transformation
Segmentation
ScoresResponse PropensityX-sell Forecasts
Comm
unication PlanSegm
entation Inform
ation
Copyright, Jonas Berlin 2002
Best Practices: Analyze: Reuse of Data Components
Once created facts and dimensions should be reused between physical data marts
Each data mart can be constructed from the available facts and dimensions as needed
If a dimension has been designed containing a hierarchy each data mart may be loaded at different levels of the hierarchy
TransformationCustomerDimension
TimeDimension
ProductDimension
ChannelDimensionCampaignDimension
Sales Fact
Claims FactBilling Fact
Contact History Fact
MarketingResponse Fact
Copyright, Jonas Berlin 2002
Touch Point Systems
Background: An Architecture Framework
Capture:• Customer interaction information• Transaction informationAnalyze:• Measure customer metrics• Segment customers• Measure marketing performance• Identify opportunities for
improvementPlan:• Plan the communications
including– Overall communications plans– Who will receive what offer– What is the follow up offer if the
first one fails– Generate tracking codes for all
communicationsExecute:• Execute the planned
communications whether online, through email, direct mail, …
CaptureExecute
AnalyzePlan
Copyright, Jonas Berlin 2002
Best Practices: Plan: Campaign Hierarchy
Marketing initiatives are organized in a hierarchical structure
Metrics (budgets, revenues, costs, …) can be rolled up from one level or the hierarchy to the one above
The lowest level of the campaign hierarchy is the cell or event
The cell has a customer list and is associated with creatives, offers, channels, lists, etc
The act of turning a cell active is referred to as “launching”
Campaign
Program0..n
Creative
Channel Offer
CellTracking Code
0..n
1
1 1..nCustomer
List1..n
1..n
1..n
1 1..n
0..n
0..n
1
1..n
Copyright, Jonas Berlin 2002
Best Practices: Plan: List Selection
The complete 360 customer view should be available to generate customer lists by creating ad hoc queries
This 360 view should include any previous sales and marketing attempt to each customer with the results of these attempts
If a proprietary cube is used to provide the ad hoc query capability make sure that it supports drill through capability down to the individual customer
The target list is normally extracted and imported into a campaign management tool for further processing
Ad HocQuery Tool
CustomerList
Copyright, Jonas Berlin 2002
Best Practices: Plan: Marketing Tracking Codes
• Marketing tracking codes are the tracking codes that are carried through the closed loop to allow measurements of marketing effectiveness
• The codes are normally random numbers that can be used to for lookups of the targeting information
• If possible the codes should be generated at the intersection of customer-offer-cell
• The same type of codes should be used across all types of customer targeting if possible (direct mail, call centers, web, email, …)
Copyright, Jonas Berlin 2002
Touch Point Systems
Background: An Architecture Framework
Capture:• Customer interaction information• Transaction informationAnalyze:• Measure customer metrics• Segment customers• Measure marketing performance• Identify opportunities for
improvementPlan:• Plan the communications
including– Overall communications plans– Who will receive what offer– What is the follow up offer if the
first one fails– Generate tracking codes for all
communicationsExecute:• Execute the planned
communications whether online, through email, direct mail, …
CaptureExecute
AnalyzePlan
Copyright, Jonas Berlin 2002
Best Practices: Execute: Publish Subscribe
When a marketing program is launched the targeting information is published to the middleware
The messaging middleware has a channel (C1) set up for targeting information
Each touch point system that that has the capability to support targeting subscribes to the information
The targeting information is loaded into the touch point systems execution mechanism
Many touch point systems have the execution capability needed as long as the targeting information is loaded
CampaignLauncher
TouchPoint
System
TouchPoint
System
C1 C2M1
M2
M3
M4
Subscribers
Publisher
MessagingMiddleware
Copyright, Jonas Berlin 2002
Best Practices: Execute: Customer ContextA customer context is the basic information about one customer plus additional information like recent transactions, preferences, …
Preference
Contact
OrderItem
Cell
Tracking Code(from Campaign) Offer
(from Campaign)
Customer(from Campaign)
List(from Campaign)
Product
ProductFeature
Channel(from Campaign)
ChannelCost
C P
Copyright, Jonas Berlin 2002
Best Practices: Execute: Customer Context Servers
A context server serves context requests from different systems
Each context is centered around a specific object (customer, product, …)
Several different systems may contribute to each context request, and each one can serve a part of the request
In most implementations a context is sent back to the requesting system in the form of an XML document
Some context server will preload and cache the data needed to serve context requests
TouchPoint
System
RequestingTouch Point
Systems
ContextServer
ContributingSystems
TouchPoint
System
Copyright, Jonas Berlin 2002
Best Practices: Execute: Business Rules SystemsA rules engine abstracts business rules out of an application
A set of rules pertaining to a specific problem domain is referred to as a rule base
Creation and maintenance of the rules (rule base) can be performed by various management tools
Rules like marketing rules that are likely to change a lot over time are the first ones to be candidates for abstraction
Rules engines can be provided with the data necessary to evaluate the rules by the caller, or retrieve it as necessary
RulesEngine
TouchPoint
System
TouchPoint
System
ContextServer
ContributingSystems
RuleBases
Copyright, Jonas Berlin 2002
Touch Point Systems
Background: An Architecture Framework
Capture:• Customer interaction information• Transaction informationAnalyze:• Measure customer metrics• Segment customers• Measure marketing performance• Identify opportunities for
improvementPlan:• Plan the communications
including– Overall communications plans– Who will receive what offer– What is the follow up offer if the
first one fails– Generate tracking codes for all
communicationsExecute:• Execute the planned
communications whether online, through email, direct mail, …
CaptureExecute
AnalyzePlan
Copyright, Jonas Berlin 2002
Best Practices: Overall Logical Architecture
Access ofLaunch Information
RulesEngine
ListSelection
ObservationServer
List Access
EmailBroadcaster
SMTPServer
CustomerContextServer
ContextRequest
MailClient Browser
LandingPad
ContextAccess
Bulk Distribution ofLaunch Information
CustomerEvent
ResponseEvent
Marketing Automation
LaunchHistory
Promo CodeGenerator
Cell and CampaignHierarchy Manager
Launch ListGenerator Data Loading
Mechanism
AnalysisStar Schemas
OLAP &Reporting
SegmentationModel
Generator
SegmentationTool
ResponseEvent
Follow Up LaunchTriggered by
Decision Tree
Store and OtherWeb Properties
DataStaging
Messaging DataAcquisition
ETL BulkData Acquisition
Analytics
CallCenter
Application
MessagingMiddleware
Bulk LaunchInterface
Scheduler
ProfileQuery
ContextRequest
CustomerInformation
Access
Copyright, Jonas Berlin 2002
Overview
• Marketing Background• Architecture Background• Best Practices of Marketing Components• How to Make it Work in Your
Enterprise
Copyright, Jonas Berlin 2002
Your Solution: The Plan
Set Analysis
ScopeFind
Actors Document
Requirements
InventoryCurrentSystems
CreateLogical
Architecture
IdentifyExistingReusable
Components
Shop forTools
Create Implementation
Architecture
Perform Design of
CustomComponents
Create Deployment Architecture
Create Implementation
Plan
Outlinethe
Vision
Copyright, Jonas Berlin 2002
Your Solution: The Vision
• The vision is the highest level of the requirements• It is the main vehicle to communicate the overall intent
of the project• For a CRM system it should describe the view of the
system from both the customer’s and the marketer’s view
• Should describe how the system will work with respect to all marketing channels considered
• A few examples of different marketing scenarios should be included
Copyright, Jonas Berlin 2002
Your Solution: Set the Scope
Phase 1 Architecture
Phase 2 Architecture
Phase 3 Architecture
Cha
nnel
Reg
ion
Segment CapabilityNorth America
Europe
Individual
Sm
all Business
Large Business
Bus
ines
s In
telli
genc
e/A
nal y
tics
Clo
sed
Loop
Mar
ketin
g
CR
M
Retail
Reseller
Direct Sales
Web
ChannelDirect MailWeb
•Online Store•Other web
Direct SalesReseller Retail
CapabilityAnalytics
•Measure•Predict•Optimize
Closed Loop Marketing•Campaign Management•Batch vs Real-time
Customer Relationship Mgmt•Call Center Management•Customer Service•Customer Support
Sales ManagementChannel ManagementProduct MgmtMaster PlanningInformation Resource MgmtSupply Side
•Manufacturing•Fulfillment•Distribution
SegmentIndividualSmall BusinessLarge Business
RegionNorth America
Europe
Copyright, Jonas Berlin 2002
Your Solution: Identify the LoopsIdentify the customer interaction scenarios you want to track
Decide at what level the interactions need to be tracked
Decide if the interactions need to be tracked explicitly (with a tracking code) or implicitly (by matching logic on timestamps and customer ids)
Decide how the tracking codes will travel through the interaction loops
Decide on what data will be captured and integrated to “close the loop”
MarketingAutomation
CallCenter
Store
DataMart
DirectMail
Copyright, Jonas Berlin 2002
Your Solution: Finding the ActorsUse the “loops” and the scope to identify the actors of the system
If available any documentation of the business process will help
Bringing all the actors along in the process of creating the architecture is the most important task
Create a few example marketing scenarios to use to explain the business problem
Use a few examples to explain best practices systems architecture
Customer
ProgramManager
Call CenterOperator
BusinessAnalyst
MarketingAgency
ContentManagement
Data WarehouseManager
Call CenterManager
EnterpriseArchitect
Copyright, Jonas Berlin 2002
Your Solution: Finding the Requirements
• Employ use cases to describe the interaction of the end users with the system– About 20 – 30 use cases is normal in a large CLM system– About 5 – 10 of the use cases will be “architecturally
significant” and help point to the correct architectural solution
– The remaining use cases will help documenting requirements for tools selection and guide any custom development
• Employ table format requirements to describe the business metrics and reporting requirements– A standard survey format works well to identify these
requirements– Metrics you will find relating to the customer, the marketing
process, and basic financials
Copyright, Jonas Berlin 2002
Your Solution: Process to RequirementsFollowing a documented process or the results of a business analysis will simplify the work of finding the correct use cases and metric requirements
Having the process documented also simplifies the review of the overall requirements
If no documentation is available consider including at least a light version of business process documentation/design
For each process step identify both the use cases and analytics requirements
Marketing Manager
(from Actors)
LaunchCampaign
(from LaunchCampaign)
Identify Opportunity
Develop Program
Test Program
Refine Program
Implement Program
Measure & Analyze
Wrap Up
Marketing Manager
(from Actors)
LaunchCampaign
(from LaunchCampaign)
LaunchCampaign
LaunchCell
Marketing Manager
(from Actors)
LaunchCampaign
LaunchCell
Marketing Manager
(from Actors)
Marketing Manager
(from Actors)
LaunchCampaign
(from LaunchCampaign)
Marketing Manager
(from Actors)
LaunchCampaign
(from LaunchCampaign)
LaunchCampaign
LaunchCell
Marketing Manager
(from Actors)
Copyright, Jonas Berlin 2002
Example Context Diagram
Customer
ProgramManager
Call Center
AnalystSegment
Customers
Click onEmail Link
RetrieveTargeting
InformationReview
PerformancePrepare
List
ConfigureCell
LaunchCell(s)
Click onOpt Out
RedeemOnline Offer
Sub SegmentList
ContentManagement
PrepareCreative
Create/UpdateDecision Tree
Context Diagram – Illustrates the relationships between actors and use cases to gain an understanding of who interacts with the system and how the system provides value to the actors.
Actor - Those people or systems that will interact with the system.
A use case defines a sequence of actions a system performs that yields an observable result of value to a particular actor.
Copyright, Jonas Berlin 2002
Your Solution: Logical: Interaction Diagrams
: Program Manager
: Cell Storage
: Promotion Code Generator
: Offer Storage
: Collateral/Creative Storage
: Decision Tree Engine
: List Storage
: Email Launcher
: Link Generator
: Coupon System
: Launch History
: SMTP Server
: Success List
: Bounce Manager
: Exceptions Manager
1: Select Cell
2: Retrieve
3: Retrieve
4: Activate
5: Retrieve
6: Generate
7: Feed
8: Retrieve
9: Create
10: Notify
11: Send12: Record
13: Send
14: Handle abort failure
Copyright, Jonas Berlin 2002
Your Solution: Working out the Logical Architecture
• When creating the logical architecture– Include current systems that are going to be part of the
new system explicitly– Don’t include current systems that may or may not be part
of the new system. Include them as the analysis components
– Use the classes or components that were found using the interaction diagrams
– Try to organize the classes and components in coherent groups that minimizes the interactions between the components
– Keep the architecture framework in mind (capture, analyze, plan, execute)
Copyright, Jonas Berlin 2002
Your Solution: A Logical Architecture Example
Email Broadcaster
List Management
Landing Pad
Access ofLaunch Information
Decision TreeEngine
Decision TreeStorage
Ad HocQuery Tool
ListStorage
ObservationServer
ValidatedObservationsForwarded
List Access
EmailPersonalizer
Link Generator
DirectoryServices
RetrieveCoupons tobe Mailed
SMTPServer
BounceManager
SuccessList
ContentManagement
Customer DataAccess
CustomerContextServer
ProfileQuery
ProfileQuery
MailClient Browser
LandingPad
Request: http getResponse: redirect
Offer Cache
RetrieveProfile
Information Offer InformationAccess
Bulk Distribution ofLaunch Information
OutcomeEvent
ResponseEvent
ResponseEvent
Marketing Automation
LaunchHistory
OfferStorage
CellStorage
Promo CodeGenerator
Cell and CampaignHierarchy Manager
Launch ListGenerator
EmailLauncher
Data LoadingMechanism
CLM DataWarehouse
OLAP &Reporting
SegmentationModel Generator
SegmentationEngine
ResponseEvent
Follow Up LaunchTriggered by
Decision Tree
Call CenterSupport
Observation
Server A
dapter
Store and OtherWeb Properties
ObservationServer Adapter
Opt OutEvent
Opt Out
ObservationServer Adapter
List Preparer
Dialer
Dialing List to DialerCallback to Call Center on Pick up
MetaData
Observation Server
DataStaging
Messaging DataAcquisition
ETL BulkData Acquisition
Analytics (see Data Architecture)
Decision TreeMgmt
Decision Tree (Rules Engine)
Call CenterSales
Observation
Server A
dapter
External ListLoading Interface
ToAgency
Name
Target List
<?xml version="1.0"?><LaunchInfo id=5678><DSid> 1234 </DSid><Offer id=123 date=04/30/01 expires=05/31/01>
<Name> 10% Off Memory</Name><PromoCode>abcd</PromoCode><Script> Read this </Script>
</Offer></LaunchInfo>
DSid
ListElement
<?xml version="1.0"?><Offer id=123 date=04/30/01 expires=05/31/01>
<Name> 10% Off Socks</Name><PromoCode>abcd</PromoCode><URL>http://store.com</URL><Script> Read this </Script>
</Offer>
<?xml version="1.0"?><Observation id=1234 verified="Y"> <Type>Response</Type> <Source>LandingPad</Source> <Interaction>a34ebc</Interaction> <Verb>Click</Verb> <Noun>EmailLink</Noun> <Context> <PromoCode>abcd</PromoCode> <OfferId>123</OfferId> </Context></Observation>
<?xml version="1.0"?><Observation id=1234 verified="N"> <Type>Response</Type> <Source>LandingPad</Source> <Interaction>a34ebc</Interaction> <Verb>Click</Verb> <Noun>EmailLink</Noun> <Context> <PromoCode>abcd</PromoCode> <OfferId>123</OfferId> </Context></Observation>
TransportMechanism
Bulk LaunchInterface
LegendExisting
Component
CustomersComponent
NewComponent
Messaging
ETL
File Transport
DB Access
CandidateExists
DataFormat
ObservationStorage
<?xml version="1.0"?><Launch id='1234'> <Campaign id='3456'> <Program id='6789'> <Cell id='7654'> <Name>G4 Deal</Name> <Offer>Get 5% off the G4</Offer> <Lead id='1234'> <Name>Jonas Berlin</Name> <Phone>617-555-1212</Phone> </Lead> </Cell> </Program> </Campaign></Launch>
Connect EventRegistration Event
CouponSystem
AccessAPI
Flat File
Scheduler
Copyright, Jonas Berlin 2002
Your Solution: Logical: Facts and Dimensions
• Use the reporting requirements gathered from the users• Identify the metrics in each report (totals, sums,
averages, counts, …)• Identify the dimensions in each report (by time, by
product, by channel, by customer, by campaign, …)• Create a logical schema consisting of facts and
dimensions• Try to reuse the facts and dimensions in as large extent
as possible• Raw transactional data should fit into the schema as
well even if not required by any report
Copyright, Jonas Berlin 2002
Your Solution: Logical: Working out the Data Architecture
• Given the logical star schema identify the source system containing the data necessary to populate star schema
• Keep in mind how any data mining and statistical tools will fit into the data architecture
• Consider the different possibilities for data extract, transport, and load
• Consider how data will be accessed and delivered to the various business processes
• For the initial data architecture explicit data mappings are not necessary
Copyright, Jonas Berlin 2002
Your Solution: The Data Architecture Diagram
DirectoryServices
SharedDataandDataWarehouseLayer
ApplicationLayer
CLMAnalyticApplications
MessagingTransport
CLM DataMart
Call Center Online StoreOrder Processing
Predictive modeling andcustomer segmentation
Complete 360 degree viewCustomers and Prospects
ProductRegistration
GlobalSales Data
Product andEvent Registration
ObservationServer
PublicationSubscriptions
Analyticdata sets
OnlineStore
CampaignManagement
Ad hoc QueryList Management
Data Extract andTransport
Logical Analytics Architecture
ETL Process
Transformation and LoadStaging
Data Extract and Transport
Booked, BilledOrders
Segmentation ScoresModel Scores
Data Extract andTransport
Customer WarehousePersonSign on
MarketingLists
ETL ProcessTransformation and Load
StagingData Extract and Transport
ProductRegistrations
CLMDataMart
Observations Opportunites
Campaign MgmtObservationsOpportunities
StandardReports
CustomApplications
Campaign Management
OLAPCubes
Copyright, Jonas Berlin 2002
Your Solution: Implementation: Reuse Current Systems
• First look at current systems to identify any possibilities for reuse
• Consider wrapping current systems using new access technologies to simplify reuse
• Consider designing new interfaces or refactoring current systems to simplify reuse
• When reusing current systems be careful to analyze how systems qualities of the overall system will be impacted
Copyright, Jonas Berlin 2002
Your Solution: Implementation: Shopping for Tools
• Identify components that are candidates for COTS (Commercial Off The Shelf) components
• Consider combinations of components as possible implementation packages
• For each component that will be bought prepare a requirements doc. Sort the requirements into binary (must have) and graded
• As the vendors are invited ask them to concentrate on the functionality and components they are being considered for
• Pay special attention to how the interfaces to the surrounding components will work
Copyright, Jonas Berlin 2002
Your Solution: Implementation: Design for Custom Development
• Perform detail design of interfaces first• Chose the implementation technologies with the overall
solution in mind• Start with the high risk items and create a set of proof
of concepts
Copyright, Jonas Berlin 2002
Your Solution: Deployment: Work out the Physical Architecture
• The deployment architecture outlines how the different components are allocated to different pieces of hardware
• The deployment architecture has a large impact on the reliability and scalability of the overall system; Don’t shortchange it
• Make a concerted effort to separate the CRM front office from the CRM back office
• High systems qualities are expensive. Don’t buy more of it than you have to
• Make sure that high quality components are only loosely coupled to lower quality components
Copyright, Jonas Berlin 2002
Your Solution: Deployment: An Example
ERP CustomerDatamart
PartnerData
Physical Location 1 Physical Location 2
WAN
Physical Location 3
Context Server Context Server
CRM Services CRM Services
Touch Point Systems Touch Point Systems
SWSW
Copyright, Jonas Berlin 2002
Your Solution: Finally: Delivering ValueTry to organize implementation iterations around complete loops
A partial loop does not deliver much value
Identify clearly what types of marketing programs can be supported by each iteration
Try to favor loop that generate easily measurable results (number of customers, revenue lift, …)
1234
Copyright, Jonas Berlin 2002
Vision
Action Plans/Rewards
Capability to Change
Willingness to Change
Sense of Urgency
Successful Change
The process can break down if any of these five are not in place.
Your Solution: Finally: Change Management
Copyright, Jonas Berlin 2002
Most Important
Do your homework before selecting tools and making implementation
choices