Modélisation prédictive de l'incidence et des montants d'achats - Analyse comparative

Résumé en cours de rédaction
Modélisation prédictive de l'incidence et des montants d'achats - Analyse comparative Michel Calciu et Francis Salerno Notes de cours à l'IAE de Lille 2004
Résumé en cours de rédaction

Introduction

Introduction
Préparation des données
Préparation des données

Les 24390 clients et prospects de la base de données sont organisés en deux échantillons, les premiers deux tiers forment l'échantillon d'estimation sur lequel les modèles seront calibres et le dernier tiers est mis à part comme l'échantillon test pour vérifier la performance prédictive des modèles

Listing 1

  1. brabant <- read.table("C:/Documents and Settings/calciu/Mes documents/Collaborations/salerno/book_md/Brabant/Briant/Etude_tot/brabant24390.txt", header=TRUE, sep="", na.strings="NA", dec=".", strip.white=TRUE)
  2. samp<-c(1:(nrow(brabant)*2/3)) # premiers 2/3 de la BD clients
  3. dt<-brabant[samp,] # échantillon d'estimation
  4. attach(dt)
  5. table(if_cde97) # répondants et non-répondant dans l'échantillon d'estimation
  6. mean(ca97[which(ca97>0)]) # montant moyen de commandes (échantillon d'estimation)
  7. dt<-brabant[-samp,] # echantillons de validation
  8. attach(dt)
  9. table(if_cde97) # répondants et non-répondant dans l'échantillon de validation
  10. mean(ca97[which(ca97>0)]) # montant moyen de commandes (échantillon de validation)
  11. mean(brabant$ca97[which(brabant$ca97>0)]) # montant moyen de commandes (BD clients)

Tableau 1 - Descriptif de la BD clients et des échantillons d'estimation et validation

  Taille Répondants Non
Répondants
Taux de réponse Montant moyen
Échantillon d'estimation 16260 5534 10726 34,0% 378.37F
Échantillon de validation 8130 2808 5322 34,5% 384.91F
Total 24390 8342 16048 34,2% 380.57F

‘‘Conventionellement’’ le nombre d'acheteurs suggéré dans la littérature comme minimum pour calibrer un modèle significatif doit dépasser 500 acheteurs, voir même s'approcher de 1.000—(voir par exemple Nash 1993, p. 143).


Les variables RFM
Les variables RFM

Dans le contexte de cette étude les variables utilisées sont uniquement de variables comportementales, de type RFM (Récence, Fréquence et Montant).

Sept variables de type RFM ont été construites à partir de l'historique d'achat : deux sont des mesures de récence (R1 et R2), deux autres mesurent la fréquence (F1 et F2), et trois variables expriment le montant (M1, M2, M3). Elles sont décrites dans le tableau 2.

Tableau 2 – Définition des variables de la famille RFM

R1 Le numéro du semestre de la dernière réponse - c'est une mesure croissante, d'autres études utilisent l'équivalent mais dans un sens décroissant c'est-à-dire le nombre de périodes depuis la dernière réponse 
R2 Nombre de semestres depuis la première commande - c'est une mesure d'ancienneté dans la base de donnée clients. Dans le contexte de cette étude focalise sur le réachat, on prend le nombre de semestre depuis la première répétition de la commande.
F1 Le nombre moyen de commandes par saison, est équivalent dans ce cas de figure à la mesure plus générale nombre de commandes par mailing ou à la fraction des mailings auxquels la cible à répondu
F2 Nombre de commandes durant la période précédente. Elle est équivalente au délai de réponse du client durant la période précédente, mesure qu'on retrouve dans d'autres études.
M1 Montant moyen des commandes (se réfère au montant moyen de toutes les commandes données en réponse à des mailings précédents)
M2 Montant de la dernière commande
M3 Montant moyen des commandes par semestre

Calculs préparatifs sur les variables
Calculs préparatifs sur les variables

Les valeurs des variables RFM ainsi définies ont été calculées pour les sept saisons. Elles serviront pour expliquer l'incidence d'achat. Pour permettre la mise en évidence des effets saisonniers, la relation de causalité entre les variables RFM et l'incidence d'achat sera estimée par les différentes méthodes de ciblage retenues en considérant à chaque fois un décalage d'une et de deux saisons entre la variable dépendante et les variables indépendantes. Afin de pouvoir alterner ces décalages tout-en conservant un historique d'achat suffisant nécessaire à la définition d'une partie des variables RFM, les modèles d'incidence d'achat seront uniquement estimés pour les trois dernières saisons.


  Taille Répondants Non Répondants Taux de réponse Montant moyen Échantillon d'estimation 16260 5534 10726 34,0% 378.37F Échantillon de validation 8130 2808 5322 34,5% 384.91F Total 24390 8342 16048 34,2% 380.57F R1 Le numéro du semestre de la dernière réponse - c'est une mesure croissante, d'autres études utilisent l'équivalent mais dans un sens décroissant c'est-à-dire le nombre de périodes depuis la dernière réponse  R2 Nombre de semestres depuis la première commande - c'est une mesure d'ancienneté dans la base de donnée clients. Dans le contexte de cette étude focalise sur le réachat, on prend le nombre de semestre depuis la première répétition de la commande. F1 Le nombre moyen de commandes par saison, est équivalent dans ce cas de figure à la mesure plus générale nombre de commandes par mailing ou à la fraction des mailings auxquels la cible à répondu F2 Nombre de commandes durant la période précédente. Elle est équivalente au délai de réponse du client durant la période précédente, mesure qu'on retrouve dans d'autres études. M1 Montant moyen des commandes (se réfère au montant moyen de toutes les commandes données en réponse à des mailings précédents) M2 Montant de la dernière commande M3 Montant moyen des commandes par semestre

Modèles de prévision de l'incidence d'achat

Modèles de prévision de l'incidence d'achat
Présentation
Présentation

Un premier groupe de modèle s' intéressent à l'incidence de l'achat. Il permettent d' estimer la probabilité d' achat de chaque client et/ou prospect. On parle aussi de modèles de choix binaire, car la variable expliquée (dépendante) est du type oui/non et codé 0/1: 0 pour ‘‘non’’ (ex. non-achat), 1 pour ‘‘oui’’ (achat). La plupart de modèles qu' on utilise ici ont comme résultat l' estimation d'une probabilité de réponse pour chaque client et/ou prospect dans la base de données.

Parmi les modèles estimés on trouve les modèles logit et probit, l'analyse discriminante, les réseaux de neurones et les arbres de régression et classification (CART)


Le modèle logistique

Le modèle logistique
Le modèle logistique - estimation
Le modèle logistique - estimation

les modèles logistiques de type probit ou logit ont l'avantage d'être bien adaptés aux problèmes de décision binaire (achat/non-achat) et d'éviter les désavantages du modèle linéaire de probabilité. Ils sont fréquemment utilisés dans le marketing des bases de données ("database marketing"). Ils supposent l'existence d'une variable latente qui mesure la propension de répondre. Elle dépend d'une série de caractéristiques individuelles représentées dans ce contexte par les variables RFM. Par rapport aux RNA, ces modèles ont l'avantage d'être faciles à interpréter et ils sont connus pour être robustes et donner de bons résultats dans les études comparatives. 

Listing 2

  1. #Logit Regression
  2. dt<-brabant[samp,]
  3. attach(dt)
  4. formula<-if_cde97 ~ r6 + rr6 + f6m + m6m + mm6m + caa96 + cda96
  5. rfm.logit<-glm(formula,family=binomial)
  6. par(mfrow=c(2,2))
  7. plot(rfm.logit)
  8. summary(rfm.logit)
  9. dt<-brabant[-samp,]
  10. attach(dt)
  11. predictv<-predict(rfm.logit, type="response", newdata=dt)
  12. names(predictv)<-1:length(predictv)
  13. gc<-gainchart(predictv,dt$if_cde97)
  14. par(mfrow=c(2,2))
  15. plot_gaincharts(gc)

Analyse:

La formule qui exprime la relation entre l'incidence de l'achat (if_cde97) et les variables rfm est utilisé pour calibrer le modèle logit dans le cadre de la procédure de régression linéaire généralisée (GLM). Le modèle logit est la variante par default dans la famille des modèles binomiaux.

Pour verifier les performances predictives et economiques du modèle calibré sur deux tiers des clients on effectue les calculs prédictifs sur le tiers complémentair et on calcule le tableau des gains (gainchart).


Performances prédictives et"gainchart"
Performances prédictives et"gainchart"

Le tableau présente le résultat des estimation par la régression logistique, appliquée à l'échantillon test, dans l'ordre décroissante de la réponse par décile. Ce tableau est souvent appelé tableau des gains. (dans le Table 2, et dans tous les autres tableaux, Cum. signifie commutatif ..).La probabilité dans la colonne 1 représente la limite inférieure de chaque décile ou autrement dit l'equivalent de la probabilité d'achat du dernier individu dans chaque décile. Le tableau donne aussi le profit évalué au niveau de chaque décile calculé en multipliant le nombre de répondants dans le décile avec le revenu moyen par commande qui lui est égale à la marge de 10% multipliée au prix moyen de 385F (à traduire en euros !!!) et en déduisant les coûts de mailing (ici 10F).

          decilp cumaud actnresp actcumnresp actcumbuyprc  actprofit
