Net Promoter Score - Department of Software and Information Systems

advertisement
www.kdd.uncc.edu
CCI, UNC-Charlotte
Hierarchical Recommender System for Improving NPS.
presented by
Zbigniew W. Ras
Research sponsored by:
CONSULTING COMPANY in Charlotte
Client 1
Client 2
Client 3
shops
shops
shops
What we have to do
Client 4
Build
Recommender System
for each client
(34 clients) helping to
increase its revenue
Build Personalized
Recommender System
for each shop helping to
increase its revenue
Services
Parts
(heavy equipment repair)
CUSTOMERS
NPS of a company is correlated with its revenue growth
Net Promoter Score (NPS) –
today’s standard for measuring customer loyalty
Promoter - {9,10}
Passive – {8,7}
Detractor – {1,2,3…,6}
NPS rating for all clients
NPS rating for all shops
What is our goal?
Build recommender system giving possibly the simplest
and the best advice to every client/shop on the changes
they need to make in order to improve their NPS ratings.
Initial Dataset – provided by Consulting Company
About 100,000 records representing answers to a questionnaire
collected from over 35,000 randomly chosen customers in 2010 -2013.
Customers use services provided by 34 clients
A questionnaire consists of:
Information about the customer
Customer’s name, location, phone number…
Information about the service
Client’s name, invoice amount, service type…
Information on customers’ feeling about the service
was the job completed correctly
are you satisfied with the job
likelihood to refer to friends
…
Personal
Benchmarks
BenchmarkAllOverallSatisfaction
35
BenchmarkAllLikelihoodtobeRepeatCustomer
34
BenchmarkAllDealerCommunication
33
BenchmarkServiceRepairCompletedCorrectly
32
BenchmarkReferralBehavior
31
BenchmarkServiceFinalInvoiceMatchedExpectations
31
BenchmarkEaseofContact
30
BenchmarkAllDoesCustomerhaveFutureNeeds
28
BenchmarkServiceTechPromisedinExpectedTimeframe
26
BenchmarkServiceRepairCompletedWhenPromised
26
BenchmarkServiceTimelinessofInvoice
25
BenchmarkServiceAppointmentAvailability
24
BenchmarkServiceTechEquippedtodoJob
23
BenchmarkAllContactStatusofFutureNeeds
22
BenchmarkServiceTechArrivedWhenPromised
21
BenchmarkAllHasIssueBeenResolved
19
BenchmarkAllContactStatusofIssue
17
BenchmarkServiceTechnicianCommunication
6
BenchmarkServiceContactPreference
3
BenchmarkCBCallansweredpromptly
1
BenchmarkServiceReceivedQuoteforRepair
1
BenchmarkCBAutoattendantansweredbycorrectdepartment
1
BenchmarkServiceCallAnsweredQuickly
1
BenchmarkAllMarketingPermission
1
Randomly chosen customers are
asked to complete Questionnaire –
It has questions concerning
personal data + 30 benchmarks
To compute NPS we calculate average score
of all benchmarks for all customers. Knowing the
number of promoters and detractors we know NPS.
Classical Approach
Data
Data Preprocessing (including reduction of benchmarks)
Knowledge Extraction
(Classical Tools - WEKA +
Our Software for Extracting Action Rules & Their Triggers)
Recommender Systems
Classification
Selection of Best Classification Algorithm
0.4
0.405
0.41
0.415
0.42
0.425
0.43
0.435
Time Taken(secs)
Accuracy
PART
RBF
BayesNet
NaiveBayes
KNN
RandomForest
J48
0
10
20
30
40
50
60
70
80
PART
RBF
BayesNet
NaiveBayes
KNN
RandomForest
J48
Accuracy
2
3
4
1
5
7
6
Time Taken
2
4
6
7
3
1
5
Total score
4
7
10
8
8
8
11
11
Two Options
Initial Clients Datasets
2
1
Recommender Systems
local approach
global approach
Using Information about 34 Clients to Enlarge these Datasets
2
global approach
More Powerful Recommender Systems
FIRST APPROACH for Dataset Enlargement
Semantic Distance between Clients
J48 classifier extracted from
dataset D1 of Client-1
J48 classifier extracted from
Dataset for Client-2
dataset D2 of Client-2
Dataset for Client-1
attr1
attr2
Vector describing customer 1
Vector describing customer 1
attr2
attr3
attr4
attr3
attr2
Vector describing customer 2
Vector describe ing customer 3
attr1
attr3
attr4
attr3
attr1
Vector describing customer 2
Vector describe ing customer 3
More similar these two classification trees, more close semantically the clients are
Semantic distance based dendrogram
for Service
Recommender System Engine based on Semantic Similarity of Clients
Start with n1.
If NPS(n1) has to be improved, “move to n3”
If NPS(n2) > NPS(n1), then
Table3 := Table1  Table 2 is assigned to n3.
Classifier from Table3 is extracted and its
F-score is computed.
If F-score3 > F-score1,
then “move to n5”, otherwise STOP
n6
Table 5, Classifier5
n5
n7
n3
Table3
Classifier3
F-score3
n1
n2
\
NPS(n1)
Table1
Classifier1
F-score1
NPS(n2)
Table2
Classifier2
F-score2
For each client (node) we need to identify the best ancestor to be used for action rules discovery
Extracting Meta-Actions /sentiment analysis/:
We use Stanford Typed Dependencies Manual & Stanford Parser to generate grammatical relations
http://nlp.stanford.edu:8080/parser/
• Extract meta-actions from relevant comments that are associated with values of
attributes used in action rules;
• Find smallest sets of meta-actions triggering these action rules;
• Identify all customers supporting these action rules (needed to compute the
increase in revenue);
• Search for smallest groups of meta-actions that trigger maximal increase in
revenue (we present them in descending order for same-size groups of metaactions).
• effect(m) = num(distinct records in dataset involved with m) × conf(r*)
• Effect of a set of meta-action indicates the number of customers who are
expected to become promoters when these meta-actions are executed.
• Organize those groups of meta-actions hierarchically.
r1 = (A, a1  a2)  (B, b1->b2)  (C, c1  c2) 
(detractor  promoter)
Sup(r1) – number of customers supporting action rule r1 in a shop which NPS has to be improved
Number of detractors for a given shop having the properties (A,a1), (B,b1), (C,c1) - we target them
Before we start searching for triggers (meta-actions) supporting r1, this number is enlarged by adding customers
semantically similar and geographically close to our shop who also support rule r1.
Op1, Op2, Op3, Op4, Op5 – comments/sentiment about the service provided by this enlarged set of customers.
Comments about the service from promoters who satisfy the description (A,a2), (B,b2), (C,c2) are also listed.
Op1 - positive opinion related to A
Op2 - negative opinion related to C and B
Op3 – positive opinion related to B
Op4 – negative opinion related to A
Op5 – negative opinion related to C
Customers sentiment associated with rule r1 –
{Op1, Op2, Op3, Op4, Op5}
Trigger for A -> extracted from Op1 and not(Op4)
Trigger for B -> extracted from Op3 and not(Op2)
Trigger for C -> extracted from not(Op2) and not(Op5)
We search for minimum set of triggers covering A, B, C
Examples of Comments with Sentiment Orientation
staff+++++,best manager=112
staff-----,bad experience because diagnosis=108
staff+++++,good technician=96
staff+++++,nice guy=87
staff+++++,excellent mechanic=85
staff+++++,great guy=83
staff+++++,excellent technician=79
staff+++++,good guy=74
staff+++++,wonderful dealer=71
staff+++++,good team=66
staff+++++,honest guy=60
staff+++++,pleased with manager=40
staff-----,not available technician=34
staff-----,wrong diagnosis=16
staff+++++,best mechanic=12
staff+++++,knowledgeable mechanic=6
invoice+++++,outstanding bill=141
invoice+++++,they billed properly=65
invoice+++++,fine invoice=61
invoice-----,refused pay bills=29
invoice+++++,happy with bill=12
price-----,not fair pricing=108
price+++++,good price=108
price+++++,fair pricing=87
price-----,aggressive pricing=66
price-----,unreasonable charge fee=37
price-----,not satisfied with price=35
price+++++,better pricing=27
price-----,expensive amount charged=12
price+++++,the charged fairly=12
How to construct optimal sets of meta-actions (triggers activating
changes in customer NPS)
Threshold for adding triggers = 6
Seeds
We add single trigger
one by one following
their order with respect
to support
Sup=180
{TR5,TR1}
Sup=160
{TR5}
{TR1,TR4}
Sup=165
Sup=163
{TR5, TR2}
TR5, TR3}
Triggers activating changes in customer NPS
Sup=184
Sup=189
Sup=185
{TR5,TR1,TR2}
{TR5,TR1,TR3}
{TR5,TR1,TR4}
1
2
3
TR5
{TR1,TR4}
{TR5,TR1,TR3}
{TR5,TR1}
4
Search for the best meta-actions
• Client-2 is selected to be our target.
Client{2,4,6,1} by HAMIS
NPS
0.77 (73 detractors)  0.852
Action rules extracted
28,126
Meta-actions extracted
15
Number of meta-nodes
447
(*But we only focus on the top 10 in
each size category of meta-nodes.)
Maximum effect in meta-nodes
45.83 (out of 73 detractors)
24
Search for the best sets of meta-actions
for Client-2
idx
Meta-actions
effect
0
• ensure service done correctly
2.00
1
• ensure service done correctly
• improve price competitiveness
7.62
2
• ensure service done correctly
• properly set invoice
expectations(slightly high)
5.0
3
• ensure service done correctly
• sufficient staff
2.0
7
• ensure service done correctly
• competitive price
• improve price competitiveness
11.13
8
• ensure service done correctly
• improve price competitiveness
• sufficient staff
10.66
9
• ensure service done correctly
• improve price competitiveness
• properly set invoice
expectations(slightly high)
9.99
• ensure service done correctly
• improve price competitiveness
• keep proactive communication
8.62
10
idx
Meta-actions
effect
22
• ensure service done correctly
• competitive price
• improve price competitiveness
• sufficient staff
15.07
23
• ensure service done correctly
• improve price competitiveness
• properly set invoice
expectations(slightly high)
• sufficient staff
15.00
24
• ensure service done correctly
• competitive price
• improve price competitiveness
• reasonable invoice
13.13
25
• ensure service done correctly
• improve price competitiveness
• reasonable invoice
• sufficient staff
11.66
46
• ensure service done correctly
• competitive price
• improve price competitiveness
• properly set invoice
expectations(slightly high)
• sufficient staff
19.41
Search for the best meta-actions
• Why HAMIS helps?
1. 2) Extra meta-actions extracted from datasets extended by HAMIS help
improve effect further.
Set of meta-actions
Expected effect
competitive price
ensure service done correctly
improve price competitiveness
sufficient staff
9.87
decrease dealer response time*
11.13
competitive price
ensure service done correctly
improve price competitiveness
keep proactive communication
nice technician
reasonable invoice
7.59
knowledgeable technician*
13.3
26
QUESTIONS?
Download