Analyse chemin de navigation web

  • Initiateur de la discussion Initiateur de la discussion Jean John
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Jean John

XLDnaute Nouveau
Bonjour,

Je souhaite analyser un parcours de navigation sur un site internet de manière à savoir quelles sont les pages consultés juste avant et juste après une page donnée. Mon outil d'analytics me fournit toutes les données mais pas l'analyse permettant d'exploiter ces données. Je me permets donc de solliciter votre aide!

Chaque page est unique et appartient à une seule catégorie.
Chaque visite sur le site internet est numéroté avec un ID.
Pour chaque ID, je connais la position de chaque page au cours de la visite.

Exemple:
ID Pages Catégorie Position page
1 PageA Catégorie1 1
1 PageB Catégorie2 2
1 PageC Catégorie3 3
Pour la visite n°1, la première page consultée est la page A (position =1), puis la B(position =2), puis la C(position =3).

Je souhaite savoir automatiquement pour une page, sur l'ensemble de visites quelles sont les pages vues juste avant (=position-1) et juste après (=position+1). Cela permettra de dire: "Parmi ceux qui ont consultés la page X, a% viennent de la page Y et b% viennent de la page Z".

J'ai créé un fichier excel avec dans le 1er onglet les données et dans le 2ème l'analyse.
Mes connaissances en VBA sont plutôt faibles et je ne vois pas avec quelles formules excel je pourrai parvenir à ce résultat. Existe-t-il une solution?

Merci par avance,
 

Pièces jointes

Re : Analyse chemin de navigation web

Bonjour Jean.

Je n'ai pas eu le temps de vraiment développer l'idée, mais pour t'orienter tu peux enregistrer les valeurs comme ci-dessous, dans un dictionnaire répertoriant le nombre de fois que la Page A amène à la Page B dans la même session. (L'inverse permet de connaître la page source).

Code:
Option Explicit
Option Base 1

Sub Analyse()
Dim i As Long
Dim ShDonn As Worksheet
Dim d As Object
Dim c As Variant
    Set d = CreateObject("Scripting.Dictionary")
    Set ShDonn = Sheets("Données")
    With ShDonn
    For i = 2 To 5000
    If .Cells(i, 1).Value = "" Then Exit For
    If .Cells(i + 1, 4).Value > .Cells(i, 4).Value Then
    d(.Cells(i, 2).Value & "|" & .Cells(i + 1, 2).Value) = d(.Cells(i, 2).Value & "|" & .Cells(i + 1, 2).Value) + 1
    End If
    If .Cells(i, 4).Value = 1 Then d(.Cells(i, 2).Value) = 1 + d(.Cells(i, 2).Value)
    Next i
    End With
End Sub

Voir comment utiliser ces informations pour ton analyse par la suite.

Le résultat donnera ça à peu près.
Code:
PageA|PageB : 4
PageA : 4
PageB|PageC : 2
PageD|PageA : 2
PageD : 1
PageA|PageA : 1
PageC|PageD : 2
PageC : 3
PageB|PageD : 1
PageB|PageA : 3
PageB : 2
PageC|PageB : 2

Quand apparaît seulement PageC par exemple, c'est le nombre de fois où c'était la première page de la session.
 
Re : Analyse chemin de navigation web

Bonjour, je ne suis pas sûr d'être bien dans les clous mais je post quand même.

en A3 et B3 de la feuille Analyse vous remplissez vos critères (page et catégorie) et le tableau à côté affiche les pages avant et après avec le % par page.

En esperant que cela correspond
 

Pièces jointes

Re : Analyse chemin de navigation web

Bonjour à tous,

Une idée avec un TCD.
Je suis parti du fichier de CPk et j'ai ajouté 2 colonnes de formules pour prédécesseur et successeur.
Ensuite, un TCD avec affichage % par rapport à la ligne.
J'ai fait le TCD prédécesseurs. A toi de faire celui pour les successeurs.

Cordialement
 

Pièces jointes

Re : Analyse chemin de navigation web

Bonjour à tous,

Merci pour votre aide.
CPk, je n'arrive pas à comprendre pourquoi la formule PETITE.VALEUR va chercher par exemple la cellule A1 pour E2 qui contient du texte (A2 pour E3, etc...). Quelle est la logique?
 
Re : Analyse chemin de navigation web

Bonjour Jean John, benoit, odvj.

Jean John, en réalité c'est n'est pas la valeur de A1 que l'on se sert dans se cas de figure mais le numéro de ligne de A1. D'ailleurs si vous regardez bien, A1 est englobé dans la fonction ligne. --> Ligne(A1)

Si vous mettez dans une cellule =ligne(A1) vous allez avoir comme résultat 1
Si vous étirez avec la poignet de recopie vers le bas, vous allez avoir successivement 2,3,4,5 etc...

Et on utilise Ligne(A1) dans la fonction PETITE.VALEUR(matrice, k) pour défini l'index K.

Ligne(A1) = 1 donc PETITE.VALEUR(matrice, ligne(A1)) = la première petite valeur de la Matrice.
Quand on étire la formule d'une cellule vers le bas cela va donné : PETITE.VALEUR(matrice, ligne(A2)) donc la deuxième plus petite valeur de la matrice...

Le but de cette manipulation est de ne pas écrire 50 fois la formule Petite.valeur() et de changer manuellement l'index k à la main.
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
358
Réponses
2
Affichages
1 K
Retour