90% 0.7344562970    813      756         756    0.2692308 22361.9400
80% 0.5050995635   1626      447        1203    0.4284188  9898.9645
70% 0.3554658175   2439      242        1445    0.5146011  1630.6475
60% 0.2995881086   3252      236        1681    0.5986467  1388.6479
50% 0.2729314765   4065      199        1880    0.6695157  -103.6825
40% 0.2513532030   4878      192        2072    0.7378917  -386.0152
30% 0.2275148597   5691      194        2266    0.8069801  -305.3487
20% 0.1956701278   6504      185        2451    0.8728632  -668.3480
10% 0.1486433054   7317      182        2633    0.9376781  -789.3478
0%  0.0001478885   8130      175        2808    1.0000000 -1071.6805
actprofitcum prednresp predcumnresp
90%     22361.94       613     613.1641
80%     32260.90       507    1119.9803
70%     33891.55       343    1462.5550
60%     35280.20       264    1726.4727
50%     35176.52       232    1958.7308
40%     34790.50       214    2172.2431
30%     34485.15       195    2366.9972
20%     33816.81       172    2539.3757
10%     33027.46       142    2681.6958
0%      31955.78        74    2756.0499

Analyse:

Le taux de réponse d'équilibre (TRE) est égale ici a 10/(0,1*384,91)=25,98% ). Dans ces conditions il convient d'envoyer les mailings aux premiers 4 déciles ou à 3252 clients qui récupèrent 1681 réponses ou 59,86% des achats et un profit total de 23775F.

