Plan the communications including
Download
Report
Transcript Plan the communications including
Do’s and Don’ts When Creating
Your CRM Systems Architecture
Jonas Berlin, Ph. D.
[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:
Customer Experience
The core of all customer
relationship management is
information, analytics, and
business intelligence
CRM
Channels
Batch
Web
Copyright, Jonas Berlin 2002
Call Center
The group/groups in most
organization that have the
primary responsibility for
starting and continuing this
dialog is the marketing group
Analytics
Real-time
The primary goal of CRM is to
create a dialog with the customer
E-Mail
CLM
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
Customer Engagement
Implement
Program
Program Planning
Identify
Opportunity
Measure &
Analyze
Develop
Program
Wrap-Up
The a tracking code can be
used at different levels of
granularity depending on
what needs to be tracked
Copyright, Jonas Berlin 2002
Test
Program
Background: Multi-Wave Marketing Campaigns
Marketers use multi-wave
marketing campaigns to
increase the overall success
If no Response
Remove From
Targeting List
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”
Send Email with
Product Offer A
The decision tree uses some
type of rules engine, and can
evaluate individual customer
information as part of the
branching condition
Copyright, Jonas Berlin 2002
If no Response
Send Reminder
Email
If Response
Make Outbound
Phone Call
If Response
Make Outbound
Phone Call
If Purchase
Send Thanks
Email
If Purchase
Send Thanks
Email
If no Purchase
Inquire about
Need
Overview
• Marketing Background
• Architecture Background
• Best Practices of Marketing Components
• How to Make it Work in Your Enterprise
Copyright, Jonas Berlin 2002
Background: An Architecture Framework
Capture:
•
•
Touch Point Systems
Customer interaction information
Transaction information
Analyze:
•
•
•
•
Measure customer metrics
Segment customers
Measure marketing performance
Identify opportunities for
improvement
Execute
Capture
Plan
Analyze
Plan:
•
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
communications
Execute:
•
Execute the planned
communications whether online,
through email, direct mail, …
Copyright, Jonas Berlin 2002
Background: Front Office vs. Back Office
Touch Point Systems and CRM
Front Office
•Simple logic
•High availability
•High security
•Guaranteed response times
•Fail over
Touch Point Systems
Execute
Capture
Plan
Analyze
CRM Back Office
•Advanced logic
•Lower availability
•Lower security
•No response time guarantees
Copyright, Jonas Berlin 2002
Background: Components and Decoupling
A component is a unit of a software
system with clearly defined
responsibility and interfaces
C2
C1
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
Copyright, Jonas Berlin 2002
C3
C4
C5
Background: Data Based Architectures
Data is copied (replicated) between
different databases and applications as
needed
The data represents the first level of reuse
in enterprise systems
FTP
ETL
Often done using point to point integration
Replication
Software
As long as the process is simple this type of
integration stays manageable
Messaging
Middleware
Often this type of integration results in
business logic being replicated in many
systems
Copyright, Jonas Berlin 2002
Background: Services Based Architectures
Different 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
Copyright, Jonas Berlin 2002
Enterprise Information Portal
(Customization)
Venue Site
Customer Site
Web Application
Catalog
Engine
Catalog Mgmt
Commerce
Engine
Call Center
Application
Personalization
Engine
Internal Site
Community Mgmt
Campaign Mgmt
Reporting
Engine
E-Mail
Engine
Payment
Engine
Session
Engine
Ticketing
Engines
Business Rules
Engine
Data Mart Access
Observation
Data Base
Rule Base
Data Mart
Overview
• Marketing Background
• Architecture Background
• Best Practices of Marketing Components
• How to Make it Work in Your Enterprise
Copyright, Jonas Berlin 2002
Background: An Architecture Framework
Capture:
•
•
Touch Point Systems
Customer interaction information
Transaction information
Analyze:
•
•
•
•
Measure customer metrics
Segment customers
Measure marketing performance
Identify opportunities for
improvement
Execute
Capture
Plan
Analyze
Plan:
•
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
communications
Execute:
•
Execute the planned
communications whether online,
through email, direct mail, …
Copyright, Jonas Berlin 2002
Inmon
Best Practices: Capture: ETL
Kimball
Txn Systems
Format as
Txn System
Shared Data
Warehouses
Staging
Staging
Transformation
Transformation
Warehouse
Normalized
Star
Schemas
End User
Tools
Copyright, Jonas Berlin 2002
Optional
Best Practices: Capture: Observation Server
Call Center
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
123ABC
Web Site
Each of these events is referred to as
an observation
123ABC
In the example to the right the
marketing code is captured together
with one or more transaction keys in
four different observations
Retail Store
Observation
Server
Marketing Automation
123ABC
The information captured may be used
to assemble a complete picture of the
customers behavior as a result of the
marketing campaign
Tracking Code: 123ABC
Copyright, Jonas Berlin 2002
123ABC
Background: An Architecture Framework
Capture:
•
•
Touch Point Systems
Customer interaction information
Transaction information
Analyze:
•
•
•
•
Provide 360 degree customer view
Segment customers
Measure marketing performance
Identify opportunities for
improvement
Execute
Capture
Plan
Analyze
Plan:
•
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
communications
Execute:
•
Execute the planned
communications whether online,
through email, direct mail, …
Copyright, Jonas Berlin 2002
Best Practices: Analyze: Star Schema
Dimension tables represent
dimensions like customer, product,
channel, time, etc.
Customer_Dim
CustomerKey
Fact tables represent events like
purchase, contact, claim, etc.
CustomerIDSystem1
CustomerIDSystem2
Name
Address1
City
State
Synthetic integer keys are are
generated to minimize the physical
size of the fact tables
Order_Fact
CustomerKey (FK)
TimeKey (FK)
StoreKey (FK)
ProductKey (FK)
Time
Hour
Minute
Second
Quantity
PurchasePrice
ItemTotal
Dimension tables may have additional
tables attached to represent rollup
taxonomies
The physical size of a record in a
dimension table is large
Time_Dim
TimeKey
State
StateKey
Product_Dim
ProductKey
Region
RegionKey
StateKey (FK)
The physical size of a record in a fact
table is small
Copyright, Jonas Berlin 2002
Store_Dim
StoreKey
RegionKey (FK)
SKU
ProductIDSystem1
Name
Description
Best Practices: Analyze: Star Schemas
Dimension tables are reused between
multiple fact tables
This reuse makes it possible to join
data in multiple fact tables through
the dimension tables
Campaign
Dimension
Customer
Dimension
Time
Dimension
Product
Dimension
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
Aggregation
and Metrics
Payment
History Fact
Copyright, Jonas Berlin 2002
Claims
History Fact
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
Copyright, Jonas Berlin 2002
Transformation
Segmentation Scores
Response Propensity
X-sell Forecasts
Communication Plan
Segmentation Information
Any customer communication
information created in a
marketing automation tool
should also be treated as data
worth integrating
Staging
Best Practices: Analyze: Reuse of Data Components
Transformation
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
Customer
Dimension
Product
Dimension
Channel
Dimension
Campaign
Dimension
Time
Dimension
Sales Fact
Claims Fact
Billing
Fact
Contact History
Fact
Marketing
Response Fact
Copyright, Jonas Berlin 2002
Background: An Architecture Framework
Capture:
•
•
Touch Point Systems
Customer interaction information
Transaction information
Analyze:
•
•
•
•
Measure customer metrics
Segment customers
Measure marketing performance
Identify opportunities for
improvement
Execute
Capture
Plan
Analyze
Plan:
•
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
communications
Execute:
•
Execute the planned
communications whether online,
through email, direct mail, …
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”
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
Copyright, Jonas Berlin 2002
Customer
List
Ad Hoc
Query Tool
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
Background: An Architecture Framework
Capture:
•
•
Touch Point Systems
Customer interaction information
Transaction information
Analyze:
•
•
•
•
Measure customer metrics
Segment customers
Measure marketing performance
Identify opportunities for
improvement
Execute
Capture
Plan
Analyze
Plan:
•
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
communications
Execute:
•
Execute the planned
communications whether online,
through email, direct mail, …
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
Subscribers
Messaging
Middleware
Touch
Point
System
Touch
Point
System
C1
C2
M1
M3
M2
M4
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
Publisher
Copyright, Jonas Berlin 2002
Campaign
Launcher
Best Practices: Execute: Customer Context
A customer context is the basic information about one customer plus additional
information like recent transactions, preferences, …
P
C
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
Requesting
Touch Point
Systems
Context
Server
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
Contributing
Systems
Copyright, Jonas Berlin 2002
Touch Touch
Point
Point
System System
Best Practices: Execute: Business Rules Systems
A rules engine abstracts business rules out
of an application
Touch Touch
Point
Point
System System
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
Rule
Bases
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
Copyright, Jonas Berlin 2002
Rules
Engine
Context
Server
Contributing
Systems
Background: An Architecture Framework
Capture:
•
•
Touch Point Systems
Customer interaction information
Transaction information
Analyze:
•
•
•
•
Measure customer metrics
Segment customers
Measure marketing performance
Identify opportunities for
improvement
Execute
Capture
Plan
Analyze
Plan:
•
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
communications
Execute:
•
Execute the planned
communications whether online,
through email, direct mail, …
Copyright, Jonas Berlin 2002
Best Practices: Overall Logical Architecture
Mail
Client
Store and Other
Web Properties
Browser
Customer
Event
Landing
Pad
SMTP
Server
Response
Event
Observation
Server
Call
Center
Application
Response
Event
Context
Request
Bulk Distribution of
Launch Information
Email
Broadcaster
Rules
Engine
Context
Access
Profile
Query
Bulk Launch
Interface
Context
Request
Customer
Context
Server
Messaging
Middleware
Access of
Launch Information
ETL Bulk
Data Acquisition
Messaging Data
Acquisition
Analytics
Marketing Automation
Scheduler
Customer
Information
Access
Follow Up Launch
Triggered by
Decision Tree
Launch List
Generator
Cell and Campaign
Hierarchy Manager
Launch
History
List Access
List
Selection
Data
Staging
Data Loading
Mechanism
OLAP &
Reporting
Analysis
Star Schemas
Segmentation
Tool
Segmentation
Model
Generator
Promo Code
Generator
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
Outline
the
Vision
Set
Analysis
Scope
Find
Actors
Inventory
Current
Systems
Create
Logical
Architecture
Identify
Existing
Reusable
Components
Perform
Create
Design of
Implementation
Custom
Architecture
Components
Create
Deployment
Architecture
Create
Implementation
Plan
Copyright, Jonas Berlin 2002
Document
Requirements
Shop for
Tools
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
Channel
Capability
Direct Mail
Retail
Web
Direct Sales
Web
• Online Store
Channel
Reseller
• Other web
Direct Sales
Reseller
Retail
Segment
Capability
Individual
Europe
Segment
Region
Small Business
Large Business
North America
Individual
Small Business
Large Business
Phase 1 Architecture
Region
Phase 2 Architecture
North America
Phase 3 Architecture
Europe
Copyright, Jonas Berlin 2002
Your Solution: Identify the Loops
Identify the customer interaction
scenarios you want to track
Direct
Mail
Decide at what level the
interactions need to be tracked
Email
Decide if the interactions need to
be tracked explicitly (with a
tracking code) or implicitly (by
matching logic on timestamps and
customer ids)
Call
Center
Decide how the tracking codes will
travel through the interaction loops
Marketing
Automation
Store
Decide on what data will be
captured and integrated to “close
the loop”
Data
Mart
Copyright, Jonas Berlin 2002
Your Solution: Finding the Actors
Use 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
Business
Analyst
Customer
Call Center
Operator
Program
Manager
Content
Management
Marketing
Agency
Data Warehouse Enterprise
Manager
Architect
Copyright, Jonas Berlin 2002
Call Center
Manager
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 Requirements
Following a documented process or the
results of a business analysis will
simplify the work of finding the correct
use cases and metric requirements
Identify Opportunity
LaunchCampaign
Marketing Manager
(from LaunchCampaign)
(from Actors)
Develop Program
LaunchCampaign
Marketing Manager
(from Actors)
Having the process documented also
simplifies the review of the overall
requirements
LaunchCell
Test Program
Marketing Manager
(from Actors)
If no documentation is available
consider including at least a light
version of business process
documentation/design
LaunchCampaign
(from LaunchCampaign)
Refine Program
LaunchCampaign
Marketing Manager
(from Actors)
LaunchCell
For each process step identify both the
use cases and analytics requirements
Implement Program
LaunchCampaign
Marketing Manager
(from Actors)
LaunchCell
Measure & Analyze
Marketing Manager
(from Actors)
Wrap Up
Marketing Manager
(from Actors)
Copyright, Jonas Berlin 2002
LaunchCampaign
(from LaunchCampaign)
LaunchCampaign
(from LaunchCampaign)
Example Context Diagram
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.
Customer
Analyst
Segment
Customers
Click on
Email Link
Redeem
Online Offer
Click on
Opt Out
Retrieve
Targeting
Information
Review
Performance
Call Center
Prepare
List
Sub Segment
List
Configure
Cell
Program
Manager
Launch
Cell(s)
A use case defines a
sequence of actions a
system performs that
yields an observable
result of value to a
particular actor.
Create/Update
Decision Tree
Copyright, Jonas Berlin 2002
Prepare
Creative
Content
Management
Your Solution: Logical: Interaction Diagrams
: Offer
Storage
: Collateral/Creative
Storage
3: Retrieve
4: Activate
: Decision Tree
Engine
: Coupon System
2: Retrieve
8: Retrieve
1: Select Cell
7: Feed
: Cell
Storage
9: Create
: Email
Launcher
: Program
Manager
: Link
Generator
10: Notify
5: Retrieve
: Launch
History
6: Generate
: List
Storage
11: Send
12: Record
: SMTP
Server
: Success
List
13: Send
: Bounce
Manager
: Promotion Code
Generator
14: Handle abort failure
: Exceptions
Manager
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
Mail
Client
Store and Other
Web Properties
Observation
Server Adapter
Dialer
Request: http get
Response: redirect
Landing Pad
Opt Out
Event
Landing
Pad
Response
Event
Outcome
Event
SMTP
Server
Response
Event
Offer Cache
Observation
Server
Response
Event
Meta
Data
Email Broadcaster
Observation
Storage
Retrieve
Coupons to
be Mailed
Email
Personalizer
Link Generator
Content
Management
Access Coupon
API
System
Profile
Query
Call Center
Sales
Profile
Query
Bulk Distribution of
Launch Information
Access of
Launch Information
Email
Launcher
Bulk Launch
Interface
<?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>
<?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>
Validated
Observations
Forwarded
Retrieve
Profile
Information
List Preparer
Customer
Context
Server
<?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>
Decision Tree (Rules Engine)
Connect Event
Registration Event
Decision Tree
Engine
Decision Tree
Storage
Decision Tree
Mgmt
Transport
Mechanism
To
Agency
Call Center
Support
External List
Loading Interface
Bounce
Manager
Success
List
Dialing List to Dialer
Callback to Call Center on Pick up
Observation
Server Adapter
<?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>
Observation Server
Observation
Server Adapter
Opt Out
Observation
Server Adapter
Browser
Directory
Services
Offer Information
Access
ETL Bulk
Data Acquisition
Messaging Data
Acquisition
Customer Data
Access
Flat File
Analytics (see Data Architecture)
Marketing Automation
Data
Staging
Follow Up Launch
Triggered by
Decision Tree
Launch List
Generator
Scheduler
Launch
History
Cell and Campaign
Hierarchy Manager
Cell
Storage
List Management
List
Storage
List Access
Target List
Offer
Storage
ListElement
Name
DSid
<?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>
Promo Code
Generator
Legend
Existing
Component
Customers
Component
New
Component
Candidate
Exists
Data
Format
Messaging
ETL
File Transport
DB Access
Copyright, Jonas Berlin 2002
Ad Hoc
Query Tool
Data Loading
Mechanism
OLAP &
Reporting
CLM Data
Warehouse
Segmentation
Engine
Segmentation
Model Generator
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
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
Physical Location 1
Physical Location 2
Touch Point Systems
Touch Point Systems
SW
SW
CRM Services
CRM Services
Context Server
Context Server
WAN
Physical Location 3
ERP
Customer
Datamart
Copyright, Jonas Berlin 2002
Partner
Data
Your Solution: Finally: Delivering Value
Try 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, …)
Copyright, Jonas Berlin 2002
4
3
2
1
Your Solution: Finally: Change Management
Vision
Sense of
Urgency
Willingness
to Change
Capability
to Change
Action Plans/
Rewards
Successful Change
The process can break down if any of these five are not in place.
Copyright, Jonas Berlin 2002
Most Important
Do your homework before selecting tools
and making implementation choices
Copyright, Jonas Berlin 2002