francebalade.fr       Cours de Mathématiques       Table des matières       Votre avis sur ce site

Prouver une entente par les cliques d'un graphe

Des offres au graphe, du graphe aux cliques, et des cliques à ce qu'elles établissent réellement

Le problème posé Une autorité de concurrence dispose d'une base historique de 5 000 entreprises soumissionnaires sur les marchés publics de travaux. Elle veut non seulement repérer les ententes, mais mettre en évidence les groupes d'entreprises qui s'entendent, et établir qui en fait partie, depuis quand et jusqu'à quand.

Un cartel de répartition ne se réduit pas à une juxtaposition d’accords bilatéraux : il suppose que tous les membres respectent une même répartition des marchés. Si l’un d’eux ignore qu’un marché est réservé à un autre, il risque de se l’approprier et de compromettre l’accord collectif.
Cela n’implique toutefois pas que chaque membre échange directement avec tous les autres. En théorie des graphes, le cartel forme une clique (un sous-graphe complet) — un ensemble de sommets tous reliés deux à deux — uniquement si les liens représentent une coordination entre chaque paire de membres.
Si les liens représentent des communications directes, une organisation autour d’un intermédiaire peut également permettre la répartition.

C'est ce qui fait l'intérêt judiciaire de l'objet. Une composante connexe, une communauté, un groupe « dense » n'établissent rien : ils regroupent des entreprises reliées de proche en proche, ce que produit n'importe quelle spécialisation régionale. Une clique, elle, énumère des liens deux à deux, et chaque lien peut être documenté séparément : tel appel d'offres, telle date, telles deux offres. Une clique de quinze entreprises, ce sont cent cinq relations bilatérales, chacune opposable.

Cette page utilise la base simulée décrite ci-dessous : offres de couverture et répartition tournante. Elle connaît la vérité, ce qui permet de noter chaque étape. Un piège y est délibérément posé, dont on ne dira rien avant la planche 3.

Les données

La base d'appels d'offres

La base est construite de la façon suivante : 5 000 entreprises réparties sur douze départements, chacune avec son efficacité de production, sa marge habituelle et son appétit pour les marchés ; 4 000 appels d'offres dont l'estimation du maître d'ouvrage suit une loi log-normale ; et, sur chaque marché, une offre par soumissionnaire, égale à son coût majoré de sa marge avec l'aléa du chiffrage.

Dans trois départements, un groupe s'est entendu et procède comme dans les affaires réelles : offres de couverture — le membre désigné dépose une offre chère, les autres en fabriquent de légèrement supérieures à partir de la sienne — et répartition tournante — la désignation revient à celui qui a le moins gagné.

Deux ajouts sont propres à cette page, parce que les planches 3 et 5 en ont besoin. D'abord les marchés sont rangés dans le temps, sur dix ans, et l'entente a un début et une fin, réglables en planche 5. Ensuite un douzième département est un marché étroit : seules quelques entreprises y travaillent, en toute légalité. On peut le supprimer en ramenant le curseur à zéro — et l'on verra planche 3 tout ce que cela change.

Un appel d'offres : chaque barre est une offre, la plus basse l'emporte. Le trait pointillé est l'estimation du maître d'ouvrage.

Les 4 000 marchés répartis dans le temps.

—entreprises
—appels d'offres
—offres déposées
—entreprises actives
—membres de l'entente
—marchés captés
—surprix mesuré
—entreprises du marché étroit

Planche 1

De la table des offres au graphe

Les sommets sont les entreprises. Reste à décider ce qu'est une arête, et c'est là que tout se joue : un critère trop lâche produit une pelote inexploitable, un critère trop strict pulvérise le cartel.

Le critère retenu est un test, non un seuil arbitraire. Si l'entreprise i a déposé ki offres sur T marchés et l'entreprise j en a déposé kj, et si elles se présentaient indépendamment l'une de l'autre, le nombre de marchés où on les trouve ensemble suivrait approximativement une loi de Poisson de moyenne λij = kikj/T. On relie i et j quand le nombre observé cij est trop grand pour cette loi.

pij = P(Poisson(λij) ≥ cij)   ·   arête si pij ≤ α ⁄ (nombre de paires testées)