La qualité de la prédiction du modèle logistique est exprimée par le pourcentage des acheteurs qui décline ici fortement avec les décile, de 756 dans le premier deciles à 175 dans le dernier decile(et le nombre prédit de répondants dans chaque décile ce trouve dans les limites de l' intervalle de confiance de 95%...)


Le modèle logistique - graphiques
Le modèle logistique - graphiques

La courbe du profit cumulé est unimodale elle atteint un maximum au niveau de quatrième décile.


Détails de l' estimation
Détails de l' estimation
> summary(rfm.logit)
Call:
glm(formula = formula, family = binomial)
Deviance Residuals:
Min       1Q   Median       3Q      Max 
-3.5671  -0.8105  -0.6577   0.7857   4.4621 
Coefficients:
Estimate Std. Error z value Pr(>|z|)   
(Intercept)  1.2325091  0.0477925  25.789  < 2e-16 ***
r6          -0.1633880  0.0139770 -11.690  < 2e-16 ***
rr6         -0.2151581  0.0139683 -15.403  < 2e-16 ***
f6m         -1.6690579  0.1909874  -8.739  < 2e-16 ***
m6m         -0.0055871  0.0001886 -29.616  < 2e-16 ***
mm6m         0.0148018  0.0005773  25.638  < 2e-16 ***
caa96        0.0009261  0.0001780   5.203 1.96e-07 ***
cda96        0.1081955  0.0804543   1.345    0.179   
---
Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 20854  on 16259  degrees of freedom
Residual deviance: 17860  on 16252  degrees of freedom
AIC: 17876
Number of Fisher Scoring iterations: 5


          decilp cumaud actnresp actcumnresp actcumbuyprc  actprofit90% 0.7344562970    813      756         756    0.2692308 22361.940080% 0.5050995635   1626      447        1203    0.4284188  9898.964570% 0.3554658175   2439      242        1445    0.5146011  1630.647560% 0.2995881086   3252      236        1681    0.5986467  1388.647950% 0.2729314765   4065      199        1880    0.6695157  -103.682540% 0.2513532030   4878      192        2072    0.7378917  -386.015230% 0.2275148597   5691      194        2266    0.8069801  -305.348720% 0.1956701278   6504      185        2451    0.8728632  -668.348010% 0.1486433054   7317      182        2633    0.9376781  -789.34780%  0.0001478885   8130      175        2808    1.0000000 -1071.6805actprofitcum prednresp predcumnresp90%     22361.94       613     613.164180%     32260.90       507    1119.980370%     33891.55       343    1462.555060%     35280.20       264    1726.472750%     35176.52       232    1958.730840%     34790.50       214    2172.243130%     34485.15       195    2366.997220%     33816.81       172    2539.375710%     33027.46       142    2681.69580%      31955.78        74    2756.0499   > summary(rfm.logit)Call:glm(formula = formula, family = binomial)Deviance Residuals: Min       1Q   Median       3Q      Max  -3.5671  -0.8105  -0.6577   0.7857   4.4621  Coefficients:Estimate Std. Error z value Pr(>|z|)    (Intercept)  1.2325091  0.0477925  25.789  < 2e-16 ***r6          -0.1633880  0.0139770 -11.690  < 2e-16 ***rr6         -0.2151581  0.0139683 -15.403  < 2e-16 ***f6m         -1.6690579  0.1909874  -8.739  < 2e-16 ***m6m         -0.0055871  0.0001886 -29.616  < 2e-16 ***mm6m         0.0148018  0.0005773  25.638  < 2e-16 ***caa96        0.0009261  0.0001780   5.203 1.96e-07 ***cda96        0.1081955  0.0804543   1.345    0.179    ---Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 (Dispersion parameter for binomial family taken to be 1)Null deviance: 20854  on 16259  degrees of freedomResidual deviance: 17860  on 16252  degrees of freedomAIC: 17876Number of Fisher Scoring iterations: 5

Le modèle probit

Le modèle probit
Présentation
Présentation

La seule différence entre les modèles de réponse logit et probit réside dans la distribution du terme d'erreur qui suit une loi normale pour le modèle probit et une loi logistique pour le modèle probit.

Listing 3

  1. #Probit Regression
  2. dt<-brabant[samp,]
  3. attach(dt)
  4. formula<-if_cde97 ~ r6 + rr6 + f6m + m6m + mm6m + caa96 + cda96
  5. rfm.probit<-glm(formula,family=binomial(link=probit))
  6. par(mfrow=c(2,2))
  7. plot(rfm.probit)
  8. dt<-brabant[-samp,]
  9. attach(dt)
  10. predictv<-predict(rfm.probit, type="response", newdata=dt)
  11. names(predictv)<-1:length(predictv)
  12. gc<-gainchart(predictv,dt$if_cde97)
  13. par(mfrow=c(2,2))
  14. plot_gaincharts(gc)

Analyse:

La formule qui exprime la relation entre l'incidence de l'achat (if_cde97) et les variables rfm est utilisé pour calibrer le modèle probit dans le cadre de la procédure de régression linéaire généralisée (GLM). Le modèle probit est une option dans la famille des modèles binomiaux.

Pour verifier les performances predictives et economiques du modèle calibré sur deux tiers des clients on effectue les calculs prédictifs sur le tiers complémentair et on calcule le tableau des gains (gainchart).


Performances prédictives et"gainchart"
Performances prédictives et"gainchart"

Prévision sur l'échantillon test

          decilp cumaud actnresp actcumnresp actcumbuyprc  actprofit
90% 7.149740e-01    813      757         757    0.2695869 22402.2733
80% 5.186516e-01   1626      420        1177    0.4191595  8809.9667
70% 3.569065e-01   2439      260        1437    0.5117521  2356.6460
60% 2.980141e-01   3252      254        1691    0.6022080  2114.6465
50% 2.744688e-01   4065      200        1891    0.6734330   -63.3492
40% 2.572574e-01   4878      182        2073    0.7382479  -789.3478
30% 2.331294e-01   5691      194        2267    0.8073362  -305.3487
20% 2.021866e-01   6504      181        2448    0.8717949  -829.6810
10% 1.641821e-01   7317      183        2631    0.9369658  -749.0145
0%  9.314069e-06   8130      177        2808    1.0000000  -991.0140
actprofitcum prednresp predcumnresp
90%     22402.27       597     596.7456
80%     31212.24       501    1097.7954
70%     33568.89       354    1451.4157
60%     35683.53       265    1716.2062
50%     35620.18       232    1947.7438
40%     34830.84       216    2164.0331
30%     34525.49       199    2363.1990
20%     33695.81       178    2541.2513
10%     32946.79       152    2693.2103
0%      31955.78        87    2780.4836

Graphiques
Graphiques


Détails de l'estimation
Détails de l'estimation
> summary(rfm.probit)
Call:
glm(formula = formula, family = binomial(link = probit))
Deviance Residuals:
Min       1Q   Median       3Q      Max 
-4.0410  -0.8124  -0.6717   0.8192   5.3141 
Coefficients:
Estimate Std. Error z value Pr(>|z|)   
(Intercept)  0.7058819  0.0280535  25.162  < 2e-16 ***
r6          -0.1120021  0.0081243 -13.786  < 2e-16 ***
rr6         -0.1379071  0.0081048 -17.015  < 2e-16 ***
f6m         -0.7960692  0.1124613  -7.079 1.46e-12 ***
m6m         -0.0027743  0.0001011 -27.443  < 2e-16 ***
mm6m         0.0079089  0.0003270  24.183  < 2e-16 ***
caa96        0.0004343  0.0001008   4.309 1.64e-05 ***
cda96        0.1016661  0.0471255   2.157    0.031 * 
---
Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 20854  on 16259  degrees of freedom
Residual deviance: 18008  on 16252  degrees of freedom
AIC: 18024
Number of Fisher Scoring iterations: 6



          decilp cumaud actnresp actcumnresp actcumbuyprc  actprofit90% 7.149740e-01    813      757         757    0.2695869 22402.273380% 5.186516e-01   1626      420        1177    0.4191595  8809.966770% 3.569065e-01   2439      260        1437    0.5117521  2356.646060% 2.980141e-01   3252      254        1691    0.6022080  2114.646550% 2.744688e-01   4065      200        1891    0.6734330   -63.349240% 2.572574e-01   4878      182        2073    0.7382479  -789.347830% 2.331294e-01   5691      194        2267    0.8073362  -305.348720% 2.021866e-01   6504      181        2448    0.8717949  -829.681010% 1.641821e-01   7317      183        2631    0.9369658  -749.01450%  9.314069e-06   8130      177        2808    1.0000000  -991.0140actprofitcum prednresp predcumnresp90%     22402.27       597     596.745680%     31212.24       501    1097.795470%     33568.89       354    1451.415760%     35683.53       265    1716.206250%     35620.18       232    1947.743840%     34830.84       216    2164.033130%     34525.49       199    2363.199020%     33695.81       178    2541.251310%     32946.79       152    2693.21030%      31955.78        87    2780.4836   > summary(rfm.probit)Call:glm(formula = formula, family = binomial(link = probit))Deviance Residuals: Min       1Q   Median       3Q      Max  -4.0410  -0.8124  -0.6717   0.8192   5.3141  Coefficients:Estimate Std. Error z value Pr(>|z|)    (Intercept)  0.7058819  0.0280535  25.162  < 2e-16 ***r6          -0.1120021  0.0081243 -13.786  < 2e-16 ***rr6         -0.1379071  0.0081048 -17.015  < 2e-16 ***f6m         -0.7960692  0.1124613  -7.079 1.46e-12 ***m6m         -0.0027743  0.0001011 -27.443  < 2e-16 ***mm6m         0.0079089  0.0003270  24.183  < 2e-16 ***caa96        0.0004343  0.0001008   4.309 1.64e-05 ***cda96        0.1016661  0.0471255   2.157    0.031 *  ---Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 (Dispersion parameter for binomial family taken to be 1)Null deviance: 20854  on 16259  degrees of freedomResidual deviance: 18008  on 16252  degrees of freedomAIC: 18024Number of Fisher Scoring iterations: 6

L'analyse discriminante

L'analyse discriminante
Presentation
Presentation

Conceptuellement, l'analyse discriminante s'éloigne assez fortement des méthodes précédentes car elle tente de trouver une fonction assurant la meilleure discrimination entre répondants et non-répondants. Elle présente l'avantage d'offrir des repères capables d'indiquer si les sujets sont mal classés. En même temps, c'est une technique très sensible aux violations des présomptions de normalité pour des  taux de réponses inférieurs à 10% (Shepard, 1995), très fréquents en marketing direct.

Listing 4

  1. # Linear discriminant analysis
  2. library(MASS)
  3. dt<-brabant[samp,]
  4. attach(dt)
  5. formula<-if_cde97 ~ r6 + rr6 + f6m + m6m + mm6m + caa96 + cda96
  6. rfm.lda<-lda(formula)
  7. dt<-brabant[-samp,]
  8. attach(dt)
  9. predictv<-pnorm(predict(rfm.lda, newdata=dt)$x)[,1]
  10. names(predictv)<-1:length(predictv)
  11. gc<-gainchart(predictv,if_cde97)
  12. par(mfrow=c(2,2))
  13. plot_gaincharts(gc)

Analyse:

La formule qui exprime la relation entre l'incidence de l'achat (if_cde97) et les variables rfm est utilisé pour calibrer la fonction discriminante dans le cadre de la procédure d'analyse discriminante linéaire (lda).

Pour verifier les performances predictives et economiques du modèle calibré sur deux tiers des clients on effectue les calculs prédictifs sur le tiers complémentair et on calcule le tableau des gains (gainchart). Le score de chaque individu sur l'axe discriminant a été transformés en probabilités


Performances prédicitves et gaincharts
Performances prédicitves et gaincharts
          decilp cumaud actnresp actcumnresp actcumbuyprc   actprofit
90% 9.758435e-01    813      760         760    0.2706553 22523.27305
80% 8.406447e-01   1626      402        1162    0.4138177  8083.96811
70% 5.506324e-01   2439      266        1428    0.5085470  2598.64557
60% 4.102104e-01   3252      264        1692    0.6025641  2517.97906
50% 3.712867e-01   4065      201        1893    0.6741453   -23.01594
40% 3.314115e-01   4878      163        2056    0.7321937 -1555.67960
30% 2.842432e-01   5691      187        2243    0.7987892  -587.68150
20% 2.268241e-01   6504      189        2432    0.8660969  -507.01499
10% 1.629607e-01   7317      197        2629    0.9362536  -184.34896
0%  2.898771e-10   8130      179        2808    1.0000000  -910.34753
actprofitcum prednresp predcumnresp
90%     22523.27       796     795.5005
80%     30607.24       744    1539.4630
70%     33205.89       579    2118.6133
60%     35723.87       385    2503.2098
50%     35700.85       313    2816.4065
40%     34145.17       288    3104.3323
30%     33557.49       249    3353.8250
20%     33050.47       212    3565.5044
10%     32866.12       162    3727.5886
0%      31955.78        76    3803.1886

Graphiques
Graphiques


Détails de l'estimation
Détails de l'estimation
> rfm.lda
Call:
lda(formula)
Prior probabilities of groups:
0         1
0.6596556 0.3403444
Group means:
r6      rr6       f6m      m6m     mm6m    caa96     cda96
0 3.920007 3.849431 0.2673877 314.8795 85.00014 76.32985 0.2079993
1 3.069389 3.066498 0.2712324 216.8773 88.12694 92.32635 0.2408746
Coefficients of linear discriminants:
LD1
r6    -0.2588723506
rr6   -0.2625079196
f6m   -1.5374511676
m6m   -0.0047851241
mm6m   0.0149037456
caa96  0.0007484936
cda96  0.2720612945

          decilp cumaud actnresp actcumnresp actcumbuyprc   actprofit90% 9.758435e-01    813      760         760    0.2706553 22523.2730580% 8.406447e-01   1626      402        1162    0.4138177  8083.9681170% 5.506324e-01   2439      266        1428    0.5085470  2598.6455760% 4.102104e-01   3252      264        1692    0.6025641  2517.9790650% 3.712867e-01   4065      201        1893    0.6741453   -23.0159440% 3.314115e-01   4878      163        2056    0.7321937 -1555.6796030% 2.842432e-01   5691      187        2243    0.7987892  -587.6815020% 2.268241e-01   6504      189        2432    0.8660969  -507.0149910% 1.629607e-01   7317      197        2629    0.9362536  -184.348960%  2.898771e-10   8130      179        2808    1.0000000  -910.34753actprofitcum prednresp predcumnresp90%     22523.27       796     795.500580%     30607.24       744    1539.463070%     33205.89       579    2118.613360%     35723.87       385    2503.209850%     35700.85       313    2816.406540%     34145.17       288    3104.332330%     33557.49       249    3353.825020%     33050.47       212    3565.504410%     32866.12       162    3727.58860%      31955.78        76    3803.1886   > rfm.ldaCall:lda(formula)Prior probabilities of groups:0         1 0.6596556 0.3403444 Group means:r6      rr6       f6m      m6m     mm6m    caa96     cda960 3.920007 3.849431 0.2673877 314.8795 85.00014 76.32985 0.20799931 3.069389 3.066498 0.2712324 216.8773 88.12694 92.32635 0.2408746Coefficients of linear discriminants:LD1r6    -0.2588723506rr6   -0.2625079196f6m   -1.5374511676m6m   -0.0047851241mm6m   0.0149037456caa96  0.0007484936cda96  0.2720612945

Réseau de neurones

Réseau de neurones
Presentation
Presentation

Le RNA utilisé ici est de type feedforward entraîné avec l'algorithme de rétro-propagation classique (Rumalhart et McCleelland, 1986). « On peut considérer les réseaux de neurones feedforward comme des modèles de régression non-linéaires dont la complexité peut être changée » (Bentz et Merunka, 2000, p.183).

Le modèle final de RNA comportait sept variables RFM dans la couche d'entrée, un neurone dans la couche de sortie et quatre neurones dans la couche cachée. Une couche cachée est suffisante pour capter les non-linéarités qui peuvent se trouver dans des problèmes de ciblage de ce type. Pour rendre cette étude comparable avec d'autres études utilisant le même type de variables RFM, le nombre de neurones dans la couche cachée a été fixé à quatre. Cela semble suffire et permet d'éviter des risques de sur-calibrage (overfitting) qui ont  un effet négatif sur le pouvoir de généralisation et implicitement sur le pouvoir prédictif du RNA. Plusieurs essais avec un plus grand nombre de neurones ont été réalisés mais les résultats sur la qualité de l'ajustement aux données ne se sont pas améliorés de manière significative. Le nombre de poids à estimer dans une telle architecture est égale à : [ (1 + Nombre d'entrées)*Nombre de neurones cachés] + [(1 + Nombre de neurones cachés)*Nombre de sorties], c'est-à-dire  (1+7)*4 + (1+4)*1=37.

Ces poids sont initialisés aléatoirement dans l'intervalle (-0.1,0.1). Le processus d'entraînement s'arrête après un nombre d'époques fixées ici à 500, ou avant si le niveau de précision est atteint.

(!! En parallèle un autre modèle RNA, qualifié de multiple est obtenu en entraînant successivement et sur les mêmes données dix modèles RNA pour retenir le meilleur. Le nombre d'époques est fixé dans ce cas à 200. Les deux modèles sont complémentaires car le deuxième en reprenant l'entraînement plusieurs fois avec des poids qui s'initialisent avec de valeurs différentes permet d'éviter certains optimums locaux) .

La standardisation des variables en entrée améliore la stabilité du processus d'entraînement, car le réseau n'est pas obligé d'opérer avec des poids qui ont des ordres de grandeur différents.

Listing 5

  1. # Neural networks (Multilayer perceptron)
  2. library(nnet)
  3. dt<-brabant[samp,]
  4. attach(dt)
  5. formula<-if_cde97 ~ r6 + rr6 + f6m + m6m + mm6m + caa96 + cda96
  6. rfm.nn<-nnet(formula, size = 4, rang = 0.1, decay=0.1, maxit=500)
  7. dt<-brabant[-samp,]
  8. attach(dt)
  9. predictv<-(predict(rfm.nn, newdata=dt))[,1]
  10. names(predictv)<-1:length(predictv)
  11. gc<-gainchart(predictv,if_cde97)
  12. par(mfrow=c(2,2))
  13. plot_gaincharts(gc)

Analyse:

La formule qui exprime la relation entre l'incidence de l'achat (if_cde97) et les variables rfm est utilisé pour entrainer le réseau de neurones de type backpropagation multylayer perceptrion et pour définir le nombre de neurones dans la couche d'entrée (7+1) et dans la couche de sortie (1). La taille de la couche caché (4 neurones) et le nombre d'iteration maximum sont spécifiés avec la procédure .

Pour verifier les performances predictives et economiques du réseau entrainé sur deux tiers des clients on effectue les calculs prédictifs sur le tiers complémentair et on calcule le tableau des gains (gainchart).


Performances prédicitves et gaincharts
Performances prédicitves et gaincharts
       decilp cumaud actnresp actcumnresp actcumbuyprc  actprofit actprofitcum
90% 0.9825367    813      813         813    0.2895299 24660.9355     24660.94
80% 0.4511096   1626      519        1332    0.4743590 12802.9588     37463.89
70% 0.3423137   2439      324        1656    0.5897436  4937.9743     42401.87
60% 0.2705801   3252      238        1894    0.6745014  1469.3145     43871.18
50% 0.2467132   4065      211        2105    0.7496439   380.3166     44251.50
40% 0.1897341   4878      211        2316    0.8247863   380.3166     44631.82
30% 0.1695216   5691      149        2465    0.8778490 -2120.3452     42511.47
20% 0.1392824   6504      131        2596    0.9245014 -2846.3437     39665.13
10% 0.1264447   7317      114        2710    0.9650997 -3532.0090     36133.12
0%  0.1085523   8130       98        2808    1.0000000 -4177.3411     31955.78
prednresp predcumnresp
90%       799     798.8023
80%       521    1319.4807
70%       313    1632.2068
60%       246    1878.0245
50%       212    2089.9675
40%       174    2263.5340
30%       145    2408.5880
20%       122    2530.1520
10%       108    2638.6361
0%         97    2735.2863

Graphiques
Graphiques


Détails de l'estimation
Détails de l'estimation
> summary(rfm.nn)
a 7-4-1 network with 37 weights
options were - decay=0.1
b->h1 i1->h1 i2->h1 i3->h1 i4->h1 i5->h1 i6->h1 i7->h1
1.47  -0.12   1.40  -0.01  -0.49  -0.09   0.00   0.00
b->h2 i1->h2 i2->h2 i3->h2 i4->h2 i5->h2 i6->h2 i7->h2
0.55  -0.80   0.51   0.07   0.00   0.05   0.26   0.01
b->h3 i1->h3 i2->h3 i3->h3 i4->h3 i5->h3 i6->h3 i7->h3
-0.87  -0.15  -1.23  -0.02   0.69   0.10  -0.25   0.12
b->h4 i1->h4 i2->h4 i3->h4 i4->h4 i5->h4 i6->h4 i7->h4
2.26  -0.31   0.13  -2.68   0.00   0.00   0.00   0.49
b->o h1->o h2->o h3->o h4->o
2.54  5.28  0.75 -1.56 -4.25

       decilp cumaud actnresp actcumnresp actcumbuyprc  actprofit actprofitcum90% 0.9825367    813      813         813    0.2895299 24660.9355     24660.9480% 0.4511096   1626      519        1332    0.4743590 12802.9588     37463.8970% 0.3423137   2439      324        1656    0.5897436  4937.9743     42401.8760% 0.2705801   3252      238        1894    0.6745014  1469.3145     43871.1850% 0.2467132   4065      211        2105    0.7496439   380.3166     44251.5040% 0.1897341   4878      211        2316    0.8247863   380.3166     44631.8230% 0.1695216   5691      149        2465    0.8778490 -2120.3452     42511.4720% 0.1392824   6504      131        2596    0.9245014 -2846.3437     39665.1310% 0.1264447   7317      114        2710    0.9650997 -3532.0090     36133.120%  0.1085523   8130       98        2808    1.0000000 -4177.3411     31955.78prednresp predcumnresp90%       799     798.802380%       521    1319.480770%       313    1632.206860%       246    1878.024550%       212    2089.967540%       174    2263.534030%       145    2408.588020%       122    2530.152010%       108    2638.63610%         97    2735.2863   > summary(rfm.nn)a 7-4-1 network with 37 weightsoptions were - decay=0.1b->h1 i1->h1 i2->h1 i3->h1 i4->h1 i5->h1 i6->h1 i7->h1 1.47  -0.12   1.40  -0.01  -0.49  -0.09   0.00   0.00 b->h2 i1->h2 i2->h2 i3->h2 i4->h2 i5->h2 i6->h2 i7->h2 0.55  -0.80   0.51   0.07   0.00   0.05   0.26   0.01 b->h3 i1->h3 i2->h3 i3->h3 i4->h3 i5->h3 i6->h3 i7->h3 -0.87  -0.15  -1.23  -0.02   0.69   0.10  -0.25   0.12 b->h4 i1->h4 i2->h4 i3->h4 i4->h4 i5->h4 i6->h4 i7->h4 2.26  -0.31   0.13  -2.68   0.00   0.00   0.00   0.49 b->o h1->o h2->o h3->o h4->o 2.54  5.28  0.75 -1.56 -4.25

Arbres de classification et regression (CART)

Arbres de classification et regression (CART)
Présentation
Présentation

Une dernière catégorie de méthodes utilisée dans cette étude comparative est représentée par la méthode des arbres de classification et de régression CART. Développée par Breiman et al (1984), elle remplace souvent les autres méthodes de classification explicative telles que CHAID (Kass, 1980) ou AID (Sonquist, 1970) car elle n'est pas limitée à des variables indépendantes catégorielles (nominales) mais accepte aussi des variables continues3.

La fonction rpart, c'est-à-dire l'implémentation de la méthode CART en R a été utilisée pour obtenir un arbre de classification et de régression à partir des données. Il s'agit d'un arbre de classification car la variable dépendante est catégorielle (achat/non-achat) et que l'on traite les données individuelles. Le modèle est obtenu en utilisant toute les variables RFM ; le critère de séparation est la réduction de l'entropie, un minimum de 20 observations dans un nœud terminal (feuille), un paramètre de complexité de 0,001 et une profondeur maximum de l'arbre de 30.

L'arbre à 26 noeuds  de la saison 7 utilise dans l'ordre les variables R1, F1, et R2 pour séparer les segments ; la variable F2 et les variables R1, R2 et R3 qui représentent la récence apparaissent à des niveaux inférieurs dans la structure de l'arbre. La variable F1 est le plus souvent en première position, suivi par R1 dans la majorité des saisons analysées. Cela est en accord avec le poids de ces variables dans les modèles logit, probit et d'analyse discriminante ajustés.

Dans CART tous les clients qui appartiennent au même segment sont traités de la même manière contrairement aux autres méthodes, qui attribuent un score de vraisemblance de réponse différent à chaque client, ce qui leur donne une meilleure granularité par rapport à CART.

Listing 6

  1. # Classification and Regression Trees (CART)
  2. library(rpart)
  3. dt<-brabant[samp,]
  4. attach(dt)
  5. formula<-if_cde97 ~ r6 + rr6 + f6m + m6m + mm6m + caa96 + cda96
  6. rfm.rpart<- rpart(formula, method="class", control=rpart.control(cp=.001))
  7. #splrpart<-as.matrix(rfm.rpart$splits)
  8. plot(rfm.rpart)
  9. text(rfm.rpart)
  10. dt<-brabant[-samp,]
  11. attach(dt)
  12. predictv<-predict(rfm.rpart, newdata=dt)[,2]
  13. names(predictv)<-1:length(predictv)
  14. gc<-gainchart(predictv,if_cde97)
  15. par(mfrow=c(2,2))
  16. plot_gaincharts(gc)

Analyse:

La formule qui exprime la relation entre l'incidence de l'achat (if_cde97) et les variables rfm est utilisé pour calibrer l'arbre dans le cadre de la procédure des arbres de regression et de partitionement recoursif (rpart).

Une representation graphique de la segmentation qui résulte donnée dans la figure xx.

Pour verifier les performances predictives et economiques de l'arbre calibré sur deux tiers des clients on effectue les calculs prédictifs sur le tiers complémentair et on calcule le tableau des gains (gainchart).


Performances prédicitves et gaincharts
Performances prédicitves et gaincharts
       decilp cumaud actnresp actcumnresp actcumbuyprc  actprofit actprofitcum
90% 1.0000000    813      813         813    0.2895299 24660.9355     24660.94
80% 0.4167401   1626      507        1320    0.4700855 12318.9598     36979.90
70% 0.1968449   2439      313        1633    0.5815527  4494.3085     41474.20
60% 0.1968449   3252      185        1818    0.6474359  -668.3480     40805.86
50% 0.1968449   4065      163        1981    0.7054843 -1555.6796     39250.18
40% 0.1968449   4878      173        2154    0.7670940 -1152.3471     38097.83
30% 0.1968449   5691      183        2337    0.8322650  -749.0145     37348.81
20% 0.1968449   6504      149        2486    0.8853276 -2120.3452     35228.47
10% 0.1968449   7317      157        2643    0.9412393 -1797.6791     33430.79
0%  0.1538462   8130      165        2808    1.0000000 -1475.0131     31955.78
prednresp predcumnresp
90%       813      813.000
80%       529     1341.613
70%       295     1636.511
60%       160     1796.546
50%       160     1956.581
40%       160     2116.616
30%       160     2276.651
20%       160     2436.685
10%       160     2596.720
0%        160     2756.583

Graphiques
Graphiques


Détails de l'estimation
Détails de l'estimation
> summary(rfm.rpart)
n= 16260
node), split, n, loss, yval, (yprob)
* denotes terminal node
1) root 16260 5534 0 (0.6596556 0.3403444) 
2) r6>=0.5 14349 3623 0 (0.7475085 0.2524915) 
4) f6m< 0.4166667 11410 2246 0 (0.8031551 0.1968449) *
5) f6m>=0.4166667 2939 1377 0 (0.5314733 0.4685267) 
10) f6m< 0.9166667 2610 1129 0 (0.5674330 0.4325670) 
20) r6< 4.5 518  141 0 (0.7277992 0.2722008) *
21) r6>=4.5 2092  988 0 (0.5277247 0.4722753) 
42) f6m< 0.5833333 1135  473 0 (0.5832599 0.4167401) *
43) f6m>=0.5833333 957  442 1 (0.4618600 0.5381400) 
86) rr6>=5.5 487  242 0 (0.5030801 0.4969199) 
172) m6m< 146.5 22    5 0 (0.7727273 0.2272727) *
173) m6m>=146.5 465  228 1 (0.4903226 0.5096774) 
346) caa96>=231 201   91 0 (0.5472637 0.4527363) *
347) caa96< 231 264  118 1 (0.4469697 0.5530303) 
694) m6m>=351 84   38 0 (0.5476190 0.4523810) 
1388) m6m< 498.5 56   21 0 (0.6250000 0.3750000) *
1389) m6m>=498.5 28   11 1 (0.3928571 0.6071429) *
695) m6m< 351 180   72 1 (0.4000000 0.6000000) *
87) rr6< 5.5 470  197 1 (0.4191489 0.5808511) *
11) f6m>=0.9166667 329   81 1 (0.2462006 0.7537994) 
22) r6< 4.5 13    2 0 (0.8461538 0.1538462) *
23) r6>=4.5 316   70 1 (0.2215190 0.7784810) *
3) r6< 0.5 1911    0 1 (0.0000000 1.0000000) *


       decilp cumaud actnresp actcumnresp actcumbuyprc  actprofit actprofitcum90% 1.0000000    813      813         813    0.2895299 24660.9355     24660.9480% 0.4167401   1626      507        1320    0.4700855 12318.9598     36979.9070% 0.1968449   2439      313        1633    0.5815527  4494.3085     41474.2060% 0.1968449   3252      185        1818    0.6474359  -668.3480     40805.8650% 0.1968449   4065      163        1981    0.7054843 -1555.6796     39250.1840% 0.1968449   4878      173        2154    0.7670940 -1152.3471     38097.8330% 0.1968449   5691      183        2337    0.8322650  -749.0145     37348.8120% 0.1968449   6504      149        2486    0.8853276 -2120.3452     35228.4710% 0.1968449   7317      157        2643    0.9412393 -1797.6791     33430.790%  0.1538462   8130      165        2808    1.0000000 -1475.0131     31955.78prednresp predcumnresp90%       813      813.00080%       529     1341.61370%       295     1636.51160%       160     1796.54650%       160     1956.58140%       160     2116.61630%       160     2276.65120%       160     2436.68510%       160     2596.7200%        160     2756.583   > summary(rfm.rpart)n= 16260 node), split, n, loss, yval, (yprob)* denotes terminal node1) root 16260 5534 0 (0.6596556 0.3403444)  2) r6>=0.5 14349 3623 0 (0.7475085 0.2524915)  4) f6m< 0.4166667 11410 2246 0 (0.8031551 0.1968449) *5) f6m>=0.4166667 2939 1377 0 (0.5314733 0.4685267)  10) f6m< 0.9166667 2610 1129 0 (0.5674330 0.4325670)  20) r6< 4.5 518  141 0 (0.7277992 0.2722008) *21) r6>=4.5 2092  988 0 (0.5277247 0.4722753)  42) f6m< 0.5833333 1135  473 0 (0.5832599 0.4167401) *43) f6m>=0.5833333 957  442 1 (0.4618600 0.5381400)  86) rr6>=5.5 487  242 0 (0.5030801 0.4969199)  172) m6m< 146.5 22    5 0 (0.7727273 0.2272727) *173) m6m>=146.5 465  228 1 (0.4903226 0.5096774)  346) caa96>=231 201   91 0 (0.5472637 0.4527363) *347) caa96< 231 264  118 1 (0.4469697 0.5530303)  694) m6m>=351 84   38 0 (0.5476190 0.4523810)  1388) m6m< 498.5 56   21 0 (0.6250000 0.3750000) *1389) m6m>=498.5 28   11 1 (0.3928571 0.6071429) *695) m6m< 351 180   72 1 (0.4000000 0.6000000) *87) rr6< 5.5 470  197 1 (0.4191489 0.5808511) *11) f6m>=0.9166667 329   81 1 (0.2462006 0.7537994)  22) r6< 4.5 13    2 0 (0.8461538 0.1538462) *23) r6>=4.5 316   70 1 (0.2215190 0.7784810) *3) r6< 0.5 1911    0 1 (0.0000000 1.0000000) *

