Comment devenir data analyst en 2025 : guide complet étape par étape

Comment devenir data analyst en 2025 : guide complet
Pour devenir data analyst, maîtrisez dans cet ordre : SQL (fondation indispensable), Python avec Polars/Pandas, et un outil de visualisation (Streamlit ou Power BI). Durée réaliste : 6 à 12 mois de pratique régulière, avec un portfolio de 2 à 3 projets concrets sur des données réelles.
Le métier de data analyst est l'un des plus demandés en France en 2025 (3 600 recherches/mois sur "formation data analyst"). Ce guide vous donne la feuille de route complète — sans détour — pour passer de zéro à votre premier poste.
Ce qu'est vraiment le métier de data analyst
Avant de parler formation, clarifions ce que font les data analysts au quotidien — parce que les descriptions de poste donnent rarement une image réaliste.
La répartition réelle du temps :
- 60–70% : extraction, nettoyage, transformation des données (SQL + Python)
- 15–20% : analyse et modélisation (statistiques, agrégations, KPIs)
- 10–15% : visualisation et communication (dashboards, rapports, présentations)
- 5–10% : maintenance et amélioration des pipelines existants
Le data analyst n'est pas un data scientist. Il ne construit pas de modèles de machine learning complexes. Son rôle est de transformer des données brutes en insights compréhensibles pour des décideurs non-techniques.
Les questions auxquelles répond un data analyst :
- "Pourquoi nos ventes ont baissé de 12% en mars ?"
- "Quels clients sont à risque de churn dans les 30 prochains jours ?"
- "Quelle campagne marketing a généré le meilleur ROI ?"
- "Où sont les inefficacités dans notre chaîne de production ?"
Les compétences requises en 2025
1. SQL — la compétence non-négociable
SQL est la base de tout. Toutes les données structurées vivent dans des bases de données, et le SQL est le langage universel pour les interroger. Sans SQL solide, vous serez bloqué dans 80% des situations réelles.
Niveau minimum requis pour un poste junior :
-- SELECT de base avec filtres et tri
SELECT customer_id, SUM(amount) as total_revenue
FROM orders
WHERE order_date >= '2024-01-01'
AND status = 'completed'
GROUP BY customer_id
HAVING SUM(amount) > 1000
ORDER BY total_revenue DESC;
Niveau pour être compétitif :
-- Window functions — incontournables en analytique
SELECT
customer_id,
order_date,
amount,
SUM(amount) OVER (
PARTITION BY customer_id
ORDER BY order_date
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) as cumulative_revenue,
LAG(amount, 1) OVER (
PARTITION BY customer_id ORDER BY order_date
) as previous_order_amount,
RANK() OVER (ORDER BY amount DESC) as rank_by_amount
FROM orders;
-- CTEs pour décomposer des requêtes complexes
WITH monthly_revenue AS (
SELECT
DATE_TRUNC('month', order_date) as month,
SUM(amount) as revenue
FROM orders
GROUP BY 1
),
growth AS (
SELECT
month,
revenue,
LAG(revenue) OVER (ORDER BY month) as prev_revenue,
ROUND(100.0 * (revenue - LAG(revenue) OVER (ORDER BY month)) /
NULLIF(LAG(revenue) OVER (ORDER BY month), 0), 2) as growth_pct
FROM monthly_revenue
)
SELECT * FROM growth ORDER BY month;
L'outil 2025 : DuckDB. DuckDB est un moteur SQL analytique en-process (pas de serveur) qui lit directement les CSV, Parquet et JSON. Il est 10 à 100x plus rapide que SQLite sur les agrégations analytiques et dispose de toutes les window functions modernes.
import duckdb
# DuckDB lit un CSV directement, sans chargement en mémoire
result = duckdb.sql("""
SELECT
category,
SUM(revenue) as total,
AVG(revenue) OVER (PARTITION BY region) as regional_avg
FROM read_csv('sales.csv')
GROUP BY category, region
""").df() # retourne un DataFrame Pandas ou Polars
2. Python — pour automatiser et dépasser Excel
Python est devenu incontournable pour les data analysts qui veulent aller au-delà de ce qu'Excel peut faire. Vous n'avez pas besoin de maîtriser Python comme un développeur — vous avez besoin de savoir automatiser des tâches répétitives et créer des analyses reproductibles.
Polars vs Pandas : que choisir ?
Polars est 5 à 10x plus rapide que Pandas sur les datasets > 1 million de lignes, avec 4x moins de RAM. Commencez par Pandas si vous débutez (plus de ressources, meilleure intégration avec scikit-learn), passez à Polars dès que vous travaillez avec de gros volumes.
import polars as pl
# Polars : syntaxe fonctionnelle, expressions parallélisées
df = pl.read_csv("data.csv")
result = (
df
.filter(pl.col('date') >= '2024-01-01')
.groupby(['category', 'region'])
.agg([
pl.col('revenue').sum().alias('total_revenue'),
pl.col('revenue').mean().alias('avg_revenue'),
pl.col('customer_id').n_unique().alias('unique_customers'),
])
.sort('total_revenue', descending=True)
)
Compétences Python prioritaires pour un DA :
- Manipulation de données (Polars/Pandas)
- Visualisation (Plotly, Matplotlib)
- Automatisation de rapports (génération PDF, Excel)
- Connexion aux bases de données (SQLAlchemy, duckdb)
- API et web scraping (requests, BeautifulSoup)
3. Visualisation — transformer les données en décisions
Un tableau de chiffres ne convainc personne. La capacité à créer des visualisations claires et interactives est ce qui différencie un DA efficace d'un DA qui "fait des rapports que personne ne lit".
Streamlit : l'outil qui change tout pour les DA Python
Streamlit permet de transformer un script Python en application web interactive en quelques lignes. Pas de HTML/CSS/JavaScript requis.
import streamlit as st
import plotly.express as px
import duckdb
st.title("Dashboard Ventes 2024")
# Filtres interactifs
region = st.selectbox("Région", ["Toutes", "Nord", "Sud", "Est", "Ouest"])
date_range = st.date_input("Période", [])
# Requête SQL dynamique
query = """
SELECT category, SUM(revenue) as revenue
FROM read_parquet('sales.parquet')
WHERE 1=1
{region_filter}
{date_filter}
GROUP BY category
""".format(
region_filter=f"AND region = '{region}'" if region != "Toutes" else "",
date_filter=f"AND date >= '{date_range[0]}'" if len(date_range) > 0 else ""
)
df = duckdb.sql(query).df()
fig = px.bar(df, x='category', y='revenue', title="Chiffre d'affaires par catégorie")
st.plotly_chart(fig, use_container_width=True)
4. Git — versionner son travail
Git n'est plus réservé aux développeurs. En 2025, un DA qui ne versionne pas son code perd du temps à retrouver des analyses passées, ne peut pas collaborer efficacement, et ne peut pas montrer son travail en entretien.
Les bases : git init, git add, git commit, git push, git branch. 2 heures d'apprentissage qui changent votre façon de travailler.
La feuille de route : de zéro à opérationnel
Mois 1–2 : Fondations SQL
Objectif : maîtriser SQL analytique jusqu'aux window functions.
Programme :
- Semaine 1–2 : SELECT, WHERE, GROUP BY, JOIN (inner, left, right, full)
- Semaine 3–4 : Sous-requêtes, CTEs, CASE WHEN
- Semaine 5–6 : Window functions (ROW_NUMBER, RANK, LAG, LEAD, SUM OVER, AVG OVER)
- Semaine 7–8 : Optimisation, indexes, EXPLAIN, requêtes sur gros volumes avec DuckDB
Ressource : SQL Mastery — 87 exercices sur des bases de données réelles (Chinook, Northwind, Sakila). Du SELECT de base aux window functions avancées, avec DuckDB intégré. 97€, accès à vie.
Signe que vous avez atteint le niveau requis : vous pouvez écrire une requête avec 3 CTEs, une window function et une jointure en moins de 20 minutes, sans chercher la syntaxe.
Mois 3–4 : Python pour la data
Objectif : automatiser ce que vous faisiez à la main dans Excel.
Programme :
- Semaine 1–2 : bases Python (variables, listes, dictionnaires, fonctions, classes)
- Semaine 3–4 : Pandas — lecture CSV, filtres, groupby, merge
- Semaine 5–6 : Polars — même opérations, plus rapide sur gros volumes
- Semaine 7–8 : Plotly pour la visualisation, automatisation de rapports PDF
Exercice concret : prenez un rapport Excel que vous faites manuellement chaque semaine. Automatisez-le en Python. Vous aurez appris en résolvant un problème réel.
Mois 5–6 : Streamlit et premier projet visible
Objectif : créer et déployer une application data accessible publiquement.
Programme :
- Semaine 1–2 : bases Streamlit (layout, composants, state)
- Semaine 3–4 : intégration Plotly, filtres interactifs, connexion DuckDB
- Semaine 5–6 : déploiement sur Streamlit Cloud (gratuit), gestion des secrets
- Semaine 7–8 : authentification basique, performance, cache
Ressource : Streamlit Unleashed — 44 leçons couvrant authentification OAuth, CSS avancé, déploiement Docker, CI/CD. La seule formation française couvrant st.login et le déploiement multi-plateforme. 297€, accès à vie.
Livrable : une app Streamlit publique avec de vraies données, accessible via une URL partageable. C'est votre première pièce de portfolio.
Mois 7–12 : Portfolio et candidatures
Objectif : 2 à 3 projets concrets qui démontrent vos compétences.
Idées de projets portfolio :
-
Analyse exploratoire + dashboard — prenez un dataset Kaggle intéressant (ventes e-commerce, données RH, données météo) et construisez un dashboard Streamlit avec insights clés. Déployez sur Streamlit Cloud.
-
Pipeline automatisé — créez un script Python qui récupère des données (API publique, CSV, scraping), les nettoie avec Polars, les stocke dans DuckDB, et génère un rapport PDF hebdomadaire automatiquement.
-
Analyse sur données réelles — si vous êtes déjà en poste, prenez un problème métier réel (même avec des données anonymisées), analysez-le avec les outils Python, et présentez les résultats comme si c'était pour votre manager.
Ce qui rend un projet portfolio convaincant :
- Données réelles ou quasi-réelles (pas des datasets Titanic/Iris)
- Un problème métier clairement formulé et une réponse claire
- Code sur GitHub, README qui explique l'approche
- Dashboard ou rapport accessible publiquement (lien à partager)
- Notebook Jupyter ou script Python propre et commenté
Les certifications : utiles ou pas ?
La réponse courte : les certifications comptent peu face à un portfolio solide et des compétences démontrables. Mais certaines ont de la valeur dans des contextes spécifiques.
Utiles :
- Google Data Analytics Certificate (Coursera) — bonne base, reconnue HR
- Microsoft DP-900 (Azure Data Fundamentals) — si vous visez des entreprises Microsoft
- dbt Analytics Engineering Certification — si vous ciblez des postes data engineering
À éviter :
- Les certifications génériques "Big Data" sans contenu SQL/Python solide
- Les certifications CPF coûteuses (5 000–15 000€) sans retour sur investissement clair
- Les bootcamps intensifs de 3 mois sans projets concrets pour justifier le prix
Règle générale : un projet GitHub qui tourne > n'importe quelle certification sur un CV.
Salaires data analyst en France (2025)
| Niveau | Expérience | Paris | Province | Télétravail |
|---|---|---|---|---|
| Junior | 0–2 ans | 32 000–42 000 € | 28 000–36 000 € | +0 à +5% |
| Confirmé | 3–5 ans | 44 000–58 000 € | 38 000–50 000 € | +0 à +8% |
| Senior | 5+ ans | 58 000–75 000 € | 50 000–65 000 € | +0 à +10% |
Les spécialisations qui paient plus :
- Python + SQL analytique (vs Excel uniquement) : +15 à 25%
- Data analyst avec compétences ML basiques : +20 à 30%
- DA capable de déployer des apps (Streamlit, Dash) : +15 à 25%
- Secteurs les mieux payés : finance, tech, conseil, pharmaceutique
Questions fréquentes
Faut-il un master pour devenir data analyst ?
Non. De nombreux DA viennent de reconversions professionnelles (marketing, finance, ops, biologie). Ce qui compte : maîtriser SQL, Python et avoir un portfolio visible. Un master en statistiques ou informatique accélère la progression, mais n'est pas un pré-requis.
Python ou R pour l'analyse de données ?
Python en 2025, sans hésitation. R reste pertinent pour les contextes académiques et biostatistiques, mais l'écosystème Python (Polars, Streamlit, DuckDB, scikit-learn) est bien plus complet pour les postes en entreprise.
Data analyst vs data scientist : quelle différence ?
Un data analyst transforme des données existantes en insights métier (SQL, Python, dashboards). Un data scientist construit des modèles prédictifs et prescriptifs (machine learning, statistiques avancées). Les salaires des DS sont 20 à 40% plus élevés, mais les postes sont moins nombreux et les prérequis plus élevés (master/PhD fréquents). La plupart des postes "data scientist" en France sont en réalité des postes de data analyst avec du ML basique.
Combien de temps pour trouver un premier poste ?
Avec la feuille de route ci-dessus suivie sérieusement (10–15h/semaine) : 8 à 14 mois depuis zéro. Si vous avez déjà des bases (SQL ou Python) : 4 à 8 mois. Les profils avec 2+ projets portfolio visible sur GitHub trouvent significativement plus vite.
Quels secteurs recrutent le plus ?
Tech/startups (postes les plus accessibles pour les profils autodidactes), e-commerce, finance/assurance, conseil, santé/pharma, retail. La fonction publique recrute aussi, avec des salaires plus bas mais plus de stabilité.
Par où commencer demain matin ?
-
Créez un compte DuckDB et testez sur un CSV que vous avez déjà. Posez-vous une question sur vos données. Essayez de répondre en SQL.
-
Faites les 10 premiers exercices SQL sur un site comme SQLZoo ou dans la formation SQL Mastery pour évaluer votre niveau réel.
-
Identifiez un problème métier réel dans votre travail actuel que vous pourriez analyser avec des données. C'est votre projet portfolio candidat.
-
Ouvrez un compte GitHub et commencez à versionner vos analyses, même les plus simples.
La clé : commencez par SQL. Tout le reste vient après.
Prochaine étape : maîtriser SQL analytique avec SQL Mastery — 87 exercices sur des bases réelles, DuckDB inclus, accès à vie — 97€. Ou si vous avez déjà des bases SQL, construire vos premières apps data avec Streamlit Unleashed.

Approfondir avec mon livre
"Business Intelligence avec Python" - Le guide complet pour maîtriser l'analyse de données
Voir sur Amazon →