Quelques statistiques sur le forum Excel VBA

Bonjour à vous

Voilà, je me suis mis un peu au web scraping qui permet d'absorber le contenu d'un site internet, et j'ai voulu commencer par le forum en me posant 2 questions: comment a évolué le nombre de sujets? et quel temps en moyenne on mettait à clore un sujet?

Du coup je voulais les partager avec vous

evolution nombre de sujets par mois

Pour le nombre de sujets par mois, ce qu'on peut en dire c'est qu'il augmente progressivement d'années en années, et que chaque année, on voit une baisse des demandes vers août/septembre, on a atteint plus de 1400 messages en un mois en 2018 sur le premier trimestre


evolution du temps d ouverture moyen

Pour le temps d'ouverture moyen (temps qui s'écoule entre la date de création et la date du dernier post du sujet, où j'estime qu'il est clôt), j'ai dû filtrer une partie des données, certains sujets avaient plus de 1000 jours de temps d'ouverture, comme on le sait, parfois certains sujets sont déterrés. Pour résoudre ce problème, j'ai appliqué un filtre sur les temps d'ouverture, en ne prenant que ceux étant inférieurs à 150 jours (plus de 98% des valeurs). Le résultat, on arrive à être constants dans le temps qu'on met à résoudre les problèmes des membres du forum, moins de 5 jours s'écoulent en moyenne pour que les problèmes soient résolus, et les membres satisfaits. On voit des pics pour 2005 et 2006, mais c'est normal, ces années là, le nombre de sujets était faible (moins de 100 sujets par mois), donc les sujets qui durent longtemps ont plus d'impact sur la moyenne.

En clair, malgré l'augmentation du nombre de sujets au fur et à mesure des années, on continue à être capables de répondre aux interrogations des membres dans un délai que je trouve assez court, félicitations

Pour ceux qui seraient intéressés, j'ai codé en python et le code est:

import os
import csv
import requests
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup

#ouverture fichier texte
fichier = open("donnees - Copie.csv", "w", encoding="utf-8")
writer = csv.writer(fichier)
writer.writerow(["Titre sujet", "Date création","Date dernière réponse"])

#ouverture page avec selenium
url = 'https://forum.excel-pratique.com/viewforum.php?f=2'
driver = webdriver.Firefox(executable_path=r'C:\Python\Python37-32\drivers\geckodriver.exe')
driver.implicitly_wait(30)
driver.get(url)

while True:
    #réinitialisation des listes
    liste_titres = []
    liste_datesCreation = []
    liste_datesDerReponse = []
    textes = []

    #utilisation de beautifulSoup pour extraire le code de la page
    requete = requests.get(driver.current_url)
    page = requete.content
    soup = BeautifulSoup(page)
    titres = soup.findAll("a", {"class":"topictitle"})
    datesCreation = soup.findAll("div",{"class":"topic-poster responsive-hide left-box"})
    derPosts = soup.findAll("dd",{"class":"lastpost"})

    #titres
    for titre in titres:
        liste_titres.append(titre.string)

    #dates création
    for date in datesCreation:
        textes = date.findAll(text=True)
        texte = textes[len(textes)-1]
        liste_datesCreation.append(texte.replace('\n','').replace('\t',''))

    #dates dernière réponse
    for derPost in derPosts:
        datesDerReponse = derPost.find("span")
        textes = datesDerReponse.findAll(text=True)
        texte = textes[len(textes)-1]
        if (derPost.find('a') !=None):
            liste_datesDerReponse.append(texte.replace('\n','').replace('\t',''))

    #export en csv
    j = len(liste_titres)
    i = 1 #pas 0 car la première ligne ne m'intéresse pas
    while i < j:
        writer.writerow((liste_titres[i], liste_datesCreation[i], liste_datesDerReponse[i]))
        i+=1

    #cherche le bouton pour passer à la page suivante
    try:
        bouton = driver.find_element_by_class_name("icon.fa-chevron-right.fa-fw")
        bouton.click()
    except:
        break