Régression ordinale

Régression ordinale
Présentation
Présentation

La régression ordinale correspond à un modèle de choix discret ou les valeures qui représentent les multiples choix expriment un ordre ou une préférence.

Si on choisit le montant des commandes comme variable à expliquer, on peut transformer cette variable continue en variable discrète en ordonnant ses valeures dans des intervalles de choix mutuellement exclusifs et en attribuant à chaque intervalle une catégorie ordinale. Le modèle de régression ordinale peut être utilisé ensuite comme un proxy pour la régression linéaire (Levin et Zahavi, 1998, p.10). Si on se résume à seulement deux catégories ordinales: 0 pour les non-acheteurs et 1 pour les acheteurs, alors les prédicteurs qui résultent de la régression ordinales devraient être identiques à ceux de la régression logistique. En pratique on préférera d'utiliser plusieurs catégories de choix (0, 1, 2 3) affin d'obtenir des résultats plus nuancés.

Dans cet exemple les catégories de choix sont définies selon les critères évoqués dans le tableau 3.

Choix

Montant

Montant moyen

0

0

0

1

1-249

168,10

2

250-499

335,13

3

500 et plus

759,43

Listing 7

  1. # ordinal regression
  2. library(MASS)
  3. dt<-brabant[samp,]
  4. attach(dt)
  5. ord<-ifelse(ca97<1,0,ifelse(ca97<250,1,ifelse(ca97<450,2,3)))
  6. ordformula<-as.factor(ord) ~ r6 + rr6 + f6m + m6m + mm6m + caa96 + cda96
  7. rfm.ordreg<-polr(ordformula)
  8. dt<-brabant[-samp,]
  9. attach(dt)
  10. ord<-ifelse(ca97<1,0,ifelse(ca97<250,1,ifelse(ca97<450,2,3)))
  11. predictv<-predict(rfm.ordreg, type="prob", newdata=dt)
  12. rownames(predictv)<-1:nrow(predictv)
  13. gc<-gainchart_ord(predictv,ord)
  14. par(mfrow=c(2,2))
  15. plot_gaincharts_ord(gc)

