Today, companies are using various channels to communicate with their customers. As a consequence, a lot of data is created, more and more also outside of the traditional IT infrastructure of an enterprise. This data often does not have a common format and they are continuously created with ever increasing volume. With Internet of Things (IoT) and their sensors, the volume as well as the velocity of data just gets more extreme.
To achieve a complete and consistent view of a customer, all these customer-related information has to be included in a 360 degree view in a real-time or near-real-time fashion. By that, the Customer Hub will become the Customer Event Hub. It constantly shows the actual view of a customer over all his interaction channels and provides an enterprise the basis for a substantial and effective customer relation.
In this presentation the value of such a platform is shown and how it can be implemented using DataStax Enterprise as the backend.
2. Guido Schmutz
Working at Trivadis for more than 20 years
Oracle ACE Director for Fusion Middleware and SOA
Consultant, Trainer Software Architect for Java, Oracle, SOA and
Big Data / Fast Data
Head of Trivadis Architecture Board
Technology Manager @ Trivadis
More than 30 years of software development experience
Contact: guido.schmutz@trivadis.com
Blog: http://guidoschmutz.wordpress.com
Slideshare: http://www.slideshare.net/gschmutz
Twitter: gschmutz
2
6. Why Customer 360° View?
“Get closer than ever to your
customers. So close that you tell
them what they need well before
they realize it themselves.”
Steve Jobs, Apple
q Enhance customer service
q Provides real-time personalization
q Opens doors to new applications
q Increases security
q Lowers operational costs
q Increases operational efficiency
6
8. “The Amazon effect” – why can’t I do .... as easy as
buying a product on Amazon
8
Each time a customer is exposed to an improved digital experience,
their engagement expectations are reset to a new higher level.
Source: Forrester
9. Customer 360°: Experience Expectations
Consistent
Across all channels, brands
and devices
Personalized
To reflect preferences and
aspiration
Relevant
In the moment to customer’s
needs and expectations
Contextualized
To present location and
circumstances
9
10. Customer 360 – Key Use Cases
• Customer micro
segmentation
• Next Best Offer
• Campaign Analytics
• Geo-Location
Analytics
• Recommendation
Models
• Churn Modeling &
Prediction
• Rotational / Social
Churn
• Customer Lifetime
Value
• Sentiment Analytics
• Price Elasticity
Modeling
• Proactive Care
Dashboard
• Customer Lifetime
Value
• Subscriber Analytics
• QoS Analytics
• Real-Time Alerts
Target Marketing &
Personalization
Churn Prevention &
Customer Retention
Proactive Care
10
11. From Static to Dynamic, Real-Time Micro-Segmentation
Age
Gender
Average Spend
Price Plans
Usage History
Data, Voice, Text
Billing History
Device Upgrade
Traditional
Segmentation
Age
Gender
Average Spend
Price Plans
Usage History
Data, Voice, Text
Billing History
Device Upgrade
Device History
Other products / services
Bundling preferences
Offer History
Campaign Adoption
History
Call Center Tickets
Location
Social Influence
Applications Used
Content Preferences
Usage Details
Roaming Analysis
Travel Patterns
QoS History
Household Analysis
Lifetime Value
Churn Score
Clickstream Info
Channel Preferences
Survey
Real-Time Micro-
Segmentation
11
Individualization
Engaging customers as a segment of one in real-time by listening,
capturing, measuring, assessing, and addressing intent across every
enterprise touchpoint.
Source: Forrester
12. From Static to Dynamic, Real-Time Micro-Segmentation
Age
Gender
Average Spend
Price Plans
Usage History
Data, Voice, Text
Billing History
Device Upgrade
Traditional
Segmentation
Age
Gender
Average Spend
Price Plans
Usage History
Data, Voice, Text
Billing History
Device Upgrade
Device History
Other products / services
Bundling preferences
Offer History
Campaign Adoption
History
Call Center Tickets
Location
Social Influence
Applications Used
Content Preferences
Usage Details
Roaming Analysis
Travel Patterns
QoS History
Household Analysis
Lifetime Value
Churn Score
Clickstream Info
Channel Preferences
Survey
Real-Time Micro-
Segmentation
12
13. A Sample Customer 360° Profile
Who are you?
Where are you?
What have you
purchased?
What content do you
prefer?
Who do you know?
What can you afford?
What is your value to the
business?
How / why have you
contacted us?
13
15. Key Challenges in Driving a Customer 360° View
Data Silos
New Data Sources Costs of Data Processing
Data Volumes
• Multiple Data Silos
• Often store overlapping and
conflicting information
• Data growing rapidly
• Internet of Things will add to
that substantially
• Semi/Un-Structured Data
Sources
• Streaming / Real-time data
• Critical for building a true
360° view
• Cost prohibitive
• Cost of storing data in
relational database systems
per year
Clickstream Location/GPS
Call center
Records
Social Media
17
16. Customer 360° View - Traditional Flow Diagram
Enterprise Data
Warehouse
ETL / Stored
Procedures
Data Marts /
Aggregations
Location
Social
Clickstream
Segmentation & Churn
Analysis
BI Tools
Marketing Offers
Billing &
Ordering
CRM / Profile
Marketing
Campaigns
18
17. Customer 360° View - Traditional Flow Diagram
Enterprise Data
Warehouse
ETL / Stored
Procedures
Data Marts /
Aggregations
Location
Social
Clickstream
Segmentation & Churn
Analysis
BI Tools
Marketing Offers
Billing &
Ordering
CRM / Profile
Marketing
Campaigns
Limited
Processing
Power
Does not
model easily
to traditional
database
schema
Limited
Processing
Power
Storage
Scaling
very
expensive
Based on
sample /
limited data
Loss in
Fidelity
Other /
New Data
Sources
High
Voume
and
Velocity
19
18. Customer 360° View: Why status quo won’t work?
• Most organizations have a static
version of the customer profile in
their data warehouse
• Mainly structured data
• Only internal data
• Only “important” data
• Only limited history
• Activity data – clickstream data,
content preferences, customer care
logs are kept in siloes or not kept at
all
Data Analyst
Data Analyst
Data Analyst
Data Analyst
Data Analyst
Detailed Customer Activity Data sits in silos!
20
19. Journey of Customer through multiple Siloed Systems
21
Social
Media
Call
Center
Complaint
Management
Marketing
Coupons
Warehouse CRM
Shipping
Billing
Order
Processing
Web
Application
20. Journey of Customer through multiple Siloed Systems
22
Social
Media
Call
Center
Complaint
Management
Marketing
Coupons
Warehouse CRM
Shipping
Billing
Order
Processing
Web
Application
22. Why using Graph for Customer 360° View
24
Traditional RDBMS
• Multiple Data Locations => siloes
• Not all information related
• difficult to access all the different
information and to relate to each other
Graph Database
• Connect all customer-related information
• Model multi-connected customer relationships
• Special questions graphs can answer
• Performance & Scalability
Partner
Id
FirstName
LastName
BirthDate
ProfileImageURL
Id
CustomerId
When
Where
Type
Description
Contacts
Address
Id
PartnerId
Street
StreetNr
ZipCode
City
Country
Id
Name
Price
Description
ImageURL
Products
CustomerId
ProductId
Order
Id
CustomerId
When
Where
InteractionType
Description
Customer Service
Id
ProductId
Comment
UserId
Product Reviews
Id
PartnerId
TwitterId
FacebookId
Customer
Geo Point
Customer
Address
Product
ownerOf
(since)
interestedIn
(since, degree)
lives (since)
ActivityparticipatesIn Termuses
uses
Employee
interactsWith
reference
id
name
id
when
where
text
id
firstName
lastName
birthDate
profileImageURL
uses
id
name
imageURL
id
street
streetNr
zipCode
city
id
name
alternateNames
location
population
elevation
Country
neighbour
belongsTo
id
name
iso2
iso3
isoNumeric
capital
area
population
continent
uses
ActivityType
id
name
belongsTo
id
name
at
knows(since)
mentions
uses
24. Geo Point
Customer
Address
Product
ownerOf
(since)
interestedIn
(since, degree)
lives (since)
ActivityparticipatesIn Termuses
uses
Employee
interactsWith
reference
id
name
id
when
where
text
id
firstName
lastName
birthDate
profileImageURL
uses
id
name
imageURL
id
street
streetNr
zipCode
city
id
name
alternateNames
location
population
elevation
Country
neighbour
belongsTo
id
name
iso2
iso3
isoNumeric
capital
area
population
continent
uses
ActivityType
id
name
belongsTo
id
name
at
knows(since)
mentions
uses
Customer 360° View - Example
26
25. Hadoop ClusterdHadoop Cluster
DSE Cluster
Batch Data Ingestion into Customer Hub
Billing &
Ordering
CRM /
Profile
Marketing
Campaigns
Location
Social
Click
stream
Sensor
Data
Weather
Data
Mobile
Apps
Emails
v
File Import /
SQL Import
Cassandra DSE Graph
27
high latency
Event Stream
26. Batch Data Ingestion into Customer Hub
DSE Graph
DSE
GraphLoaderRDBMS
Groovy
Script
Click
Stream
28
Geo Point
Customer
Address
Product
ownerOf (since)
interestedIn (since, degree)
lives (since)
ActivityparticipatesIn Termuses
uses
Employee
interactsWith
reference
id
name
id
when
where
text
id
firstName
lastName
birthDate
profileImageURL
uses
id
name
imageURL
id
street
streetNr
zipCode
city
id
name
alternateNames
location
population
elevation
Country
neighbour
belongsTo
id
name
iso2
iso3
isoNumeric
capital
area
population
continent
uses
ActivityType
id
name
belongsTo
id
name
at
knows(since)
Transformation CSV / JSON
Partner
Id
FirstName
LastName
BirthDate
ProfileImageURL
Id
CustomerId
When
Where
Type
Description
Contacts
Address
Id
PartnerId
Street
StreetNr
ZipCode
City
Country
Id
Name
Price
Description
ImageURL
Products
CustomerId
ProductId
Order
Id
CustomerId
When
Where
InteractionType
Description
Customer Service
Id
ProductId
Comment
UserId
Product Reviews
Id
PartnerId
TwitterId
FacebookId
Customer
Real-Time Insights?
27. Streaming Ingestion into Customer Event Hub
Microservice Cluster
Microservice State
{ }
API
Stream Processing Cluster
Stream
Processor
State
{ }
API
Billing &
Ordering
CRM /
Profile
Marketing
Campaigns
Location
Social
Click
stream
Sensor
Data
Weather
Data
Mobile
Apps
Email
File Import /
SQL Import
Event
Stream
Event
Hub
Event
Hub
Event
Hub
Event
Stream
Event
Stream
Hadoop ClusterdHadoop Cluster
DSE Cluster
Cassandra DSE Graph
32
28. Process native Event Streams
Twitter
Tweet-to-
Cassandra Cassandra
Tweet
Graph
Tweet-to-Graph
Customer
Reference
Click
Stream
Cllck Stream
Activity-to-
Graph
DSE Cluster
33
Geo Point
Customer
Address
Product
ownerOf (since)
interestedIn (since, degree)
lives (since)
ActivityparticipatesIn Termuses
uses
Employee
interactsWith
reference
id
name
id
when
where
text
id
firstName
lastName
birthDate
profileImageURL
uses
id
name
imageURL
id
street
streetNr
zipCode
city
id
name
alternateNames
location
population
elevation
Country
neighbour
belongsTo
id
name
iso2
iso3
isoNumeric
capital
area
population
continent
uses
ActivityType
id
name
belongsTo
id
name
at
knows(since)
Event Hub Stream ProcessingSensor
29. Benchmark Single vs. Scripted Insert
34
• One Event ends up in many
modifications of vertex and edges
• many round-trips need if done with
single API calls
• batch API calls into a Groovy script
provides 3 – 5x performance gains
DSE Graph
Tweet-to-Graph
Tweet
User
publishes
Term *
uses*
DSE GraphTweet-to-Graph
…
...
Geo Point
Customer
Address
Product
ownerOf (since)
interestedIn (since, degree)
lives (since)
ActivityparticipatesIn Termuses
uses
Employee
interactsWith
reference
id
name
id
when
where
text
id
firstName
lastName
birthDate
profileImageURL
uses
id
name
imageURL
id
street
streetNr
zipCode
city
id
name
alternateNames
location
population
elevation
Country
neighbour
belongsTo
id
name
iso2
iso3
isoNumeric
capital
area
population
continent
uses
ActivityType
id
name
belongsTo
id
name
at
knows(since)
30. Process Change Data Capture Events
CDC
Customer-to-
Cassandra Cassandra
Customer
DSE Graph
Customer-to-
Graph
CustomerCDC
AddressCDC
ContactCDC
Aggregate-to-
Customer
DSE Cluster
39
Geo Point
Customer
Address
Product
ownerOf (since)
interestedIn (since, degree)
lives (since)
ActivityparticipatesIn Termuses
uses
Employee
interactsWith
reference
id
name
id
when
where
text
id
firstName
lastName
birthDate
profileImageURL
uses
id
name
imageURL
id
street
streetNr
zipCode
city
id
name
alternateNames
location
population
elevation
Country
neighbour
belongsTo
id
name
iso2
iso3
isoNumeric
capital
area
population
continent
uses
ActivityType
id
name
belongsTo
id
name
at
knows(since)
Partner
Id
FirstName
LastName
BirthDate
ProfileImageURL
Id
CustomerId
When
Where
Type
Description
Contacts
Address
Id
PartnerId
Street
StreetNr
ZipCode
City
Country
Id
Name
Price
Description
ImageURL
Products
CustomerId
ProductId
Order
Id
CustomerId
When
Where
InteractionType
Description
Customer Service
Id
ProductId
Comment
UserId
Product Reviews
Id
PartnerId
TwitterId
FacebookId
Customer
Event Hub Stream ProcessingSensor
31. Streaming Oriented Ingestion into Customer Hub
Microservice Cluster
Microservice State
{ }
API
Stream Processing Cluster
Stream
Processor
State
{ }
API
Billing &
Ordering
CRM /
Profile
Marketing
Campaigns
Location
Social
Click
stream
Sensor
Data
Weather
Data
Mobile
Apps
Email
File Import /
SQL Import
Event
Stream
Event
Hub
Event
Hub
Event
Hub
Event
Stream
Event
Stream
Hadoop ClusterdHadoop Cluster
DSE Cluster
Cassandra DSE Graph
40
32. How to implement an Event Hub?
Apache Kafka to the rescue
• publish-subscribe messaging system
• Designed for processing high-volume,
real time activity stream data (logs,
metrics, social media, …)
• Stateless (passive) architecture,
offset-based consumption
• Initially developed at LinkedIn, now
part of Apache
• Peak Load on single cluster: 2 million
messages/sec, 4.7 Gigabits/sec
inbound, 15 Gigabits/sec outbound
Reliable Data Ingestion in Big Data/IoT
Kafka Cluster
Consumer Consumer Consumer
Producer Producer Producer
Broker 1 Broker 2 Broker 3
Zookeeper
Ensemble
33. Apache Kafka Connect
• Scalably and reliably streaming data between
Apache Kafka and other data systems
• not an ETL framework
• Pre-build connectors available for Data
Source and Data Sinks
• JDBC (Source)
• Cassandra (Source & Sink)
• Oracle GoldenGate (Source)
• MQTT (Source)
• HDFS (Sink)
• Elasticsearch (Sink)
• MongoDB (Sink)
Reliable Data Ingestion in Big Data/IoT
Source: Confluent
35. Hadoop ClusterdHadoop Cluster
DSE
Cluster
Streaming Ingestion into Customer Hub
OLAP
Microservice Cluster
Microservice State
{ }
API
File Import /
SQL Import
OLTP
Parallel
Processing
Cassandra
Cassandra
Stream
Processing
DSEFS
Billing &
Ordering
CRM /
Profile
Marketing
Campaigns
Location
Social
Click
stream
Sensor
Data
Weather
Data
Mobile
Apps
Email
Event
Stream
Event
Hub
Event
Hub
Event
Hub
Event
Stream
Cassandra
Replication
44
36. Hadoop ClusterdHadoop Cluster
DSE
Cluster
Streaming Ingestion into Customer Hub
OLAP
Microservice Cluster
Microservice State
{ }
API
File Import /
SQL Import
OLTP
Parallel
Processing
Cassandra
Cassandra
Stream
Processing
DSEFS
Billing &
Ordering
CRM /
Profile
Marketing
Campaigns
Location
Social
Click
stream
Sensor
Data
Weather
Data
Mobile
Apps
Email
Event
Stream
Event
Hub
Event
Hub
Event
Hub
Event
Stream
Cassandra
Replication
45
37. Questions which can only be answered by Graph
46
Dependencies
• Failure chains
• Order of operation
Matching /
Categorizing
Highlight variant of
dependencies
Clustering
Finding things closely
related to each other
(friends, fraud)
Flow / Cost
Find distribution
problems, efficiencies
Similarity
Similar paths or patterns
Centrality, Search
Which nodes are the most
connected or relevant
Source: Expero
38. Questions which can only be answered by Graph -
Visualize Customer 360
49
Source: Expero
39. Questions which can only be answered by Graph -
Visualize Customer 360
50
KeyLines
Cytoscape
LinkuriousJS
SigmajsD3
Source: Expero