Este documento compara o desempenho de vários algoritmos de machine learning na previsão do abandono de clientes em serviços desportivos. Analisou dados de mais de 8 mil clientes de uma instalação desportiva em Lisboa para treinar modelos preditivos utilizando algoritmos como k-vizinhos mais próximos, suporte de vetor, floresta aleatória e boosting de gradiente. Os resultados mostraram que estes algoritmos tiveram desempenhos similares e que o boosting de gradiente teve a maior precisão, enquanto a floresta
Business Process Management in Sports Organizations: A case study in the Euro...
Desempenho previsão abandono
1. Desempenho na previsão do abandono
recorrendo ao Machine Learning em serviços
de desporto
18ª Conferência da Associação Portuguesa de Sistemas
de Informação
Pedro Sobreiro, Paulo Pinheiro e Abel Santos
Santarém, Portugal, 13 de Outubro de 2018
Instituto Politécnico de Santarém - CIEQV sobreiro@esdrm.ipsantarem.pt
1
4. Objetivo do estudo
Comparar o desempenho, na previsão do
abandono dos clientes, recorrendo a vários
algoritmos de machine learning utilizando a
aproximação train-test e k-fold
3
6. Enquadramento teórico
Porquê prever o abandono?
• O setor de prestação de serviços desportivos apresenta taxas de
desistência elevadas (Avourdiadou & Theodorakis, 2014) ;
• A taxa de retenção em Portugal situa-se em 31% nos Ginásios e
Academias (Associação de Empresas de Ginásios e Academias de Portugal,
2016) ;
• Emeterio, Iglesias-Soler, Gallardo, Rodriguez-Cañamero e
García-Unanue (2016) referem que no primeiro ano de utilização
dos ginásios a retenção é apenas de 50%;
Avourdiadou, S., & Theodorakis, N. D. (2014). The development of loyalty among novice and experienced customers of sport and fitness
centres. Sport Management Review, 17(4), 419–431. doi:10.1016/j.smr.2014.02.001
Associação de Empresas de Ginásios e Academias de Portugal. (2016). Barómetro 2016
Emeterio, I. C. S., Iglesias-Soler, E., Gallardo, L., Rodriguez-Cañamero, S., & García-Unanue, J. (2016). A prediction model of retention in a
Spanish fitness centre. Managing Sport and Leisure, 21(5), 300–318. doi:10.1080/23750472.2016.1274675
4
7. Enquadramento teórico
Porquê prever o abandono?
• A retenção é fundamental para a rentabilidade para os ginásios
(Hurley, 2004; MacIntosh & Law, 2015);
• A retenção apresenta custos menores em relação à angariação
de novos clientes (Ahmad & Buttle, 2002; Edward & Sahadev, 2011);
• A previsão do abandono permite aos responsáveis das
instalações desportivas desenvolverem ações para contrariar o
abandono em clientes em risco;
Hurley, T. (2004). Managing Customer Retention in the Health and Fitness Industry: A Case of Neglect. Irish Marketing Review, 17(1/2),
23–29.
MacIntosh, E., & Law, B. (2015). Should I stay or should I go? Exploring the decision to join, maintain, or cancel a fitness membership.
Managing Sport and Leisure, 20(3), 191–210. doi:10.1080/23750472.2015.1025093
Ahmad, R., & Buttle, F. (2002). Customer retention management: a reflection of theory and practice. Marketing Intelligence & Planning,
20(3), 149–161. doi:10.1108/02634500210428003
Edward, M., & Sahadev, S. (2011). Role of switching costs in the service quality, perceived value, customer satisfaction and customer
retention linkage. Asia Pacific Journal of Marketing and Logistics, 23(3), 327–345. doi:10.1108/13555851111143240
5
8. Algoritmos para previsões
Algoritmos para previsão
• A previsão do abandono é um problema de classificação
(abandona ou não abandona). Utiliza um conjunto de técnicas
para aprenderem a modelar a relação entre um conjunto de
características descritivas e uma característica alvo (Kelleher et al.,
2015);
• Os algoritmos que analisamos foram selecionados de acordo
com a disponibilidade da biblioteca scikit-learn (Pedregosa et al.,
2011), considerando o desempenho, disponibilidade de
documentação e a variedade de algoritmos disponibilizados;
Kelleher, J. D., Namee, B. M., & D’Arcy, A. (2015). Fundamentals of Machine Learning for Predictive Data Analytics: Algorithms, Worked
Examples, and Case Studies (1 edition). Cambridge, Massachusetts: The MIT Press
Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., … Duchesnay, É. (2011). Scikit-learn: Machine Learning in
Python. Journal of Machine Learning Research, 12(Oct), 2825–2830
6
10. Metodologia
• Foram tratados dados de 8376 clientes de uma instalação
desportiva de Lisboa, obtidos através da aplicação informática
e@sport durante o período de tempo de 01 de Junho de 2014
até 31 de Outubro de 2017, correspondendo aos dados dos
clientes, histórico de pagamentos e acessos aos serviços
disponibilizados;
• O tratamento de dados foi realizado com o Anaconda e IPython
(Continuum Analytics, 2016) e recorrendo ao Pandas (McKinney & others,
2010) e NumPy (Walt, Colbert, & Varoquaux, 2011);
Continuum Analytics. (2016). Anaconda Software Distribution. Obtido 20 de Julho de 2017, de https://www.anaconda.com/download/
McKinney, W., & others. (2010). Data structures for statistical computing in python. Em Proceedings of the 9th Python in Science
Conference (Vol. 445, pp. 51–56). SciPy Austin, TX. Obtido de
https://pdfs.semanticscholar.org/f6da/c1c52d3b07c993fe52513b8964f86e8fe381.pdf
Walt, S. van der, Colbert, S. C., & Varoquaux, G. (2011). The NumPy Array: A Structure for Efficient Numerical Computation. Computing in
Science & Engineering, 13(2), 22–30. doi:10.1109/MCSE.2011.37
7
11. Metodologia
• A previsão e teste do modelo utilizou dados de treino e teste
numa proporção de 70/30% considerando a sua utilização
generalizada na literatura (Buntine & Niblett, 1992) e a validação
cruzada, recorrendo ao k-fold, dividindo em k grupos de
dimensões iguais, onde se realiza k iterações para treinar e
testar, o que obriga a que se treine o modelo k vezes.
Continuum Analytics. (2016). Anaconda Software Distribution. Obtido 20 de Julho de 2017, de https://www.anaconda.com/download/
McKinney, W., & others. (2010). Data structures for statistical computing in python. Em Proceedings of the 9th Python in Science
Conference (Vol. 445, pp. 51–56). SciPy Austin, TX. Obtido de
https://pdfs.semanticscholar.org/f6da/c1c52d3b07c993fe52513b8964f86e8fe381.pdf
Walt, S. van der, Colbert, S. C., & Varoquaux, G. (2011). The NumPy Array: A Structure for Efficient Numerical Computation. Computing in
Science & Engineering, 13(2), 22–30. doi:10.1109/MCSE.2011.37
Buntine, W., & Niblett, T. (1992). A further comparison of splitting rules for decision-tree induction. Machine Learning, 8(1), 75–85.
doi:10.1007/BF00994006
8
12. Metodologia
Table 1: Algoritmos utilizados para a classificação do abandono
Algoritmo
k nearest neighbors classifier
C-Support Vector Classification
Logistic Regression
Decision Tree Classifier
Gaussian Naive Bayes
Random Forest Classifier
Gradient Boosting Classifier
9
13. Metodologia
Table 2: Variáveis utilizadas
Variável Definição
idade Representa a idade do cliente
genero Representa o género do cliente
diassemfrequencia O número de dias sem frequentar as instalações
mesesinscricao Tempo de inscrição do cliente em meses
volnegocios Valor faturado ao cliente
freqmedia Frequencia média do cliente por semana
utilizacao_livre Variável que indica se o cliente realizava ou não uma
utilização livre da instalação
atividade_aquaticas Realiza ou não atividade aquática
atividade_fitness Realizar ou não atividade fitness
natividades Número de atividades
nfrequencias Número de vezes que o cliente frequentou a instalação
freqcontratadasemanal Número de vezes que o cliente contratou realizar
nrenovacoes Número de vezes que o cliente renovou o contrato
nreferencias Número de referências que indicou
classe_desistencia Abandonou ou não
10
15. Exatidão da previsão
• Calculada através da confrontação da previsão realizada face à
situação real do cliente, se abandonou ou não abandonou a
instalação desportiva;
• Exatidão obtida através da matriz de confusão que representa
os True Positive (TP - Não abandonou com resultado previsto de
não abandono), True Negative (TN - Abandonou com resultado
previsto de abandonar), False Positive (FP - Não abandonou com
resultado previsto de abandonar), False Negative (FN -
Abandonou com resultado previsto de não abandonar);
• A precisão da previsão calculada com TP/(TP+FP) referente aos
clientes que não abandonaram;
11
16. Exatidão da previsão
Table 3: Comparação da taxa de sucesso e tempo de execução das previsões
realizadas
Algoritmo Exatidão TT Tempo TT Exatidão k-fold Tempo k-fold
KNN 0.879179 0.219 0.880611 0.323
SVC 0.788443 6.215 0.780919 67.686
LR 0.851480 0.147 0.853630 1.140
DT 0.888730 0.060 0.894583 0.519
GNB 0.781757 0.010 0.795128 0.076
RFC 0.924069 0.242 0.916551 0.943
GBC 0.933142 0.797 0.926700 6.065
12
17. Resultados
Comparamos os resultados obtidos na exatidão e tempo de
execução nos algoritmos k nearest neighbors classifier; C-Support
Vector Classification; Logistic Regression; Decision Tree Classifier;
Gaussian Naive Bayes; Random Forest Classifier e Gradient Boosting
Classifier com o teste Mann-Withney.
Os resultados obtidos com um p > 0.05 permitem-nos afirmar que
não existem diferenças significativas na exatidão da previsão e no
tempo de execução.
13
19. Conclusões
• Na comparação do desempenho não encontramos diferenças
significativas nos resultados obtidos nos algoritmos utilizando
70/30% para treinar e testar e o k-fold;
• Apesar das vantagens que o k-fold apresenta para reduzir o
problema de overfitting, a sua utilização deverá ser
equacionada considerando a duração na previsão;
• O algoritmo baseado no Gradient Boosting Classifier apresentou
um bom desempenho em termos precisão, contudo se tivermos
necessidade de um algoritmo com melhor desempenho
considerando a execução, o Random Forest Classifier poderá ser
uma opção para a previsão do abandono;
14
20. Obrigado!
Pedro Sobreiro - ESDRM-IPSantarem / CIEQV
Paulo Pinheiro - Cedis/Universidade Aberta
Abel Santos - ESDRM-IPSantarem / CIEQV
15