Professor Doutor Fernando Lucas Bação
U
NIDADE DE
1
Avaliação de Modelos Preditivos.2
Classificação e Regressão.3
Lift.4
Matriz de Custos/Benefícios.5
Matriz de Confusão.6
Links de Interesse.7
Bibliografia.TÓPICOS
1 AVALIAÇÃO DE MODELOS PREDITIVOS
O Data Mining constitui uma prática dispendiosa, requer esforços de recolha, preparação de informação, bem como a integração de software, formulação do problema, construção de modelos e a sua análise. Todo este processo é caro. O software necessário é dispendioso, os profissionais necessários também. Por isso é indispensável encontrar formas de medir os resultados obtidos através da utilização destas metodologias. Este facto é particularmente evidente quando falamos da utilização de modelos preditivos.
Se no caso das ferramentas exploratórias já estudadas podemos argumentar que a avaliação dos resultados objectivos da análise são de difícil quantificação, ou pelo menos de interpretação subjectiva, já no caso dos modelos preditivos este argumento não é aceitável. Os resultados das ferramentas exploratórias podem ser encarados como um investimento no desenvolvimento de conhecimento, sobre os clientes e sobre o negócio. O retorno da aplicação destas ferramentas está, em larga medida, dependente das acções comerciais e de marketing que venham a ser tomadas, com base nos resultados da análise. Paralelamente, a utilização das ferramentas de exploração pode ser encarada como uma premissa para o desenvolvimento de modelos preditivos.
No caso das ferramentas preditivas a sua utilização está normalmente associada a tarefas mais bem definidas, produzindo resultados que constituem, em si mesmo, recomendações para a implementação de determinadas opções. Assim, a sua avaliação é mais simples mas também mais importante.
Obviamente, que a avaliação de resultados está intimamente relacionada com os objectivos propostos no início do trabalho. Este é um ponto central, mas que raramente é alvo da atenção que merece. De facto, a definição de objectivos demasiado vagos dificulta, podendo mesmo inviabilizar, a avaliação dos resultados obtidos. Este facto pode ser particularmente frustrante para aqueles que são novos na área e que possuem elevadas expectativas. Em particular quando falamos de empresas que se vêem forçadas a realizar investimentos importantes e que
Assim, os objectivos estabelecidos no início do trabalho devem ser o mais concreto possível. Por exemplo, é normal iniciar um projecto com objectivos do tipo:
⇒ Compreender o comportamento do consumidor ⇒ Descobrir relações interessantes nos dados
O problema é que estes são objectivos demasiado difíceis de medir correctamente, pelo que, sempre que possível, deve-se procurar subdividir os objectivos gerais num conjunto de objectivos específicos. Muitas vezes propostas como “Compreender o comportamento do consumidor” podem dar origem a um conjunto de metas mais específicas como:
⇒ Identificar os clientes que provavelmente não renovarão a sua subscrição; ⇒ Ordenar os clientes com base na propensão para adquirir este produto.
No caso dos métodos preditivos, as diferentes ferramentas possuem, elas mesmo, indicadores que permitem avaliar a sua performance. No entanto, é muito comum utilizar diversos tipos de modelos e procurar avaliá-los em conjunto, por forma a decidir qual utilizar. Neste contexto existe um conjunto de metodologias que permitem comparar a performance de diferentes ferramentas e fornecer indicações sobre a que melhor se adequa ao problema em causa.
Outro aspecto a ter em atenção relaciona-se com os requisitos do modelo que estamos a desenvolver. Dependendo do tipo de problema a precisão do modelo pode ser mais ou menos importante. Em geral, a não ser em aplicações muito específicas, pequenas variações na precisão do modelo não são muito importantes. Na nossa experiência pessoal a utilização deste tipo de modelos em tarefas de previsão produz melhorias tão significativas que as pequenas variações entre diferentes algoritmos são desprezíveis.
O que procuramos são indicadores que nos forneçam uma ideia de: ⇒ Quão preciso é este modelo?
⇒ Quão bem descreve os dados observados?
É também muito importante distinguir entre a precisão do modelo como um todo (no caso da classificação a percentagem de indivíduos bem classificados), e a precisão das previsões individuais. Este é um aspecto central, mas muitas vezes negligenciado. Modelos com precisão global idêntica podem ter níveis de variância muito diferentes entre indivíduos, sendo importante que o analista compreenda quais os tipos de exemplos que provocam maiores dificuldades aos diferentes modelos. É frequente acontecer que a percentagem de erro é relativamente baixa para o conjunto dos dados, mas muito grande para exemplos com um determinado perfil.
Este problema é particularmente relevante quando procuramos identificar observações relativamente raras. O modelo pode apresentar uma excelente taxa de erro, sendo no entanto incapaz de classificar correctamente as observações mais raras. Por exemplo, digamos que estamos a tentar identificar, através de um conjunto de teste clínicos, um conjunto de doentes potencialmente afectados por uma doença rara, para serem submetidos a um novo teste de despistagem. Se o conjunto de indivíduos que procuramos identificar representar 2% da população, o modelo pode apresentar resultados excelentes sem ser capaz de identificar qualquer dos indivíduos afectados pela patologia. Um modelo com uma taxa de erro de 2% é excelente, no entanto no caso concreto completamente inútil. Assim, é indispensável analisar as previsões dos modelos por forma a garantir que este não possui qualquer dificuldade específica com determinados tipos de observações.
Finalmente, gostaríamos de reintroduzir um termo muito comum no Data Mining e que traduz uma tarefa muito comum na modelação preditiva. O termo a que nos referimos é “Scoring” e pode ser definido como uma técnica que utiliza um modelo por forma a prever comportamentos futuros. O “score” (em português o termo mais comum é propensão) associado a cada indivíduo da base de dados indica a propensão desse indivíduo para apresentar um determinado comportamento. Assim, quando nos referimos ao “Credit Scoring” estamo-nos a referir ao processo que nos permite associar a cada cliente do banco uma “propensão” para apresentar um determinado comportamento, no caso o não cumprimento das suas obrigações hipotecárias.
2 CLASSIFICAÇÃO E REGRESSÃO
A questão da classificação e regressão já foi objecto de alguns comentários noutros módulos deste curso (especialmente no módulo II), no entanto, vale a pena voltar ao assunto, por forma a clarificar alguns aspectos importantes. A principal diferença entre estas duas tarefas centra-se no facto de, no caso da classificação procurarmos atribuir um valor discreto (tipicamente uma classe) a uma determinada observação e no caso da regressão procurarmos atribuir um valor contínuo.
Quando classificamos, podemos avaliar a qualidade das previsões de acordo com o número de vezes que falhamos a classificação de um determinado exemplo (misclassification rate). A percentagem de erros cometidos é um indicador perfeitamente aceitável nas tarefas de classificação. Já no caso da regressão este tipo de indicador não é válido. Na regressão, o que devemos procurar é medir a distância a que as nossas previsões ficam dos verdadeiros valores que procuramos estimar. Existem diversos indicadores que podem ser utilizados para este efeito, como por exemplo o erro quadrático médio (MSE, do inglês mean square error).
Quer no caso da classificação quer no caso da regressão o desenvolvimento dos modelos segue uma metodologia semelhante (Figura 1). Esta consiste na utilização de um conjunto de dados de treino e um conjunto de dados de validação por forma a desenvolver e seleccionar modelos. Tipicamente, durante um projecto de modelação preditiva são desenvolvidos diversos modelos, muitas vezes, com base em diferentes ferramentas, por exemplo utilizando redes neuronais e árvores de decisão. A necessidade de seleccionar o melhor modelo preditivo obriga que tenhamos a possibilidade de comparar a performance dos diversos modelos. Para isso utilizamos o conjunto de dados de teste.
É importante ter em atenção que, embora desejável, a comparação da performance de diversos modelos pode ser levada a cabo com base nos dados de validação. Em muitas circunstâncias, quando o conjunto de dados de que dispomos e reduzido e o contexto em que estamos a trabalhar não exige uma estimativa de erro não enviesada, podemos prescindir do conjunto de dados de teste. Esta é uma situação frequente, onde assumimos que as estimativas de erro, sobre a qualidade dos modelos, que obtemos são optimistas. Nestes casos, o conjunto de dados utilizado para comparar a qualidade dos modelos é o conjunto de validação (tal como faremos no projecto da disciplina).
Dados Treino Modelo 1 Dados Validação Modelo 2 Modelo 3 Avaliação Dados Teste Melhor Modelo
Figura 1: representação gráfica do processo de desenvolvimento de modelos preditivos.
Existem diversas medidas para comparar a qualidade dos modelos desenvolvidos, no entanto, no Data Mining, o lift é talvez a mais utilizada.
3 LIFT
Tal como já referimos nas linhas anteriores um dos problemas que se pode pôr na avaliação de modelos preditivos relaciona-se com a necessidade que muitas vezes existe de comparar os resultados de ferramentas diferentes. De facto, é comum a utilização de diferentes ferramentas no mesmo problema por forma a escolher aquela que melhor performance apresenta. É no entanto indispensável possuir uma forma de os comparar, e inequivocamente identificar aquele que melhor se comporta no problema em apreço.
A forma mais comum de comparar a performance de modelos de classificação diferentes consiste na utilização de um rácio designado “lift”. Podemos definir “lift” como o rácio que mede a mudança na concentração de uma classe específica quando um modelo é utilizado para seleccionar uma amostra propositadamente enviesada a partir da população, ou seja:
Lift = P(classet|sample)/P(classet|população)
A forma mais simples de compreender o que é o lift é através de um exemplo. Tendo em conta que o termo advém da indústria do direct marketing, utilizaremos um exemplo dessa área. Suponhamos que estamos a construir um modelo por forma a prever quem provavelmente responderá a uma solicitação de compra feita por carta. Como é habitual construiremos o modelo tendo por base um conjunto de dados pré-classificados, por forma a desenvolver o modelo. O nosso modelo de classificação marcará os indivíduos como “respondentes” e “não-respondente”, ou seja, o grupo que provavelmente aceitará a nossa proposta e o grupo que não mostrará interesse. Obviamente, o modelo não estará correcto 100% das vezes, cometerá alguns erros, no entanto, se o modelo for bom o conjunto de dados classificado como “respondentes” terá uma maior proporção de clientes que de facto correspondem à proposta, do que todo o conjunto (que engloba “respondentes” e “não-respondente”). O conjunto de indivíduos marcados como “respondentes” é a nossa amostra enviesada. Se o conjunto de teste é composto por 5% de pessoas que de facto respondem à solicitação e a nossa amostra enviesada “capta” 50% desses respondentes, então o modelo produz um lift de 10 (50/5). Na prática, os modelos que utilizamos não atribuem valores discretos aos indivíduos que pretendemos classificar, antes atribuem uma propensão (já apresentada na primeira secção deste módulo). A propensão é um valor contínuo, tipicamente entre 0 e 1 e que traduz a
tendência de um determinado indivíduo pertencer à classe 1. Quanto mais próximo de 1 se apresentar a propensão maior a tendência para o indivíduo pertencer à classe 1 e vice-versa.
3.1 Gráfico de Ganhos Cumulativos
A utilização do gráfico de “ganhos cumulativos” (Figura 2) é muito familiar a todos os que trabalham em Data Mining. Este gráfico é criado através da ordenação de todos os indivíduos, pertencentes ao conjunto de teste (ou do conjunto de validação caso se tenha prescindido da utilização do conjunto de teste), de acordo com a propensão para responder à proposta estimada pelo modelo. Os indivíduos são organizados em percentis, sendo que para cada um dos percentis é calculada a percentagem de indivíduos que pertencem à classe 1. À medida que a dimensão da lista aumenta (utilizamos mais indivíduos) estamos a incluir indivíduos classificados com uma propensão cada vez mais baixa. Assim, o eixo dos x’s mostra a percentagem da população que recebe a solicitação, o eixo dos y’s mostra a percentagem de respondentes que são de facto contactados.
Se não utilizarmos qualquer modelo, e enviarmos a solicitação para 10% da base de dados, conseguiríamos contactar 10% dos “respondentes” (clientes que de facto estão interessados na proposta). Caso a solicitação fosse feita a 50% da base de dados, então conseguiríamos contactar 50% dos “respondentes”. Estes valores podem ser lidos na linha do gráfico designada “baseline”, que nos mostra os resultados da nossa acção caso procedêssemos à extracção de uma amostra aleatória da nossa base de dados. A segunda linha presente no gráfico (“lift curve”), apresenta os resultados da utilização de um modelo por forma a escolher quais os indivíduos da base de dados a contactar. Por outras palavras, neste caso utilizamos um modelo por forma a extrair uma amostra, propositadamente enviesada, da nossa base de dados. Assim, utilizando o modelo representado no gráfico consegue solicitar 30% dos respondentes contactando apenas 10% da base de dados. Se contactarmos 60% da base de dados, solicitamos cerca de 90% dos respondentes.
A comparação de diferentes modelos é então bastante simples, bastando para isso construir um gráfico que apresente a performance dos diferentes modelos utilizados, tal como podemos ver na Figura 3. Como é óbvio quanto maior a distância entre a baseline e a curva que representa o modelo melhor a qualidade do modelo. No caso da Figura 4 temos a baseline representada pela Series2, e dois modelos (Series3 e Series4), em termos comparativos o modelo Series4 é superior, na medida em que obtém valores superiores para qualquer um dos percentis. 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Series2 Series3 Series4
3.2 Gráfico de Lift
O gráfico de lift é outro insrumento frequentemente utilizado para aferir a qualidade dos modelos preditivos desenvolvidos. O gráfico de lift é apresentado na Figura 4, onde podemos observar que o lift decresce à medida que a dimensão do número de indivíduos contactados aumenta.
Figura 4: o gráfico de lift apresenta o aumento de concentração de indivíduos contactados que compram na amostra escolhida pelo modelo preditivo.
A Tabela 1 exemplifica o cálculo do lift para um exemplo concreto, os dados contidos nesta tabela estão na origem dos dois gráficos que já apresentámos. A primeira coluna apresenta os diferentes níveis de envio (número de clientes a quem enviamos a proposta), ou seja, o número de indivíduos contactados. A segunda coluna apresenta os valores relativos ao número de “respondentes” contactados utilizando o modelo. A terceira coluna representa os “respondentes” contactados sem qualquer modelo preditivo. Como podemos ver, se solicitarmos 10% da nossa base de dados (10000 indivíduos), utilizando o modelo preditivo
positivas obtidas com o modelo para os diferentes níveis de indivíduos solicitados. No caso específico deste exemplo, o número total de “respondentes” presentes na base de dados é de 20000 (20%), pelo que para o primeiro nível obtemos um valor de 30% de “respondentes” contactados.
Tabela 1: cálculo do lift a partir dos resultados com e sem modelo preditivo Total Clientes Resp. Positivas com Modelo Resp. Positivas sem Modelo Lift 10000 6000 2000 3.00 20000 10000 4000 2.50 30000 13000 6000 2.17 40000 15800 8000 1.98 50000 17000 10000 1.70 60000 18000 12000 1.50 70000 18800 14000 1.34 80000 19400 16000 1.21 90000 19800 18000 1.10 100000 20000 20000 1.00 ACTIVIDADE
Comparar dois modelos preditivos
Na folha de cálculo Cálculo Lift.xls são apresentados, em duas folhas diferentes, os dados referentes a dois modelos preditivos. A folha Mod 1 apresenta todos os cálculos necessários para a avaliação e comparação do modelo. Os indivíduos foram ordenados de acordo com a propensão que apresentam e divididos em percentis. Com base nesta lista foram calculados os ganhos cumulativos, a baseline, os respectivos valores percentuais e o lift. Além disso foram feitos os gráficos de ganhos cumulativos e lift. O aluno deverá ser capaz de produzir os mesmos indicadores para o Mod 2. O aluno deverá responder à pergunta: Qual dos dois modelos (Mod 1 ou Mod 2) produz melhores resultados?
4 MATRIZ DE CUSTOS/BENEFÍCIOS
Os gráficos de ganhos cumulativos e de lift constituem peças fundamentais na análise da qualidade dos modelos desenvolvidos, permitindo a comparação entre diferentes modelos de forma rápida e fiável. No entanto, a decisão sobre a quem enviar a proposta não fica completamente clara, com a utilização destes gráficos. Uma forma de resolver esta questão consiste em utilizar o gráfico de ganhos cumulativos e optar pelo percentil a partir do qual o declive da curva do modelo começa a reduzir-se, tal como podemos observar na Figura 5. Neste caso particular a proposta seria enviada a 40% da base de dados (os 40% com o valor mais elevado de propensão de acordo com o modelo) e esperaríamos captar 80% dos clientes que de facto compram.
de 30%? Ou enviar para 20% e obter uma taxa de resposta de 55%? Por forma a informar este tipo de decisões outros critérios devem ser levados em linha de conta, especialmente aqueles que dizem respeito à política comercial da empresa, bem como a questão dos custos de envio e os proveitos que advêm de cada venda. Com base nos dados apresentados da Tabela 1 facilmente podemos construir uma matriz de custos (Tabela 2). Neste caso o cenário é bastante simples; os custos são de 5€ por cada envio, e as vendas são calculadas multiplicando o número de “respondentes” por 15€ (margem no produto), os lucros são calculados pela diferença entre estas duas colunas.
Tabela 2: matriz de custos/benefícios onde se compara os lucros obtidos por um modelo para os diferentes percentis. Neste caso o custo por envio é de 5€ e a margem por cada produto vendido de 15€.
Custo Envio Valor Vendas
com Modelo Valor Vendas sem Modelo % Total de Clientes Contactados Respostas Positivas com Modelo Respostas Positivas sem Modelo 5 15 15 Lucro com
Modelo Lucro sem Modelo
10 10000 6000 2000 50000 90000 30000 40000 -20000 20 20000 10000 4000 100000 150000 60000 50000 -40000 30 30000 13000 6000 150000 195000 90000 45000 -60000 40 40000 15800 8000 200000 237000 120000 37000 -80000 50 50000 17000 10000 250000 255000 150000 5000 -100000 60 60000 18000 12000 300000 270000 180000 -30000 -120000 70 70000 18800 14000 350000 282000 210000 -68000 -140000 80 80000 19400 16000 400000 291000 240000 -109000 -160000 90 90000 19800 18000 450000 297000 270000 -153000 -180000 100 100000 20000 20000 500000 300000 300000 -200000 -200000
Neste caso, a não utilização de um modelo preditivo não permitiria obter lucros. A utilização do modelo permitiria ganhar um máximo de 50000€ com um nível de envio de 20% (20000). É óbvio que os resultados são muito sensíveis aos valores que utilizamos para os custos e margem, qualquer variação nestes valores poderá levar a alterações nas opções a tomar. A Tabela 3 apresenta a matriz recalculada no caso de o preço de venda passar para os 17€. Neste caso a melhor decisão consiste em enviar para 30% da base de dados.
Tabela 3: alterações nos custos e nas margens dão origem a óptimos diferentes, neste caso aumentando a margem em 2€ leva a que o percentil óptimo passe a ser o dos 30%.
Custo Envio Valor Vendas
com Modelo Valor Vendas sem Modelo % Total de Clientes Contactados Respostas Positivas com Modelo Respostas Positivas sem Modelo 5 17 17 Lucro com
Modelo Lucro sem Modelo
10 10000 6000 2000 50000 102000 34000 52000 -16000 20 20000 10000 4000 100000 170000 68000 70000 -32000 30 30000 13000 6000 150000 221000 102000 71000 -48000 40 40000 15800 8000 200000 268600 136000 68600 -64000 50 50000 17000 10000 250000 289000 170000 39000 -80000 60 60000 18000 12000 300000 306000 204000 6000 -96000 70 70000 18800 14000 350000 319600 238000 -30400 -112000 80 80000 19400 16000 400000 329800 272000 -70200 -128000 90 90000 19800 18000 450000 336600 306000 -113400 -144000 100 100000 20000 20000 500000 340000 340000 -160000 -160000
A matriz de custo/benefício constitui uma peça central na tomada de decisão permitindo comparar modelos, definir qual a percentagem óptima de clientes a contactar, como ainda fazer análises de sensibilidade aos custo e preços de venda dos produtos.
ACTIVIDADE
Matriz de Custo/Benefício
Na folha de cálculo Matriz CustoBenefício.xls é apresentada uma matriz de custo/benefício. Caso o custo por envio fosse 6€ e a margem por cada venda para 18€ qual seria o percentil ideal para enviar a proposta, por forma a maximizar o lucro da acção?
5 MATRIZ DE CONFUSÃO
Existe uma forma alternativa de avaliar a qualidade de um modelo preditivo. Falamos da “matriz de confusão” (confusion matrix), que permite comparar as verdadeiras classificações com as classificações obtidas por um modelo de previsão, sendo assim uma ferramenta importante na avaliação de tarefas de classificação. Tal como podemos observar na Tabela 4, esta é uma matriz bastante simples de construir, sendo apenas necessário comparar as previsões feitas pelo modelo para cada um dos indivíduos da amostra com os verdadeiros valores que os mesmos indivíduos apresentam.
Tabela 4: a matriz de confusão permite avaliar a qualidade do modelo e compreender qual o tipo de erro mais frequente no modelo. d c Positivo b a Negativo Verdadeiro Positivo Negativo Previsão d c Positivo b a Negativo Verdadeiro Positivo Negativo Previsão
Quando discutimos o lift, foi dito que o modelo preditivo associa a cada indivíduo um valor de propensão (score), que indica a tendência, segundo o modelo, de o indivíduo adoptar um comportamento específico (no caso responder positivamente à solicitação da empresa). Quando desenhamos os gráficos de lift basta ordenar este valor e analisar os resultados das diferentes decisões possíveis – se enviarmos para os primeiros 20% temos uma taxa de resposta de 50%, etc. Para construir a matriz de confusão necessitamos definir limites a partir dos quais um indivíduo é considerado como “respondente“ ou “não-respondente”. Por exemplo, o indivíduo x apresenta uma propensão de 0.4, devemos considerá-lo “respondente“ ou “não-respondente”? Podemos por exemplo estipular que qualquer indivíduo com um valor abaixo de 0.5 será considerado “não-respondente” (negativo) e acima de 0.5 “respondente“ (positivo). É este limite que tem que ser definido antes da construção da matriz de confusão.
⇒ a é o número de previsões correctas de que uma instância é negativa, no caso do exemplo que utilizámos anteriormente seriam os indivíduos identificados pelo modelo como sendo respondentes” e que se confirma serem de facto “não-respondentes”;
⇒ b é o número de previsões incorrectas de que uma instância é positiva, identificados pelo modelo como sendo “respondentes” e que se confirma serem “não-respondentes”;
⇒ c é o número de previsões incorrectas de que uma instância é negativa, identificados pelo modelo como sendo “não-respondentes” e que se confirma serem “respondentes”;
⇒ d é o número de previsões correctas de que uma instância é positiva, identificados pelo modelo como sendo “respondentes” e que se confirma serem de facto “respondentes”.
Com base nestes valores existem uma série de indicadores que podem ser calculados e que permitem uma melhor compreensão dos pontos fortes e dos pontos fracos do modelo desenvolvido. De seguida apresentamos alguns dos principais indicadores que podem ser construídos a partir da matriz de confusão:
⇒ Exactidão é a proporção do número total de previsões correctas:
d c b a d a AC + + + + =
⇒ Taxa de verdadeiros positivos é a proporção de casos positivos que foram correctamente identificados:
d
c
d
TP
+
=
b a b FP + =
⇒ Taxa de verdadeiros negativos é a proporção de casos negativos que foram correctamente identificados:
b
a
a
TN
+
=
⇒ Taxa de falsos negativos é a proporção de casos positivos que foram incorrectamente classificados como negativos:
d
c
c
FN
+
=
⇒ Precisão é a proporção de casos positivos que foram correctamente identificados:
d
b
d
P
+
=
6 LINKS DE INTERESSE
• Artigo sobre lift de David Coppock, retirado da DMReview para complementar a explicação dada aqui: http://www.dmreview.com/article_sub.cfm?articleId=5329
• Uma excelente explicação, com um exemplo trabalhado para a construção de um gráfico de ganhos cumulativos e um gráfico de lift de Howard Hamilton, Ergun Gurak, Leah Findlater e Wayne Olive (Copyright © 2000-2) da Universidade de Regina:
http://www2.cs.uregina.ca/~dbd/cs831/notes/lift_chart/lift_chart.html.
• Mais uma vez uma excelente explicação do pessoal da Universidade de Regina, desta vez sobre a matriz de confusão de Howard Hamilton, Ergun Gurak, Leah Findlater e Wayne Olive
(Copyright © 2000-2):
7 BIBLIOGRAFIA
• Berry, M., Linoff, G., 1997, “Data Mining Techniques, for sales, and customer support”, John Wiley and Sons.
• Barry M., Linoff, G., 2000 “Mastering Data Mining: The Art and Science of Customer Relationship Management”, Wiley.