Pourquoi la science des données ?
La science des données n'est pas de la « magie de l'IA », mais des questions précises sur les données :
Que se passe-t-il ? — analyse descriptive
Pourquoi cela se produit-il ? - diagnostic
Que va-t-il se passer ensuite ? — prévisions
Que faire ? — recommandations
Cycle de base : collecter → nettoyer → regarder (EDA) → vérifier l'hypothèse → modéliser → expliquer le résultat et prendre une décision.
Règle n° 1 : le résultat doit conduire à l'action. Un chiffre pour un chiffre, c'est de la merde.
Mini aide-mémoire : que faut-il compter et comment mesurer
Question | Ce que nous pensons | Instrument | Type de métrique | Ce que cela signifie |
|---|---|---|---|---|
Combien dépensent les clients ? | Chèque moyen (moyenne), médiane | Pandas/SQL | Descriptif | Point de référence de base pour les revenus |
À quel point la demande est-elle « vivante » ? | Conversion, fréquence d'achat | Groupes, cohortes | Descriptif / diagnostic | Comprendre l'entonnoir |
La bannière fonctionne-t-elle ? | Δ conversions, test t/bootstrapping | SciPy/bootstrapping | Statistiques inf. | La probabilité que l'effet ne soit pas un hasard |
Qu'est-ce qui influence la réponse ? | Corrélations/importance des fonctionnalités | corr (), régression simple | Diagnostic | Quels facteurs sont vraiment importants |
Combien allons-nous vendre demain ? | Prévisions (linéaire / arbres) | scikit-learn | Prévisions | Optimisation des achats et de la publicité |
Exemple 1. Café et ticket moyen
Scénario : le propriétaire veut comprendre pourquoi les revenus « sautent ».
Données : tableau orders (id, date, montant, mode de paiement).
Ce que nous faisons :
Nous calculons chèque moyen et médiane.
Nous construisons distribution des reçus.
Nous regardons jour de la semaine — où sont les jours de pointe ?
df['weekday'] = df['date'].dt.day_name()
avg_check = df['amount'].mean()
median_check = df['amount'].median()
by_weekday = df.groupby('weekday')['amount'].mean().sort_values(ascending=False)
Conclusions : si le reçu moyen >> médianes — vous avez une longue « queue » de commandes coûteuses. Des pics le vendredi ? Il est donc préférable de lancer la promo le jeudi soir.

Exemple 2. Conversion de la vue en achat
Scénario : boutique en ligne : beaucoup de vues, peu d'achats.
Données : événements view_product et purchase avec user_id.
views = events.query('event=="view_product"').user_id.nunique()
carts = events.query('event=="add_to_cart"').user_id.nunique()
buys = events.query('event=="purchase"').user_id.nunique()
conv_view_to_cart = carts / views
conv_cart_to_buy = buys / carts
Conclusion : si l'affaissement se produit à l'étape « panier → achat » — vérifier l'UX, les erreurs de formulaire ou les frais de livraison.
Exemple 3. Test A/B rapide de la bannière
from statsmodels.stats.proportion import proportions_ztest
count = np.array([buys_B, buys_A])
nobs = np.array([visits_B, visits_A])
stat, p = proportions_ztest(count, nobs)
Conclusion : même avec une différence de +0,8 pp, l'intervalle de confiance et le coût du trafic doivent être pris en compte.
Exemple 4. Prévisions de ventes « pour demain »
X = pd.get_dummies(df[['day_index','weekday']], drop_first=True)
y = df['sales']
model.fit(X_train, y_train)
pred = model.predict(X_test)
mae = np.mean(np.abs(pred - y_test))
Conclusion : une prévision est nécessaire pour réduire l'incertitude, et non pour « deviner avec précision ».
Exemple 5. Qu'est-ce qui affecte réellement la réponse ?
Scénario : envoi d'e-mails. Pourquoi certains e-mails sont ouverts et d'autres non ?
Idée : vérifier les corrélations et la régression logistique pour évaluer l'influence des signes.
Le nettoyage des données est la moitié du succès
Problème | Comment remarquer | Que faire |
|---|---|---|
Absences |
| Supprimer ou remplacer par la médiane |
Émissions | Boxplot, z-score | Limiter selon les règles de l'entreprise |
Doublons |
| Effacer les clés |
Différents formats de date | Erreurs d'analyse | Utiliser |
Catégories incomplètes | Part < 1 % | Fusionner dans « Autre » |
Dans Codique nous proposons des modules courts sur Python et l'analyse avec des tâches « comme dans la vie » : téléchargement CSV, nettoyage, entonnoirs, mini test A/B et premier modèle. Sans eau et avec des résultats compréhensibles.
Et nous avons aussi un chaîne de télégram, où nous discutons d'idées intéressantes, partageons nos expériences et analysons ensemble les tâches, apprendre devient non seulement utile, mais aussi amusant.