Chaque paire de sommets fait l’objet d’un test statistique pour décider s’il faut tracer une arête entre eux. Multiplier les tests augmente le risque de créer des arêtes par erreur. Par exemple, si aucune des 20 000 paires ne correspond à un lien réel, un seuil de 5 % produirait en moyenne 1 000 arêtes à tort. Ces arêtes peuvent alors faire apparaître des cliques qui ne correspondent pas à la réalité.
La correction de Bonferroni consiste à diviser le seuil global de 5 % par le nombre de paires testées. Pour 20 000 tests, chaque arête doit ainsi satisfaire un seuil de 0,00025 %. Cette correction garantit que la probabilité de créer au moins une arête à tort ne dépasse pas 5 %, à condition que les tests soient valides.
Le compromis est volontaire : on réduit le risque d’inventer des liens, au prix d’un risque accru de manquer des liens réels, et donc certaines cliques.

Chaque sommet est une entreprise, chaque arête une rencontre statistiquement anormale.

Le test appliqué à une paire : en barres, la loi de Poisson attendue sous l'hypothèse d'indépendance ; en rouge, le nombre de rencontres réellement observé.

—sommets retenus
—arêtes
—densité du graphe
—paires testées
—seuil après Bonferroni
—degré maximal

Planche 2

Les cliques que l'on trouve

Une clique est un ensemble de sommets deux à deux reliés ; elle est maximale si on ne peut lui ajouter aucun sommet. On les énumère toutes par l'algorithme de Bron-Kerbosch, avec pivot et parcours dans l'ordre de dégénérescence. Le détail de l'algorithme est traité ailleurs ; ce qui compte ici, c'est qu'il est exhaustif : aucune clique ne lui échappe, ce qui est indispensable si le résultat doit être produit devant un juge.

Le bouton « celle que les offres désignent » sélectionne la plus grande clique dont les marchés présentent une dispersion des offres inférieure à 6 %, seuil empirique retenu dans la littérature de dépistage. On verra à la planche suivante pourquoi ce détour est indispensable.

La vérification est immédiate et c'est elle qui fait la valeur probante : un ensemble de k entreprises est une clique si et seulement si on compte exactement k(k−1)/2 arêtes entre ses membres. Le compte est affiché ci-dessous pour la clique sélectionnée, avec son écart à la valeur théorique.

Répartition des cliques maximales par taille. Les petites sont légion, les grandes sont l'exception — et ce sont elles qui intéressent l'enquête.

—cliques maximales
—clique maximum ω
—dégénérescence
—appels avec pivot
—appels sans pivot
—écart au compte k(k−1)/2

Les cliques les plus grandes

Planche 3

Ce qu'une clique prouve, et ce qu'elle ne prouve pas

Deux objections se présentent, et il faut y répondre dans cet ordre.

Première objection : le hasard fabrique des cliques. Dans un graphe aléatoire d'Erdős-Rényi à n sommets et de densité p, la plus grande clique a une taille voisine de 2 ln n ⁄ ln(1/p) — quelques sommets, jamais quinze. Mais l'objection sérieuse est plus fine : nos entreprises n'ont pas toutes le même degré, et les gros soumissionnaires se rencontrent forcément davantage. On teste donc aussi contre un graphe rebrassé à degrés conservés, qui garde à chaque entreprise son nombre exact de liens et ne redistribue que leurs extrémités.

ω(G(n,p)) ≈ 2 ln n ⁄ ln(1/p)

—ω observé
—ω maximal, Erdős-Rényi
—ω maximal, degrés conservés
—2 ln n ⁄ ln(1/p)
—p-valeur du groupe
—nature du groupe

Planche 4

Les ententes imparfaites

Un cartel réel ne donne presque jamais une clique parfaite. Deux membres peuvent n'avoir jamais concouru sur le même lot ; un entrant tardif n'a croisé qu'une partie du groupe ; une entreprise absorbée en cours de route disparaît des données. Il suffit alors d'une poignée d'arêtes manquantes pour que la clique s'effondre — alors que le groupe, lui, est toujours là.

Trois relâchements classiques permettent de le retrouver. Le k-cœur est le plus grand sous-graphe où chacun a au moins k voisins ; le k-plex tolère à chaque membre jusqu'à k−1 liens manquants ; la quasi-clique exige seulement une densité au moins égale à γ. Pour k = 1 et γ = 1, les trois redonnent la clique.

Le groupe soupçonné après amputation : en trait plein les rencontres subsistantes, en pointillé celles qui manquent. Les sommets retenus par la méthode choisie sont pleins.

