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. Customer 360° - What do I need to know?
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?
11
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. 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
13
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
15. 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
15
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
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
16
17. 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
18. Customer 360° View: Why status quo won’t work?
• 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!
18
19. Customer Journey through multiple “Siloed Systems”
19
Social
Media
Call
Center
Complaint
Management
Marketing
Coupons
Warehouse CRM
Shipping
Billing
Order
Processing
Web
Application
20. Customer Journey through multiple “Siloed Systems”
20
Social
Media
Call
Center
Complaint
Management
Marketing
Coupons
Warehouse CRM
Shipping
Billing
Order
Processing
Web
Application
22. Why using Graph for Customer 360° View
22
Traditional RDBMS
• Multiple Data Locations => siloes
• Not all information related
• difficult to access all information and relate
to each other
Graph Database
• Connect all customer-related information in
one central place
• Support for analytics on graph
• 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
24
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
25
high latency
Event Stream
26. Batch Data Ingestion into Customer Hub
DSE Graph
DSE
GraphLoaderRDBMS
Groovy
Script
Click
Stream
26
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. Real-Time Data 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
27
low latency
28. Process native Event Streams
Twitter
Tweet-to-
Cassandra
Wide-Row /
Search
Tweet
Graph
Tweet-to-Graph
Customer
Reference
Click
Stream
Click Stream
Activity-to-
Graph
DSE Cluster
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)
Event Hub Streaming AnalyticsSensor Storage
29. Single vs. Batch Insert
29
• One Event ends up in many
modifications of vertex and edges
• many round-trips needed if done with
single API calls
• Single “batched” API call using Groovy
script provides 3 – 5x performance
gains
DSE GraphActivity-to-Graph
Tweet
User
publishes
Term *
uses*
DSE GraphActivity-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 CDC (Change Data Capture) Events
CDC
Customer-to-
Cassandra
Wide-Row
/ Search
Customer
Event
Graph
Customer-to-
Graph
Customer CDC
Address CDC
Contact CDC
Aggregate-to-
Customer
DSE Cluster
30
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 Streaming AnalyticsSensor Storage
31. Real-Time Data 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
31
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
Real-Time Data Ingestion into Customer Event 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
35
36. Hadoop ClusterdHadoop Cluster
DSE
Cluster
Real-Time Data Ingestion into Customer Event 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
36
37. Questions which can only be answered by Graph
37
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
38
Source: Expero
39. Questions which can only be answered by Graph -
Visualize Customer 360
39
KeyLines
Cytoscape
LinkuriousJS
SigmajsD3
Source: Expero
40. Questions which can only be answered by Graph -
Visualize Customer 360
40
Keylines: http://keylines.com
• powerful JavaScript toolkit for graph visualization
• powerful visualizations features: Layouting, Filtering,
Combining & Grouping, Time Bar, Geospatial, …
• compatible with any modern browser & any graph
database