driver.close()

J'aurais bien joint le fichier csv, mais il est trop volumineux pour le forum...

Bonjour à vous

Voilà, je me suis mis un peu au web scraping qui permet d'absorber le contenu d'un site internet, et j'ai voulu commencer par le forum en me posant 2 questions: comment a évolué le nombre de sujets? et quel temps en moyenne on mettait à clore un sujet?

Ha c'est pour çà que je me sentais comme aspiré hier.

Quoi qu'il en soit un bel exemple de statistiques .. bravo Ausecour pour le boulot !

Bonjour tout le monde !

Très joli travail, c'est très intéressant !

Personnellement je me pose d'autres questions, mais qui risquent d'être compliquées à répondre...

  • Quelle est la proportion de sujet résolus (pas forcément indiqués comme tels, mais dont une solution répondant à la problématique initiale a été apportée) ?
  • Quelle type de question/sujet sont les plus fréquents ?
  • Et la combinaison des deux : quel est le taux de résolution par type de sujet ?

Salut à vous

@Pedro22

En effet le premier point est très compliqué à traiter, pour mes statistiques, je suis partis du principe que tous les sujets étaient résolus à un moment, et j'ai donc regardé le temps qu'il s'écoulait entre le premier et le dernier message du sujet

Malheureusement pour savoir si le sujet a réellement eu une réponse satisfaisante, j'ai du mal à voir comment je pourrais automatiser ça... encore, si tous le monde utiliser le bouton "résolu", je pourrais sûrement faire quelque chose avec les images, mais il y a de nombreux sujets résolus qui n'ont pas été marqués comme tels

Le type de question les plus fréquentes, ça je dois pouvoir plus ou moins le faire avec les titres des sujets, même si encore une fois, ils ne sont pas tous très explicites et que les sujets sont très divers, mais je dois pouvoir faire quelque chose en cherchant des mots clés comme "formule", "planning" etc... Après tout j'avais déjà fait une macro pour savoir quels mots revenaient le plus souvent dans une liste donnée

Si tu as une idée pour la résolution, je veux bien

Après si par exemple, tu veux savoir le nombre de sujets qui ont été passés en résolu sur l'ensemble des sujets, je dois pouvoir trouver un moyen de faire ça

Parce que sinon pour le moment, pour faire ça vraiment bien, à part traiter à la main les plus de 100 000 sujets qui sont sortis depuis 2004... je ne vois pas trop comment on pourrait faire... Même chercher "Merci" dans les sujets ça ne suffirait pas, ce n'est pas un gage que le sujet soit résolu, et certains membres ne remercient pas non plus

@Xmenpl j'espère que tu n'es pas trop épuisé du coup

@Ausecour : pour la méthode, j'aurais du mal à te guider, étant donné que je maîtrise autant python que la physique quantique...

Après réflexion, je me dis que l'on doit pouvoir s'intéresser aux sujets qui sont correctement complétés. C'est à dire avec un titre explicite (inutile de s'intéresser à des sujet avec trop peu de caractères ou comportant seulement des termes génériques : "problème VBA", "Power Query", "Besoin d'aide"...). J'imagine que les statistiques obtenues sur la base de ces sujets sont généralisables à l'ensemble du forum.