—clique maximum après amputation
—taille du groupe retrouvé
—densité du groupe retrouvé
—membres retrouvés
—entreprises ajoutées à tort
—liens documentables

Planche 5 — signature

Dater l'entente

Identifier le groupe ne suffit pas : la sanction se calcule sur la durée de l'infraction et sur le chiffre d'affaires affecté pendant cette durée. Il faut donc dire quand l'entente a commencé et quand elle a cessé — à partir des seules offres.

On fixe le groupe trouvé et on fait glisser une fenêtre de L mois sur toute la période. Dans chaque fenêtre, on mesure l'excès de rencontres du groupe : la somme, sur les paires de membres, de ce que les rencontres observées dépassent l'attendu de Poisson. Cette quantité est proportionnelle au nombre de marchés captés dans la fenêtre, donc linéaire en la portion de fenêtre où l'entente était active.

E(t) = Σi<j ∈ S max(0, cij(t) − λij(t))

La conséquence est jolie et elle est décisive : le profil obtenu est un créneau convolué par la fenêtre, c'est-à-dire un trapèze. Or les points à mi-hauteur d'un trapèze tombent exactement sur les bords du créneau, quelle que soit la largeur de la fenêtre. On peut donc dater l'entente sans que l'élargissement de la fenêtre déplace le résultat — à une condition, que la planche fait apparaître.

—début estimé
—fin estimée
—erreur de datation
—durée estimée
—chiffre d'affaires affecté
—erreur sur l'assiette

La solution du problème

La marche à suivre, avec les résultats que la page vient de mesurer sur la base simulée.

  1. Construire le graphe par un test, jamais par un seuil. Une arête doit correspondre à une hypothèse réfutable : ici, le rejet de l'indépendance des candidatures par un test de Poisson, corrigé du nombre de paires examinées. Sur la base, — paires sont testées, ce qui abaisse le seuil individuel à — et laisse — arêtes entre — entreprises.
  2. Énumérer toutes les cliques maximales, pas seulement la plus grande. Bron-Kerbosch avec pivot et ordre de dégénérescence en trouve — en — appels récursifs, contre — sans ces deux optimisations. L'exhaustivité est ce qui permet d'affirmer devant un juge qu'aucun autre groupe de cette taille n'existe dans les données.
  3. Écarter le hasard par deux modèles nuls, dont un à degrés conservés. La plus grande clique d'un graphe aléatoire de même densité atteint — sommets, et — si l'on conserve en plus les degrés observés. Le groupe identifié en compte — : le hasard est exclu.
  4. Ne jamais conclure sur le graphe seul. C'est le piège de la planche 3 : la plus grande clique de ce graphe est —. Un département où peu d'entreprises travaillent produit mécaniquement une clique, sans la moindre entente. Le graphe localise des groupes ; seules les statistiques d'offres les qualifient — dispersion des offres, arrondis, égalité anormale des parts de marché.
  5. Relâcher la clique pour les ententes imparfaites. À — d'arêtes manquantes, la clique maximum du groupe tombe à — sommets, alors que la quasi-clique en retrouve —. Le bon outil n'est pas la clique : c'est le k-plex ou la quasi-clique, la clique restant la forme la plus facile à défendre quand elle existe.
  6. Dater par fenêtre glissante et lire les dates à mi-hauteur. Avec une fenêtre de — mois, le début est estimé à — et la fin à —, soit une erreur de —. La condition à respecter : la fenêtre doit être assez courte pour qu'il existe des fenêtres entièrement hors entente, faute de quoi le niveau de base est inconnu et la mi-hauteur perd son sens.
  7. Livrer une liste d'arêtes, pas un score. C'est l'avantage décisif de l'approche par cliques sur les scores statistiques : le résultat se décompose en — relations bilatérales, chacune rattachée à des appels d'offres précis, datés et vérifiables un par un. Un score de suspicion ne se contredit pas ; une liste de rencontres, si.
La limite à ne pas franchir. Une clique établit une structure de rencontres, pas une concertation. Elle désigne un ensemble d'entreprises et un intervalle de temps sur lesquels concentrer les pouvoirs d'enquête — demandes de renseignements, visites et saisies, programme de clémence. La preuve de l'entente reste matérielle : elle se trouve dans les échanges saisis, pas dans le graphe. Ce que le graphe apporte, c'est de rendre la recherche de cette preuve possible, et de la borner dans le temps.