Analyse:

A part d'estimer une probabilité de réponse générale par client la régression ordinale calcule aussi une probabilité de réponse pour chaque modalité de choix. Les coefficients des variables explicatives sont les mêmes pour toutes les modalités de choix. Le seul élément qui diffère est le terme constant dans l'équation de régression.

La formule qui exprime la relation entre les catégories ordinales (if_cde97) et les variables rfm est utilisé pour calibrer le modèle de regression ordinale à l'aide de la procédure proportional odds regression (polr).

Pour verifier les performances predictives et economiques modèle ordinal calibré sur deux tiers des clients on effectue les calculs prédictifs sur le tiers complémentair et on calcule le tableau des gains (gainchart).


Gainchart
Gainchart
          decilp cumaud actnresp actnresp1 actnresp2 actnresp3 actcumnresp
90% 0.6551943610    813      725       247       261       217         725
80% 0.4835372790   1626      494       197       161       136        1219
70% 0.3560951692   2439      248        95        87        66        1467
60% 0.2972572084   3252      247       107        92        48        1714
50% 0.2737878581   4065      207        78        80        49        1921
40% 0.2513740836   4878      187        84        62        41        2108
30% 0.2306862836   5691      194        93        61        40        2302
20% 0.2033979322   6504      172        83        54        35        2474
10% 0.1661615211   7317      165        62        58        45        2639
0%  0.0007575937   8130      169        30        63        76        2808
actcumbuyprc  actprofit actprofitcum prednresp prednresp1 prednresp2
90%    0.2581909 21248.8410     21248.84       563        149        198
80%    0.4341168 10905.5743     32154.42       475        159        175
70%    0.5224359  1394.9015     33549.32       339        141        121
60%    0.6103989   397.2094     33946.53       263        119         91
50%    0.6841168  -416.5042     33530.02       233        109         79
40%    0.7507123 -1526.4312     32003.59       212        101         71
30%    0.8198006 -1484.5960     30518.99       196         95         65
20%    0.8810541 -2267.0090     28251.99       176         87         58
10%    0.9398148 -1726.5359     26525.45       152         77         49
0%     1.0000000   257.3501     26782.80        89         47         28
prednresp3 predcumnresp
90%        216     562.9722
80%        141    1037.6201
70%         77    1376.9538
60%         53    1639.8810
50%         45    1873.2212
40%         40    2085.6928
30%         36    2281.8947
20%         31    2458.0459
10%         26    2609.5726
0%          14    2698.1990