Il serait intéressant par exemple de voir la proportion (sur le total des sujets "exploitables") qui traitent de (liste non-exhaustive de ce que j'ai en tête) :

  • Copie conditionnelle (de lignes...)
  • Mise en forme conditionnelle
  • Userform
  • Recherche à résultat multiple
  • Recherche à critère multiple
  • Format de Date/heure
...

PS :

Parce que sinon pour le moment, pour faire ça vraiment bien, à part traiter à la main les plus de 100 000 sujets qui sont sortis depuis 2004... je ne vois pas trop comment on pourrait faire...

S'il y a suffisamment de contributeurs motivés, pourquoi pas !!

Me revoilà pour de nouvelles statistiques

Bon je ne suis pas encore totalement satisfait de mes catégories par contre...

proportion de sujets resolus

Pour la proportion de sujets résolus, j'ai fait par rapport aux personnes qui ont validé les sujets comme résolus, la proportion est donc largement sous évaluée ici, on remarque quand même malgré ça, que la proportion de sujets résolus est presque égale au nombre de sujets bien que légèrement inférieur. On peut imaginer que plus de 2/3 des sujets trouvent une réponse adéquate mais je n'ai pas vraiment de moyen rapide d'avoir une valeur plus représentative.


proportion sujets resolus par categories

à la suite de ça, j'ai donc regardé la proportion de sujets résolus par catégories, on voit qu'en général les catégories sont proches de la proportion précédente, 50%, sauf pour les sujets concernant les e-mail, les graphiques, les planning.


repartition sujets par categories

Pour cette dernière statistique, c'est là où je suis le moins satisfait, certains groupes représentent seulement 1% de la population, et j'ai un gros "autre" qui prend 50%, avec ça, pour le moment j'ai en sujets principaux: VBA, formules, cellules (tout ce qui touche aux cellules), formulaire, pour 37% des sujets.

Comme je disais, je ne suis pas totalement satisfait de ça, à cause de la taille du groupe autre, du côté non représentatif de certaines catégories... Je vais voir pour améliorer ça

Salut Ausecour, le forum !

Je trouve ça très intéressant, malgré la difficulté que ça représente et les limites que l'on connaît sur l'indication "résolu" par exemple ! Mes félicitations !

C'est une excellente base pour savoir dans quels domaines il faut que l'on renforce les ressources, cours... Et aussi imaginer des évolutions pour le forum.

Bonjour Ausecour,

Voilà, je me suis mis un peu au web scraping qui permet d'absorber le contenu d'un site internet

Est-ce que tu te souviens de la date et l'heure à laquelle tu as lancé ton script ? Peut-être le 17 septembre vers 10h ?

Cordialement,

Bonjour Ausecour,

Voilà, je me suis mis un peu au web scraping qui permet d'absorber le contenu d'un site internet

Est-ce que tu te souviens de la date et l'heure à laquelle tu as lancé ton script ? Peut-être le 17 septembre vers 10h ?

Cordialement,

Bonjour Sébastien,

Pour la date et l'heure je dirais... le 25/09/2019 en fin de journée, vers 18h00, et hier en début d'après midi vers 14h15, si tu as eu des problèmes au niveau du serveur le 17/09/2019, ce n'est pas moi malheureusement

Tant de précisions dans la date et l'heure, cette expérience de stats aurait-elle plantée le site à ce moment ?

Et cette journée là, il y'a eu un article sur un fait divers étrange, à la lecture je pensai qu'il s'agissait d'un proprio de restaurant qui avait fait l'expérience d'un Cluedo réel, mais maintenant ... c'est vrai qu'il y'à serveur et serveur

capture 4

Haha y'aura t'il dans les jours à venir, une dépêche AFP, parlant d'un homme pourchassé par un autre, les 2 criants

"Au secour à moi"

"Au secour tu va payer les frais horaires de réparation"

Aaargh Scheiße déjà une réponse d'ausecour, deepfake Le Temps m'a pris trop de temps, ma blague marche moins bien

Oh purée je n'avais pas compris la référence du message à Sébastien

bravo waard pour avoir trouvé

Finalement je n'arrive pas à bien faire plus précis pour les catégories, il faudrait se pencher plus en détail sur chacun des sujets parce qu'avec des mots clés c'est très limité

Si quelqu'un est intéressé par les données csv que j'ai, je peux les transmettre en mp (trop volumineux pour être posté directement ici, sauf si je supprime plus de la moitié des infos...).

Si quelqu'un est intéressé par les données csv que j'ai, je peux les transmettre en mp (trop volumineux pour être posté directement ici, sauf si je supprime plus de la moitié des infos...).

Le sujet m'intrigue ! Tu as quoi dans tes CSV ?

çà me rappel une info 1 mois avant le 17 aussi, problème de serveur ?…. Etrange mon cher Watson.

"Seine-Saint-Denis : un serveur tué par un client car son sandwich n’arrive pas assez vite

Mis en ligne le 17/08/2019 à 19:29

Un client d’un restaurant qui aurait perdu patience face à la lenteur des cuisines pour lui préparer un sandwich a, pour manifester son mécontentement, atué le serveur."

Bon là tout compte fait c'est un problème client pas serveur.

Pour le moment j'ai vraiment importé le minimum de données dans le csv, il y a en tout 4 colonnes de données:

  • titre du sujet
  • date de création du sujet
  • date du dernier post sur le sujet
  • état du sujet (résolu ou non)

Toutes les pages de la section Excel-VBA sont présentes dans le fichier, soit environ 120 000 lignes pour 13 000Ko, environ 2900Ko en Zip.

Je pourrais assez facilement ajouter le nombre de réponses et le nombre de vues sur le sujet si besoin, je vais chercher l'ensemble des informations sur cette page: https://forum.excel-pratique.com/viewforum.php?f=2, ainsi que les suivantes

@Xmenpl ah oui ils sont chauds les clients

Je suis chaud pour le CSV, avec le nombre de réponse (le nombre de vues ne présente pas un grand intérêt, il sera corrélé avec "l'âge" du sujet...).

Oh purée je n'avais pas compris la référence du message à Sébastien

Il n'y avait aucune référence

Juste un gros pic le 17 septembre à partir de 10h (mais heureusement, j'ai pris un bon serveur ) :

pic

Ah d'accord

Aurait-t-on assisté à une attaque massive de serveurs? on en entendra sûrement pas parler, mais c'est plutôt drôle que tu aies eu un pic le 17 et qu'il y ait ce fait en Suisse

En tout cas non ce n'est pas à cause de moi le programme prend une bonne heure pour prendre les infos, je dois changer de pages toutes les 3-4 secondes environ

En tout cas, heureusement que ton serveur n'est pas en carton

J'ai trituré un peu le fichier gracieusement transmis par Ausecour (merci à lui), je vous livre les premiers résultats :

Quelques généralités sur le jeu de données et la méthode :

  • La période étudiée s'étend du 28/12/2004 au 27/09/2019
  • Cela représente un total de 123 957 sujets
  • En tenant compte des sujets cochés comme résolu, ou comportant la mention [résolu] ou (résolu), le taux moyen de résolution est de 47%
  • Un titre de sujet comporte en moyenne 36 caractères et reçoit 5,3 réponses

Concernant la catégorisation, elle a été faite sur une liste non-exhaustive de mots clés, sachant que dans une majorité des cas, le titre n'est pas suffisamment explicite pour catégoriser précisément le sujet (>2/3). Un sujet comportant plusieurs mots-clés sera présent dans plusieurs catégories.

Statistiques par :

Nombre de réponses
nbreponses
Nombre de caractères du titre


tailletitre
Jour de la semaine et heure de la journée

PS : l'échelle des courbes bleues est celle de droite

joursem heurejour
Catégorie du sujet


sujetsparcat txresparcat txresparsouscat

Pour ceux que ça intéressent, voilà la liste des mots clés :

PS : le pluriel et le féminin sont volontairement omis car inclut dans la forme courte (singulier masculin), l'inverse n'étant pas vrai !

Bonsoir Pedro,

eh bien! c'est vrai qu'on pouvait encore faire des choses intéressantes avec les données

Ce que je préfère c'est de voir l'affluence des sujets à des créneaux horaires bien précis, et savoir que pour les catégories que tu as fait, on voit bien que certaines catégories trouvent souvent plus de solutions que les autres, ou en tout cas, les personnes appuient plus sur le bouton résolu

Bon travail en tout cas!

Rechercher des sujets similaires à "statistiques forum vba"