Le parcours Marketing-CRM de notre formation SQL est ouvert. Il suit la même progression que les parcours Finance d'entreprise et RH, puis va plus loin avec une partie dédiée à la segmentation et au pilotage.
Il compte 90 exercices de niveau intermédiaire. Le parcours est autonome : il reprend toutes les bases du langage SQL et ne suppose aucun autre parcours. Les questions viennent du marketing :
- qui sont les meilleurs clients ;
- lesquels risquent de partir ;
- où perd-on du chiffre d'affaires récurrent.
Une base CRM d'éditeur de logiciel
Le parcours se déroule chez Fidélys, un éditeur de logiciel en abonnement (SaaS B2B). La base contient 8 120 clients, 13 069 contacts, 3 offres, 7 523 abonnements, 82 258 factures, 40 campagnes d'emailing (164 138 envois) et 11 787 tickets de support.
La base existe en trois versions, comme pour les autres parcours.

Version 1 : une table unique
La première version, Marketing CRM 1NF, range tout dans la table factures_detail : une ligne par facture, avec le client, son secteur, son pays, son canal d'acquisition, l'offre et l'abonnement. Elle compte 33 exercices : sélection, filtres, tri, LIMIT, DISTINCT, puis agrégations avec GROUP BY et HAVING.
Un exercice type calcule le chiffre d'affaires par offre :
SELECT
nom_offre,
ROUND(SUM(montant_ht), 2) AS ca_total
FROM factures_detail
GROUP BY nom_offre;
Version 2 : des tables éclatées
La version Marketing CRM 2NF découpe la base en six tables : clients, abonnements, envois_campagnes, factures, contacts et tickets_support. Ses 7 exercices font d'abord constater qu'un libellé comme le secteur est répété sur chaque ligne de client. Viennent ensuite les premières jointures, entre clients et abonnements puis entre clients et tickets, avec par exemple les cinq clients qui ouvrent le plus de tickets.
Version 3 : le schéma complet
La version Marketing CRM 3NF relie onze tables par des clés étrangères. Ses 34 exercices couvrent les jointures et les requêtes avancées :
- les jointures internes et en cascade, par exemple les factures impayées par client ;
LEFT JOIN,RIGHT JOINetFULL OUTER JOIN, avec un exercice qui compare le nombre de lignes d'unINNER JOINet d'unLEFT JOINentre clients et abonnements ;EXCEPTetINTERSECT, pour les abonnés qui n'ont jamais contacté le support ou les clients non joignables par email ;EXISTS,CASE WHEN, les sous-requêtes, les CTE, les tables temporaires et les vues ;INSERT,UPDATE,DELETEet la simulation d'unTRUNCATE.
Segmentation et pilotage
Les 16 derniers exercices appliquent ces notions à des questions marketing, sur le schéma complet. Ils s'enchaînent comme une démarche d'analyse, qui consiste à :
- segmenter les clients par ancienneté, puis les abonnements actifs par valeur, avec des règles
CASE WHEN; - scorer la récence, la fréquence et le montant (RFM), chaque mesure étant notée de 1 à 3, puis ranger les clients en segments :
Champion,Fidele,A risque,Nouveau ou occasionnel; - découper les clients en déciles de chiffre d'affaires et mesurer la part du chiffre d'affaires des 20 % de meilleurs clients (Pareto) ;
- suivre le chiffre d'affaires mois sur mois et en cumulé, avec une CTE, une auto-jointure et une sous-requête corrélée ;
- mesurer la rétention par cohorte d'inscription, le taux de résiliation par offre et l'efficacité des campagnes par type et par taille de client.
La requête de rétention donne une idée du niveau visé. Elle regroupe les clients par mois d'inscription et compte, pour chaque cohorte de 2024, les clients inscrits et ceux qui ont encore un abonnement actif :
SELECT
strftime('%Y-%m', c.date_inscription) AS cohorte,
COUNT(*) AS nb_clients,
SUM(CASE
WHEN EXISTS (
SELECT 1
FROM abonnements AS a
WHERE a.client_id = c.client_id
AND a.statut = 'actif'
) THEN 1
ELSE 0
END) AS nb_actifs
FROM clients AS c
WHERE c.date_inscription < '2025-01-01'
GROUP BY cohorte
ORDER BY cohorte;
Le parcours se termine par un cas final : construire la liste d'une campagne de réactivation. Les clients ciblés ont un chiffre d'affaires payé supérieur à 8 000 €, ont accepté les emails, ont un abonnement actif et présentent au moins un signal de risque sur les 180 derniers jours, c'est-à-dire un ticket de satisfaction faible ou une facture impayée.
Ce que cela change pour une équipe marketing
Écrire soi-même la requête permet de savoir comment un segment est construit : quelle période, quel seuil, quels clients exclus. Une équipe qui sait lire un score RFM peut aussi le discuter, au lieu de le subir.
Le parcours vise l'analyse et le pilotage à partir des données, pas l'administration d'un serveur de bases de données.
Où pratiquer
Les exercices se font en ligne dans le DOJO, avec une correction automatique et un assistant IA disponible 24h/24.
Ce parcours fait partie de la formation SQL, certifiante (RS7205) et éligible au CPF.