Analyse:

En tenant compte du taux de réponse d'équilibre calculé auparavant (10/(0,1*387)=25,8%) on devrait sélectionner comme cible les cinq premiers déciles qui regroupent 1921 répondants repartis entre les trois catégories de choix de la manière suivante: 724, 681, 516 . En utilisant les montant moyens qui correspondent à chaque catégorie de choix et les couts de mailing aux 5 premiers déciles (5*813) le profit espéré devient:

10%*(724*168,10F+681*335,13F+516*759,43F) - 5*813*10F = 33530,02 F

C'est un profit legèrement inférieur aux profits calculés pour les modèles d'incidence de l'achat.

Il est dificile d'offrir d'emblé une comparaison des performances en terme de profit entre le modèle ordinal et les modèle d'incidence de l'achat, même si dans l'ensemble les probabilités de réponse sont les mêmes, car pour la regression ordinale le profit total espéré dépend de la distribution de revenu pour chaque alternative de choix (Levin et Zahavi, 1998, p. 11). C'est un element d'information suplémentaire qui n'est pas prix en compte par les modèles d'incidence de l'achat.

(. en terme de qualité de l'ajustement et de performances prédicitve les différences ne sont pas significatives entre les modèles évoqués)


Graphiques
Graphiques


Details statistiques
Details statistiques
> summary(rfm.ordreg)
Call:
polr(formula = ordformula)
Coefficients:
Value   Std. Error     t value
r6    -0.1224417205 0.0183366053  -6.6774476
rr6   -0.2136734549 0.0189238391 -11.2912319
f6m   -1.3410264750 0.2457370009  -5.4571614
m6m   -0.0047248145 0.0002132008 -22.1613404
mm6m   0.0136780940 0.0007112354  19.2314589
caa96  0.0008724796 0.0002156814   4.0452243
cda96  0.0326394092 0.1005876276   0.3244873
Intercepts:
Value    Std. Error t value
0|1  -0.8556   0.0548   -15.6181
1|2  -0.0510   0.0535    -0.9536
2|3   1.0774   0.0583    18.4902
Residual Deviance: 30043.15
AIC: 30063.15

          decilp cumaud actnresp actnresp1 actnresp2 actnresp3 actcumnresp90% 0.6551943610    813      725       247       261       217         72580% 0.4835372790   1626      494       197       161       136        121970% 0.3560951692   2439      248        95        87        66        146760% 0.2972572084   3252      247       107        92        48        171450% 0.2737878581   4065      207        78        80        49        192140% 0.2513740836   4878      187        84        62        41        210830% 0.2306862836   5691      194        93        61        40        230220% 0.2033979322   6504      172        83        54        35        247410% 0.1661615211   7317      165        62        58        45        26390%  0.0007575937   8130      169        30        63        76        2808actcumbuyprc  actprofit actprofitcum prednresp prednresp1 prednresp290%    0.2581909 21248.8410     21248.84       563        149        19880%    0.4341168 10905.5743     32154.42       475        159        17570%    0.5224359  1394.9015     33549.32       339        141        12160%    0.6103989   397.2094     33946.53       263        119         9150%    0.6841168  -416.5042     33530.02       233        109         7940%    0.7507123 -1526.4312     32003.59       212        101         7130%    0.8198006 -1484.5960     30518.99       196         95         6520%    0.8810541 -2267.0090     28251.99       176         87         5810%    0.9398148 -1726.5359     26525.45       152         77         490%     1.0000000   257.3501     26782.80        89         47         28prednresp3 predcumnresp90%        216     562.972280%        141    1037.620170%         77    1376.953860%         53    1639.881050%         45    1873.221240%         40    2085.692830%         36    2281.894720%         31    2458.045910%         26    2609.57260%          14    2698.1990   > summary(rfm.ordreg)Call:polr(formula = ordformula)Coefficients:Value   Std. Error     t valuer6    -0.1224417205 0.0183366053  -6.6774476rr6   -0.2136734549 0.0189238391 -11.2912319f6m   -1.3410264750 0.2457370009  -5.4571614m6m   -0.0047248145 0.0002132008 -22.1613404mm6m   0.0136780940 0.0007112354  19.2314589caa96  0.0008724796 0.0002156814   4.0452243cda96  0.0326394092 0.1005876276   0.3244873Intercepts:Value    Std. Error t value 0|1  -0.8556   0.0548   -15.61811|2  -0.0510   0.0535    -0.95362|3   1.0774   0.0583    18.4902Residual Deviance: 30043.15 AIC: 30063.15

Regression linéaire

Regression linéaire
Presentation
Presentation

C'est la méthode la plus facile à mettre en place pour estimer de modèle de choix continu car largement disponible sur une gamme large de machines (des calculettes aux ordinateurs) et de logiciels accessibles, comme par exemple les tableurs.

Malgré la disponibilité elle n'est pas bien adaptée pour des modèles de choix continu . Les estimations qu'elle fournit ne sont pas bornés par de seuils inférieurs et supérieurs et produisent des profit négatifs pour les individus que se trouvent en bas de la liste. En plus la somme des réponses (profit) réeles est égaleà la somme de réponses prévues. Cela entraine une surestimation des performances de meilleurs clients qui va compenser la sousestimation des perfomances des "mauvais" clients qui pour certains se voient attribuer des valeurs négatives.

Listing 8

  1. #Linear continous regression
  2. dt<-brabant[samp,]
  3. attach(dt)
  4. formula<-ca97 ~ r6 + rr6 + f6m + m6m + mm6m + caa96 + cda96
  5. rfm.linreg<-lm(formula)
  6. dt<-brabant[-samp,]
  7. attach(dt)
  8. predictv<-predict(rfm.linreg, newdata=dt)
  9. names(predictv)<-1:length(predictv)
  10. gc<-gainchart_cont(predictv,ca97)
  11. par(mfrow=c(2,2))
  12. plot_gaincharts_cont(gc)

Analyse:

La formule qui exprime la relation entre montant d'achat (ca97) et les variables rfm est utilisé pour calibrer un modèle linéaire dans le cadre de la procédure de régression linéaire (LM).

Pour verifier les performances predictives et economiques du modèle calibré sur deux tiers des clients on effectue les calculs prédictifs sur le tiers complémentair et on calcule le tableau des gains (gainchart).


Regession linéaire - gainchart
Regession linéaire - gainchart
     decilp cumaud actnresp actcumnresp actcumbuyprc actprofit actprofitcum
90%  253.87    813      662      359.22         0.27   21074.2      21074.2
80%  194.43   1626      566      639.23         0.48   14635.5      35709.7
70%  161.59   2439      193      724.63         0.55   -1187.6      34522.1
60%  109.42   3252      267      846.21         0.64    1755.0      36277.1
50%   98.90   4065      227      942.33         0.71    -315.7      35961.4
40%   81.63   4878      224     1043.16         0.78      67.5      36028.9
30%   73.07   5691      162     1104.52         0.83   -3141.2      32887.7
20%   64.63   6504      161     1173.24         0.88   -2542.9      30344.8
10%   52.19   7317      159     1242.02         0.93   -2538.8      27806.0
0%  -108.53   8130      187     1329.43         1.00   -1023.2      26782.8
predgains predcumgains
90%    294.69       294.69
80%    235.63       530.32
70%    181.80       712.11
60%    131.89       844.00
50%    105.51       949.51
40%     87.97      1037.48
30%     77.10      1114.58
20%     68.84      1183.42
10%     59.32      1242.74
0%      34.65      1277.40

Analyse:

En tenant compte du taux de réponse d'équilibre calculé auparavant (10/(0,1*387)=25,8%) on devrait sélectionner comme cible les cinq premiers déciles qui regroupent 1921 répondants repartis entre les trois catégories de choix de la manière suivante: 724, 681, 516 . En utilisant les montant moyens qui correspondent à chaque catégorie de choix et les couts de mailing aux 5 premiers déciles (5*813) le profit espéré devient:

10%*(montants cumulés)- 5*813*10F = 35961.4F

C'est un profit sensiblement supérieur aux profits calculés pour les modèles d'incidence de l'achat.

Il est dificile d'offrir d'emblé une comparaison des performances en terme de profit entre les modèles de choix continu comme la regression linéaire et les modèles d'incidence de l'achat, même si dans l'ensemble les probabilités de réponse sont les mêmes. Si dans les modèles de choix continus le profit total espéré dépend de la distribution des montants individuels par rapport aux quantiles (déciles) dans les modèles de l'incidence de l'achat le montant individuel d'achat est constant et fixé à la moyenne enregistrée par les commandes.

La courbe des profit cumulés n'est pas unimodale, les déciles 3 et 5 avec des profits négatifs intrérompent la croissance profits cumulés. Le profit optimum est atteint au décile 4 (36277.1F) et un deuxième pique proche du optimum est atteint au decile 6 (36028.9F). Comparé à la fonction de profit du modèle logit les résultats de la regression linéaire permetent moins de mailings pour plus de profit. Levin et Zahavi (19989 ont trouvé l'inverse. Ces différences et les oscillations qui se manifestent dans la courbe des profits cumulés peuvent être attribués à la faible performance prédictive du modèle de regression linéaire et au nonlinéarités qui caractérisent les données.

La qualité de l'ajustement d'un modèle continu peut être vérifié en comparant la colonne des montants moyens par decile cumulés réels et predits (actcumnresp,


Graphiques
Graphiques


Détails statistiques
Détails statistiques
> summary(rfm.linreg)
Call:
lm(formula = formula)
Residuals:
Min      1Q  Median      3Q     Max
-820.11 -105.82  -68.63   38.78 6687.95
Coefficients:
Estimate Std. Error t value Pr(>|t|)   
(Intercept)  275.78581    4.94870  55.729  < 2e-16 ***
r6           -16.70801    1.37673 -12.136  < 2e-16 ***
rr6          -21.91244    1.38898 -15.776  < 2e-16 ***
f6m         -204.95752   19.44725 -10.539  < 2e-16 ***
m6m           -0.33117    0.01413 -23.441  < 2e-16 ***
mm6m           1.54346    0.05341  28.901  < 2e-16 ***
caa96          0.05611    0.01505   3.729 0.000193 ***
cda96         13.64529    7.79715   1.750 0.080131 . 
---
Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
Residual standard error: 238.7 on 16252 degrees of freedom
Multiple R-Squared: 0.1158,     Adjusted R-squared: 0.1154
F-statistic: 304.1 on 7 and 16252 DF,  p-value: < 2.2e-16

     decilp cumaud actnresp actcumnresp actcumbuyprc actprofit actprofitcum90%  253.87    813      662      359.22         0.27   21074.2      21074.280%  194.43   1626      566      639.23         0.48   14635.5      35709.770%  161.59   2439      193      724.63         0.55   -1187.6      34522.160%  109.42   3252      267      846.21         0.64    1755.0      36277.150%   98.90   4065      227      942.33         0.71    -315.7      35961.440%   81.63   4878      224     1043.16         0.78      67.5      36028.930%   73.07   5691      162     1104.52         0.83   -3141.2      32887.720%   64.63   6504      161     1173.24         0.88   -2542.9      30344.810%   52.19   7317      159     1242.02         0.93   -2538.8      27806.00%  -108.53   8130      187     1329.43         1.00   -1023.2      26782.8predgains predcumgains90%    294.69       294.6980%    235.63       530.3270%    181.80       712.1160%    131.89       844.0050%    105.51       949.5140%     87.97      1037.4830%     77.10      1114.5820%     68.84      1183.4210%     59.32      1242.740%      34.65      1277.40   > summary(rfm.linreg)Call:lm(formula = formula)Residuals:Min      1Q  Median      3Q     Max -820.11 -105.82  -68.63   38.78 6687.95 Coefficients:Estimate Std. Error t value Pr(>|t|)    (Intercept)  275.78581    4.94870  55.729  < 2e-16 ***r6           -16.70801    1.37673 -12.136  < 2e-16 ***rr6          -21.91244    1.38898 -15.776  < 2e-16 ***f6m         -204.95752   19.44725 -10.539  < 2e-16 ***m6m           -0.33117    0.01413 -23.441  < 2e-16 ***mm6m           1.54346    0.05341  28.901  < 2e-16 ***caa96          0.05611    0.01505   3.729 0.000193 ***cda96         13.64529    7.79715   1.750 0.080131 .  ---Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 Residual standard error: 238.7 on 16252 degrees of freedomMultiple R-Squared: 0.1158,     Adjusted R-squared: 0.1154 F-statistic: 304.1 on 7 and 16252 DF,  p-value: < 2.2e-16

Tobit

Tobit
Presentation
Presentation

La regression linéaire considère que la variable dépendente est observé dans tout les cas, mais en réalité en marketing direct elle est observé uniquement pour les répondants. On observe le montant de la commande uniquèement pour les gens qui ont commande suit à une campagne. Il n'y a pas d'observations sur le montant d'achat pour ceux qui n'ont pas commandé. On dit que la variable de réponse est "censuré" à gauche. La variable prend donc une valeur positive pour les répondants et la valeur zéro pour les nonrépondants et ne satisfait donc pas la condition d'être normalement distribué, comme l'exige la regression linéaire.

Le modèl Tobit est un modèle de regression qui prend en compte de manière explicite le faite que la valeur de la réponse est observée uniquement pour les répondants, qui sont une petite minorité dans la population dans les application de database marketing. Les résultats d'un modèle tobit sont exprimé sous forme de valeur de choix continue, ici en termes de montants des comandes par client.

Listing 9

  1. # Tobit regression
  2. library(survival)
  3. dt<-brabant[samp,]
  4. attach(dt)
  5. rfm.tobit<-survreg(Surv(ca97, ca97>0, type="left") ~r6 + rr6 + f6m + m6m + mm6m + caa96 + cda96, dist='gaussian')
  6. dt<-brabant[-samp,]
  7. attach(dt)
  8. predictv<-predict(rfm.tobit, type="response", newdata=dt)
  9. #predictv<-predictv+rfm.tobit$scale # a verifier et justifier
  10. predictv<-ifelse(predictv>0,predictv,0)
  11. predictv<-predictv + 110 # a verifier et justifier
  12. names(predictv)<-1:length(predictv)
  13. gc<-gainchart_cont(predictv,ca97)
  14. par(mfrow=c(2,2))
  15. plot_gaincharts_cont(gc)

Analyse:

La formule qui exprime la relation entre le montant d'achat (vu comme une valeur censuré à gauche dans le sens des modèles de survie) et les variables rfm est utilisé pour calibrer un modèle de type tobit dans le cadre de la procédure de régression de survie(survreg). La distribution des réponses (montant), y compris des réponses censurées est considéré normale (gaussiene).

Pour verifier les performances predictives et economiques du modèle calibré sur deux tiers des clients on effectue les calculs prédictifs sur le tiers complémentair et on calcule le tableau des gains (gainchart). Comme les valeurs censurées sont supposées négatives et majoritaires, le valeures prédites sont en grand partie négatives (ici on les a décalé en r'ajoutant un facteur d'echelle !! ... )


Tobit - gainchart
Tobit - gainchart
    decilp cumaud actnresp actcumnresp actgains actcumgains actcumbuyprc
90% 244.09    813      715         715   366.60      366.60         0.28
80% 110.00   1626      491        1206   242.00      608.60         0.46
70% 110.00   2439      218        1424    95.88      704.49         0.53
60% 110.00   3252      194        1618    91.29      795.77         0.60
50% 110.00   4065      206        1824    93.81      889.58         0.67
40% 110.00   4878      203        2027    90.98      980.56         0.74
30% 110.00   5691      190        2217    86.66     1067.22         0.80
20% 110.00   6504      187        2404    87.52     1154.74         0.87
10% 110.00   7317      201        2605    90.18     1244.92         0.94
0%  110.00   8130      203        2808    84.51     1329.43         1.00
actprofit actprofitcum predgains predcumgains
90%   21674.8      21674.8    309.87       309.87
80%   11544.7      33219.5    181.86       491.73
70%    -334.8      32884.7    110.00       601.73
60%    -708.4      32176.3    110.00       711.73
50%    -503.6      31672.7    110.00       821.73
40%    -733.0      30939.7    110.00       931.73
30%   -1084.7      29855.0    110.00      1041.73
20%   -1014.5      28840.5    110.00      1151.73
10%    -798.7      28041.8    110.00      1261.73
0%    -1259.0      26782.8    110.00      1371.73

Analyse:


Graphiques
Graphiques


Détails statistiques
Détails statistiques
> summary(rfm.tobit)
Call:
survreg(formula = Surv(ca97, ca97 > 0, type = "left") ~ r6 +
rr6 + f6m + m6m + mm6m + caa96 + cda96, dist = "gaussian")
Value Std. Error      z         p
(Intercept)  204.374    11.6806  17.50  1.51e-68
r6           -40.978     3.8288 -10.70  9.89e-27
rr6          -70.288     4.0298 -17.44  3.95e-68
f6m         -328.215    48.6584  -6.75  1.53e-11
m6m           -1.004     0.0410 -24.50 1.48e-132
mm6m           3.584     0.1356  26.42 7.80e-154
caa96          0.164     0.0404   4.06  4.92e-05
cda96         29.168    20.9288   1.39  1.63e-01
Log(scale)     6.254     0.0108 580.01  0.00e+00
Scale= 520
Gaussian distribution
Loglik(model)= -47445.1   Loglik(intercept only)= -48656.7
Chisq= 2423.08 on 7 degrees of freedom, p= 0
Number of Newton-Raphson Iterations: 4
n= 16260

    decilp cumaud actnresp actcumnresp actgains actcumgains actcumbuyprc90% 244.09    813      715         715   366.60      366.60         0.2880% 110.00   1626      491        1206   242.00      608.60         0.4670% 110.00   2439      218        1424    95.88      704.49         0.5360% 110.00   3252      194        1618    91.29      795.77         0.6050% 110.00   4065      206        1824    93.81      889.58         0.6740% 110.00   4878      203        2027    90.98      980.56         0.7430% 110.00   5691      190        2217    86.66     1067.22         0.8020% 110.00   6504      187        2404    87.52     1154.74         0.8710% 110.00   7317      201        2605    90.18     1244.92         0.940%  110.00   8130      203        2808    84.51     1329.43         1.00actprofit actprofitcum predgains predcumgains90%   21674.8      21674.8    309.87       309.8780%   11544.7      33219.5    181.86       491.7370%    -334.8      32884.7    110.00       601.7360%    -708.4      32176.3    110.00       711.7350%    -503.6      31672.7    110.00       821.7340%    -733.0      30939.7    110.00       931.7330%   -1084.7      29855.0    110.00      1041.7320%   -1014.5      28840.5    110.00      1151.7310%    -798.7      28041.8    110.00      1261.730%    -1259.0      26782.8    110.00      1371.73   > summary(rfm.tobit)Call:survreg(formula = Surv(ca97, ca97 > 0, type = "left") ~ r6 + rr6 + f6m + m6m + mm6m + caa96 + cda96, dist = "gaussian")Value Std. Error      z         p(Intercept)  204.374    11.6806  17.50  1.51e-68r6           -40.978     3.8288 -10.70  9.89e-27rr6          -70.288     4.0298 -17.44  3.95e-68f6m         -328.215    48.6584  -6.75  1.53e-11m6m           -1.004     0.0410 -24.50 1.48e-132mm6m           3.584     0.1356  26.42 7.80e-154caa96          0.164     0.0404   4.06  4.92e-05cda96         29.168    20.9288   1.39  1.63e-01Log(scale)     6.254     0.0108 580.01  0.00e+00Scale= 520 Gaussian distributionLoglik(model)= -47445.1   Loglik(intercept only)= -48656.7Chisq= 2423.08 on 7 degrees of freedom, p= 0 Number of Newton-Raphson Iterations: 4 n= 16260

Two stage regression

Two stage regression
Presentation
Presentation

Comme dans la régression linéaire le modèle Tobit suppose que la variable de réponse peut prendre toute valeur, même des valeurs négatives mais comme ces dernieres ne sont pas disponibles car il n'y a pas des observations pour les non-répondants elles sont censurées et substitués par la valeur zéro. Cela n'est pas très réaliste car en marketing direct les réponses égales à zéro survienent parceque certains clients choisissent de décliner l'offre et non pas parceque la réponse était négative et par conséquence censurée à zéro. Pour subvenir à ce problème que présente le modèle Tobit une solution alternative est d'estimer une répons continue en deux étapes en utilisant le modèle à deux niveaux de Heckman (1979).

Dans un première étape on applique un modèle de choix binaire (ex. logistique) à toutes à l'échantillon d'estimation.

Ensuite un modèle linéaire est estimé uniquement au niveau de répondants pour estimer la réponse (conditionelle) espéré par client à condition que celui-ci soit un répondant

Ensuite un modèle la réponse (inconditionnelle) espérée par client est obtenue en multipliant la réponse conditionnelle par la probabilité d'achat. Le modèle à deux étapes souffre du biaïs de séléctions car il est basé uniquement sur les répondant et ne constitue donc pas un échantillon aléatoire de la population.

Listing 10

  1. # Two stage regression
  2. dt<-brabant[samp,]
  3. dt$logitrate=predict(rfm.logit, type="response")
  4. dt<-dt[which(ca97>0),]
  5. attach(dt)
  6. rfm.2stage<-lm(ca97 ~r6 + rr6 + f6m + m6m + mm6m + caa96 + cda96 + logitrate)
  7. dt<-brabant[-samp,]
  8. dt$logitrate=predict(rfm.logit, type="response", newdata=dt)
  9. attach(dt)
  10. predictv<-predict(rfm.2stage, newdata=dt)*predict(rfm.logit, type="response", newdata=dt)
  11. names(predictv)<-1:length(predictv)
  12. gc<-gainchart_cont(predictv,ca97)
  13. par(mfrow=c(2,2))
  14. plot_gaincharts_cont(gc)

Analyse:

La probabilité d'achat donnée par le modèle logit estimé auparavant, est calculée pour chaque individu présent dans l'échantillon d'estimation. Elle servira comme variable explicative supplémentaire dans la regression effectuée en deuxieme etape.

La formule qui exprime la relation entre le montant d'achat (ca97), les variables rfm auxquelles et la probabilité d'achat (estimé dans la premiere étape) est utilisé pour calibrer un modèle linéaire dans le cadre de la procédure de régression linéaire(LM).

Pour verifier les performances predictives et economiques du modèle calibré sur deux tiers des clients on effectue les calculs prédictifs sur le tiers complémentair et on calcule le tableau des gains (gainchart).

Loading required package: tcltk 
Loading required package: lattice
Loading required package: foreign
Loading required package: abind
Loading required package: lmtest
Loading required package: multcomp
Loading required package: relimp
Loading required package: effects
Loading required package: rgl
Loading required package: mgcv

Gainchart
Gainchart
    decilp cumaud actnresp actcumnresp actgains actcumgains actcumbuyprc
90% 289.03    813      682         682   364.01      364.01         0.27
80% 193.70   1626      563        1245   277.91      641.92         0.48
70% 133.35   2439      237        1482   116.51      758.43         0.57
60% 105.28   3252      238        1720   104.25      862.68         0.65
50%  92.64   4065      204        1924    86.38      949.06         0.71
40%  79.33   4878      196        2120    78.43     1027.50         0.77
30%  68.74   5691      195        2315    88.69     1116.18         0.84
20%  59.64   6504      183        2498    75.26     1191.44         0.90
10%  47.57   7317      174        2672    79.24     1270.68         0.96
0%  -15.41   8130      136        2808    58.76     1329.43         1.00
actprofit actprofitcum predgains predcumgains
90%   21463.7      21463.7    326.61       326.61
80%   14464.0      35927.7    258.18       584.79
70%    1342.4      37270.1    164.51       749.29
60%     345.7      37615.8    117.26       866.55
50%   -1107.0      36508.8     98.80       965.35
40%   -1753.4      34755.4     85.73      1051.08
30%    -919.8      33835.6     73.72      1124.80
20%   -2011.6      31824.0     63.93      1188.73
10%   -1688.1      30135.9     54.11      1242.84
0%    -3353.1      26782.8     36.13      1278.96

Graphiques
Graphiques


Détails statistiques
Détails statistiques

 

> summary(rfm.2stage)
Call:
lm(formula = ca97 ~ r6 + rr6 + f6m + m6m + mm6m + caa96 + cda96 +
logitrate)
Residuals:
Min      1Q  Median      3Q     Max
-727.40 -100.27  -64.85   21.97 6487.35
Coefficients:
Estimate Std. Error t value Pr(>|t|)   
(Intercept) -337.59305   29.71942 -11.359  < 2e-16 ***
r6            21.57582    2.27896   9.467  < 2e-16 ***
rr6           16.90904    2.30680   7.330 2.41e-13 ***
f6m           22.41137   22.05409   1.016 0.309549   
m6m            0.37649    0.03658  10.292  < 2e-16 ***
mm6m          -0.66061    0.11779  -5.608 2.07e-08 ***
caa96         -0.05458    0.01576  -3.463 0.000536 ***
cda96        -26.58902    7.93108  -3.353 0.000803 ***
logitrate    830.15703   39.67600  20.923  < 2e-16 ***
---
Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
Residual standard error: 235.5 on 16251 degrees of freedom
Multiple R-Squared: 0.139,     Adjusted R-squared: 0.1386
F-statistic:   328 on 8 and 16251 DF,  p-value: < 2.2e-16

Loading required package: tcltk Loading required package: lattice Loading required package: foreign Loading required package: abind Loading required package: lmtest Loading required package: multcomp Loading required package: relimp Loading required package: effects Loading required package: rgl Loading required package: mgcv     decilp cumaud actnresp actcumnresp actgains actcumgains actcumbuyprc90% 289.03    813      682         682   364.01      364.01         0.2780% 193.70   1626      563        1245   277.91      641.92         0.4870% 133.35   2439      237        1482   116.51      758.43         0.5760% 105.28   3252      238        1720   104.25      862.68         0.6550%  92.64   4065      204        1924    86.38      949.06         0.7140%  79.33   4878      196        2120    78.43     1027.50         0.7730%  68.74   5691      195        2315    88.69     1116.18         0.8420%  59.64   6504      183        2498    75.26     1191.44         0.9010%  47.57   7317      174        2672    79.24     1270.68         0.960%  -15.41   8130      136        2808    58.76     1329.43         1.00actprofit actprofitcum predgains predcumgains90%   21463.7      21463.7    326.61       326.6180%   14464.0      35927.7    258.18       584.7970%    1342.4      37270.1    164.51       749.2960%     345.7      37615.8    117.26       866.5550%   -1107.0      36508.8     98.80       965.3540%   -1753.4      34755.4     85.73      1051.0830%    -919.8      33835.6     73.72      1124.8020%   -2011.6      31824.0     63.93      1188.7310%   -1688.1      30135.9     54.11      1242.840%    -3353.1      26782.8     36.13      1278.96   > summary(rfm.2stage)Call:lm(formula = ca97 ~ r6 + rr6 + f6m + m6m + mm6m + caa96 + cda96 + logitrate)Residuals:Min      1Q  Median      3Q     Max -727.40 -100.27  -64.85   21.97 6487.35 Coefficients:Estimate Std. Error t value Pr(>|t|)    (Intercept) -337.59305   29.71942 -11.359  < 2e-16 ***r6            21.57582    2.27896   9.467  < 2e-16 ***rr6           16.90904    2.30680   7.330 2.41e-13 ***f6m           22.41137   22.05409   1.016 0.309549    m6m            0.37649    0.03658  10.292  < 2e-16 ***mm6m          -0.66061    0.11779  -5.608 2.07e-08 ***caa96         -0.05458    0.01576  -3.463 0.000536 ***cda96        -26.58902    7.93108  -3.353 0.000803 ***logitrate    830.15703   39.67600  20.923  < 2e-16 ***---Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 Residual standard error: 235.5 on 16251 degrees of freedomMultiple R-Squared: 0.139,     Adjusted R-squared: 0.1386 F-statistic:   328 on 8 and 16251 DF,  p-value: < 2.2e-16