Améliorer les performances du site par l'utilisation de techniques de Web Mining CLUB SAS 2001 17/18 octobre 2001 Stéfan Galissie LINCOLN stefan.galissie@lincoln.fr contact@web-datamining.net 2001
Sommaire Introduction Objectifs de l étude présentée Présentation du site Web-Datamining.net Les étapes de notre projet Web Mining Préparation des données La log Web IIS Le L identification à l aide de cookies L identification obligatoire L identification avec SAS Clickstream Analysis L identification choisie pour Web-datamining.net Le nettoyage des données L e-warehouse L analyse La création d indicateurs La création d indicateurs Les analyses d associations Le datamart La modélisation Conclusion
But de la démarche : Objectif de l étude présentée Assister le visiteur du site à trouver une information intéressante et que son intérêt converge avec celui de Lincoln. Améliorer l architecture théorique du site qui est au cœur du problème. Résultats attendus : Augmentation du nombre moyen de pages consultées Amélioration de notre image de marque Amélioration du trafic sur notre site Meilleure connaissance de nos visiteurs Minimisation du risque de déconnexion Moyens mis en oeuvre : et. Application de techniques de Web Mining (associations, séquences, modélisation, )
Présentation du site
Les étapes de notre projet Web Mining
La log Web IIS Le fichier log de notre serveur IIS comporte 15 types d enregistrements. les plus intéressants pour l analyse et le pilotage sont : l adresse IP du visiteur la date de la transaction l heure de la transaction le type de transaction (get,put,head) l objet de la transaction (.asp,.gif, ) la taille de l objet envoyé le code de retour l URL de l objet 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 141 342 794 200 0 GET /img/onglet_accueil.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 141 343 486 200 0 GET /img/onglet_services.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 140 347 529 200 0 GET /img/onglet_publications.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 140 345 527 200 0 GET /img/onglet_actualites.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 141 340 499 200 0 GET /img/onglet_liens.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 141 342 546 200 0 GET /img/onglet_contact.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 156 334 1866 200 0 GET /img/casque.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 234 338 4132 200 0 GET /img/logo_small.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 141 331 813 200 0 GET /img/une.gif 189.156.339.39-29/04/01 18:12:23 W3SVC4 SERVERD194.206.215.42 61844 340 1139 200 0 GET /img/fleche_rouge.gif 189.156.339.39-29/04/01 18:12:23 W3SVC4 SERVERD194.206.215.42 61828 339 1055 200 0 GET /img/inscription.gif 143.33.25.372-29/04/01 18:57:14 W3SVC4 SERVERD194.206.215.42 297 146 11778 200 0 GET /actualites/present_biblio.asp 66.7.131.134-29/04/01 19:04:56 W3SVC4 SERVERD194.206.215.42 1593 288 1985 200 0 GET /publications/dossiers/neural/histor.asp 66.7.131.134-29/04/01 19:26:20 W3SVC4 SERVERD194.206.215.42 1953 287 1967 200 0 GET /publications/dossiers/neural/intro.asp 210.204.173.43-29/04/01 19:35:54 W3SVC4 SERVERD194.206.215.42 4078 135 32333 200 0 GET /contact.asp 193.249.23.174-29/04/01 19:40:17 W3SVC4 SERVERD194.206.215.42 11250 336 31736 200 0 GET /index.asp 193.249.23.174-29/04/01 19:40:23 W3SVC4 SERVERD194.206.215.42 10125 335 2988 200 0 GET /img/bando1.gif 193.249.23.174-29/04/01 19:40:37 W3SVC4 SERVERD194.206.215.42 14250 335 1723 200 0 GET /img/bando3.gif 193.249.23.174-29/04/01 19:40:44 W3SVC4 SERVERD194.206.215.42 6719 333 303 200 0 GET /img/bleu.gif 193.249.23.174-29/04/01 19:40:51 W3SVC4 SERVERD194.206.215.42 6672 334 274 200 0 GET /img/blanc.gif Extrait d un fichier log de Web-Datamining.net
Adresse IP La log Web IIS Taille de l objet envoyé URL de l objet 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 141 342 794 200 0 GET /img/onglet_accueil.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 141 343 486 200 0 GET /img/onglet_services.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 140 347 529 200 0 GET /img/onglet_publications.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 140 345 527 200 0 GET /img/onglet_actualites.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 141 340 499 200 0 GET /img/onglet_liens.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 141 342 546 200 0 GET /img/onglet_contact.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 156 334 1866 200 0 GET /img/casque.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 234 338 4132 200 0 GET /img/logo_small.gif 189.156.339.39-29/04/01 18:11:19 W3SVC4 SERVERD194.206.215.42 141 331 813 200 0 GET /img/une.gif 189.156.339.39-29/04/01 18:12:23 W3SVC4 SERVERD194.206.215.42 61844 340 1139 200 0 GET /img/fleche_rouge.gif 189.156.339.39-29/04/01 18:12:23 W3SVC4 SERVERD194.206.215.42 61828 339 1055 200 0 GET /img/inscription.gif 143.33.25.372-29/04/01 18:57:14 W3SVC4 SERVERD194.206.215.42 297 146 11778 200 0 GET /actualites/present_biblio.asp 66.7.131.134-29/04/01 19:04:56 W3SVC4 SERVERD194.206.215.42 1593 288 1985 200 0 GET /publications/dossiers/neural/histor.asp 66.7.131.134-29/04/01 19:26:20 W3SVC4 SERVERD194.206.215.42 1953 287 1967 200 0 GET /publications/dossiers/neural/intro.asp 210.204.173.43-29/04/01 19:35:54 W3SVC4 SERVERD194.206.215.42 4078 135 32333 200 0 GET /contact.asp 193.249.23.174-29/04/01 19:40:17 W3SVC4 SERVERD194.206.215.42 11250 336 31736 200 0 GET /index.asp 193.249.23.174-29/04/01 19:40:23 W3SVC4 SERVERD194.206.215.42 10125 335 2988 200 0 GET /img/bando1.gif 193.249.23.174-29/04/01 19:40:37 W3SVC4 SERVERD194.206.215.42 14250 335 1723 200 0 GET /img/bando3.gif 193.249.23.174-29/04/01 19:40:44 W3SVC4 SERVERD194.206.215.42 6719 333 303 200 0 GET /img/bleu.gif 193.249.23.174-29/04/01 19:40:51 W3SVC4 SERVERD194.206.215.42 6672 334 274 200 0 GET /img/blanc.gif Date Authentification Code retour Type de requête
Le Opinion n : 1 Navigation 1 : n Participation 1 : 1
Le Problème d identifiant unique L identifiant de session ne peut se définir à partir de la seule lecture de l adresse IP Alternative 1 : elle permet d identifier la session à l aide d un cookie Alternative 2 : elle permet de suivre les actions d un visiteur après avoir obtenu sa signature (identifiant+mot de passe) Alternative 3 : elle permet de réduire les erreurs d utilisation de la seule adresse IP. Cette solution est mise en œuvre dans cette étude.
Alternative 1 Apports : Solutionne le problème des adresses IP identiques pour un ensemble de visiteurs Pas d intervention du visiteur Limites : L utilisateur peut supprimer, modifier ou refuser les cookies Les postes en «accès libre» sont utilisés par plusieurs visiteurs potentiel Le même visiteur peut posséder plusieurs ordinateurs Un firewall peut interdire l écriture des cookies
Alternative 2 Apports : Solutionne le problème des adresses IP identiques pour plusieurs visiteurs Solutionne le problème des cookies identiques pour plusieurs visiteurs Limites : Informations erronées ou manquantes L utilisateur peut perdre son mot de passe : il doit alors se réinscrire, ce qui a pour effet d augmenter artificiellement le nombre de visiteurs Les moteurs de recherche ne peuvent pas s identifier et n indexent donc plus les nouvelles pages créées. Risque de réticence de la part des nouveaux visiteurs
L identification avec SAS Clickstream Analysis Pour reconstituer les sessions d un même internaute, la solution SAS Clickstream analysis se base sur les éléments disponibles : adresse IP, identifiant de session unique (cookie de session), Pour déterminer que deux requêtes consécutives de la part d un même internaute appartiennent à la même session, on choisit que le temps séparant ces deux requêtes au serveur de pages Web soit inférieur ou égal à 30 minutes (paramétrable dans Webhound)
Alternative 3 Pour les données du : Dans notre cas, du côté du serveur (), seule l adresse IP est disponible. L identifiant de session sera donc l adresse IP associée à la date et l heure du début de la connexion. Ex : SessionID = «189.156.339.3929/04/0118:11:19» Pour les données du La session sera identifiée à l aide de l adresse IP, de la date du début de la session, du type de navigateur utilisé ainsi que de la valeur du cookie Ex : SessionID = «189.156.339.39Mozilla/4.61+(Win98;+I)29/04/0118:11:19»
Les données brutes stockées sur un serveur web sont en grande partie inintéressantes pour l étude. Les données concernant les pages possédant des graphiques ou des scripts n apporteront rien à l analyse. Elles sont donc filtrées. Les données provenant d agents, robots ou testeurs de liens biaisent les réelles caractéristiques des visiteurs du site : Il serait inexact de prétendre qu elles sont inutiles, car elle peuvent être un précieux outil pour l analyse de la navigation. Elles sont très difficiles à déceler : un agent devrait en théorie posséder une méthode «HEAD» lors de ses accès au site. En pratique, peu d agents respectent ce principe. Ces données sont elles aussi filtrées
Supprimer les valeurs aberrantes. Certains robots ou agents non référencés peuvent perturber les logs : il est nécessaire dans ce cas précis d identifier l adresse IP, puis d éliminer toute trace de ce robot dans la base le Des adresses IP spécifiques ont été supprimées du fichier afin de ne pas donner un poids trop important à leur navigation (par exemple : l adresse IP du serveur proxy de Lincoln) Une analyse plus détaillée des valeurs s éloignant significativement de la valeur moyenne a permis de supprimer de la base d autres sessions «suspectes».
L Pour des besoins de pilotage - on stocke dans l e-warehouse des données dont les structures sont de type agrégées Pour les besoins de l analyse web-mining - l accès aux données de détail est nécessaire
Création de variables Exemples de variables intégrées à l e- Warehouse : Moment de la connexion : - 0=heures de travail, - 1=soirée et nuit, - 2=week-end et jours fériés. Type de navigateur Profondeur de la page consultée Catégories a priori (rubriques) Date de première visite Date de dernière visite Durée totale des visites Durée moyenne d une visite Ecart type de la durée Nombre de clics moyens
Indicateurs Pilotage de l activité du site La consultation des résultats au cours du temps permet de suivre l évolution de l activité du site Exemples d indicateurs standards et personnalisés mis en place pour le suivi du site Web-datamining : - Principales pages d entrée du site - Principales pages de sortie - Pages uniques les plus consultées - Les sites qui génèrent le plus de visiteurs Les sites qui génèrent le plus de visiteurs
Indicateurs Nombre de pages vues, de visiteurs Evolution du nombre de pages vues par catégories Temps moyen passé sur chaque page Evolution du nombre d inscriptions au journal
Recherche des chemins de navigation Principes généraux A (antécédent) => B (conséquent) Confiance : 80 % 80% des visiteurs qui ont consulté la page A ont également consulté la page B. Les critères : Le support : pourcentage de transactions contenant A et B par rapport au nombre total de transactions La confiance : pourcentage de transactions contenant A et B sur le nombre de transactions contenant A L effet de levier : confiance sur le nombre de transactions contenant B
Recherche d associations Introduction de taxinomies Dans une structure taxinomique, les objets sont regroupés en classes organisées hiérarchiquement sous forme de groupes. Détermination des groupes : Les catégories a priori (accueil,publis,actus,liens, ) résultats triviaux Les types de pages (actives,texte,accueil) résultats inexploitables
Recherche d associations Choix des taxinomies Les taxinomies ont été créées uniquement pour les pages les moins fréquentées et pour lesquelles une hiérarchie était possible. Le choix du niveau de détail dans la hiérarchie a été établie en fonction de la connaissance du site. Hiérarchies ainsi générées : Forum {liste.asp, affiche_message.asp, } publi.pdf {/pdf/prev7.pdf, /pdf/regression.pdf, } Actualite.pdf {/pdf/communique.pdf, /pdf/atfp.pdf, } Vote {/scripts/vote012001.asp, /scripts/vote022001.asp, } archives2001 {/actualites/journal/2001/01/1.asp, } archives2000 {/actualites/journal/2000/12/4.asp, }
Résultats de la recherche d associations Il est possible que la structure physique de notre site ne corresponde pas à la structure logique mise en place à la création du site. La recherche d associations à partir de taxonomies conceptuelles telles que les hiérarchies définies précédemment doit permettre de déceler les écueils dans la structure logique. Cette recherche a été effectuée en trois étapes : - La mise en relation des associations les plus représentatives révèle la structure physique du site. - L identification des «boucles». Mise en évidence de séquences fréquentes à l intérieur du forum : Forum=> Forum=>Forum=>Forum (supp.=5,72 et conf.=80.69) - La vérification de la présence d items dans d autres associations : pas de présence significative de l item Forum hors des «boucles».
Résultats de la recherche d associations Identification d un important référencement des pages du forum Analyse de liens entre deux variables provenant du Data web : la page consultée et la page d où vient le visiteur Mise en évidence des liens les plus forts pour les sites qui nous référencent le mieux
Recherche de séquences de pages Problème Le forum était à l origine un service indépendant du site Il était impossible de revenir sur le site à partir de la consultation du forum Solution Création d une nouvelle rubrique «services» Avant Après Le forum et le FAQ sont maintenant totalement intégrés au site et l accès aux autres ressources du site est possible à partir de la rubrique «services».
Recherche de séquences de pages Analyse de séquences et introduction de contraintes temporelles Les séquences choisies sont : la date/heure, la date et la semaine. Définition d un fenêtre délimitant les séquences : La session (maximum de 30 minutes) La semaine avec une souplesse d un jour Le mois Permet de regrouper les évènements lorsque les dates sont proches. Permet de considérer les évènements trop éloignés pour apparaître dans la même séquence fréquente.
Recherche de séquences de pages Analyse de séquences et introduction de contraintes temporelles A (antécédent) => B (conséquent), avec : Confiance = 80 %, Séquence= date (en jours), mini=1 jour et maxi=7 jours 80% des visiteurs qui ont consulté la page A ont également consulté, dans les 7 jours suivants, la page B. Filtrage d évènements (support < 0,5% et >80%)
Résultats de la recherche de séquences Analyse de liens entre les modalités de la variable «requested file» Visualisation du graphe orienté qui considère les relations entre la nouvelle rubrique des services et les autres pages du site On constate qu aucune séquence considérée ne contient la rubrique service en antécédent
Résultats de la recherche de séquences Confirmation par une sélection d un sous échantillon de séquences Les séquences sélectionnées se rapportent à la session (identifiant et variable de séquence = datetime et max=30mn) Le forum et le FAQ sont les seuls services du site, or ils n apparaissent pas en premier lorsque le tri est effectué sur le support.
Résultats de la recherche de séquences Solution provisoire : questionner le visiteur sur le type de service qu il souhaiterait voir apparaître sur le site Web-datamining
6 variables binaires ont été créées à partir des associations les plus intéressantes : Antécédent Conséquent Lift Support Confiance Forum&script/inscri.asp publis/publication.asp 3,54 3,28 78,13 services.asp&actus/biblio.asp Forum 3,26 3,31 76,77 Forum&publis/publication.asp &liens/annuaire.asp actus/actualites.asp 5,41 4,14 76,87 Forum&liens/annuaire.asp &actus/actualites.asp services.asp 6,61 3,73 79,84 liens/annuaire.asp &journal/presentation.asp &actus/actualites.asp publis/publications.asp 4,1 3,42 90,61 publis/publications.asp &actus/actualites.asp&actus/biblio.asp liens/annuaire.asp 5,21 3,39 80,76 Certains indicateurs et variables inutiles à la modélisation ont été écartés afin de constituer une base propre à l analyse.
Modéliser le fait qu un internaute visite ou non la page de contact du site Variable à modéliser : variable binaire Méthodes de modélisation testées : Réseaux de neurones Régression logistique Arbre de décision binaire Arbre de décision à trois branches
Comparaison de modèles Echantillon d apprentissage Echantillon de validation
Les règles de décision
Les règles de décision La variable la plus discriminante est une variable créée à partir des analyses d associations 3 règles conduisent à un taux de consultation supérieur à la moyenne Une seule règle est intéressante : elle indique que les visiteurs qui n effectuent pas la séquence Forum&publication&annuaire=>actualites et ne consultent que peu de pages et ont une préférence pour les pages de type «action», ont deux fois plus de chance de consulter la page de contact que la moyenne des visiteurs du site.
Ajout d un outil de recherche sur la page d accueil pour «provoquer» l action le plus tôt possible.
Conclusion Réflexion sur nos futurs projets Résolution du problème de mise en production des scores sur le site Analyse des performances obtenues suite aux modifications : problème d évolution structurelle du site où les performances doivent être mesurées sur un niveau global
Des questions? CLUB SAS 2001 17/18 octobre 2001 Stéfan Galissie stefan.galissie@lincoln.fr contact@web-datamining.net 2001