# Méthodologie

Comment MonÉlu calcule chaque chiffre affiché : présence, alignement de groupe, majorité, et limites connues. Version texte de [https://mon-elu.vercel.app/methodologie](https://mon-elu.vercel.app/methodologie).

## À savoir avant de citer un chiffre

- `nonVotant` n'est pas `abstention`. Un non-votant était présent dans l'hémicycle sans exprimer de vote ; une abstention est une position exprimée. Les pourcentages pour/contre/abstention se calculent sur les seules positions exprimées.
- Le taux de présence compte le `nonVotant` comme présent, et son dénominateur est limité aux scrutins tenus pendant le mandat du député - un député élu en cours de législature n'est pas pénalisé pour les votes antérieurs.
- Yaël Braun-Pivet affiche 100 % de présence parce qu'elle préside l'Assemblée et figure sur chaque scrutin par construction des données source. Ce n'est pas une performance, et ce n'est pas une anomalie.
- La base de production couvre les scrutins depuis le **1er juillet 2025**. La XVIIe législature a commencé le 7 juillet 2024 ; l'historique antérieur existe en développement mais n'est pas servi ici.
- L'alignement de groupe compare tout l'historique d'un député à son groupe **actuel**, même s'il en a changé en cours de mandat.
- Le résultat d'un scrutin (adopté / rejeté) est repris tel quel de l'Assemblée nationale, jamais recalculé.
- Le compteur « députés suivis » dépasse 577 : il dénombre toutes les personnes ayant siégé depuis le début de la législature, remplacements compris.
- Les résumés en langage clair et les réponses de l'assistant sont générés par un LLM. Ce sont des aides à la lecture, pas des sources - le scrutin d'origine fait foi.
- L'Assemblée ne rattache ses scrutins au texte qu'ils concernent que depuis le **26 mars 2026** : les étapes antérieures du parcours d'un texte n'affichent aucun vote, ce qui ne veut pas dire qu'il n'y en a pas eu.

## Définitions de calcul

### Taux de présence

Numérateur : les scrutins où une position du député est enregistrée, quelle qu'elle soit - `pour`, `contre`, `abstention` **ou** `nonVotant`. Dénominateur : les scrutins tenus entre la date de début et, le cas échéant, la date de fin de son mandat. C'est l'unique définition utilisée par le site, l'API et l'assistant.

Source : `transform/models/marts/mart_deputy_scorecard.sql`.

### Alignement de groupe et dissidence

Pour chaque scrutin, la position majoritaire du groupe est calculée sur les positions exprimées (les `nonVotant` ne comptent pas). Un vote est dit dissident lorsque la position du député en diffère. En cas d'égalité stricte entre deux positions, le départage suit une règle déterministe écrite dans le code plutôt que l'ordre de retour de la base.

Limite : la comparaison se fait avec le groupe **actuel** du député, pas celui auquel il appartenait au moment du vote.

Source : `transform/models/marts/mart_party_alignment.sql`, `transform/models/intermediate/int_party_vote_majority.sql`.

### Pourcentages pour / contre / abstention

Calculés sur les seules positions exprimées, `nonVotant` exclu de ce calcul-là mais inclus dans la présence.

### Résultat d'un scrutin

Repris tel quel du champ officiel publié par l'Assemblée nationale. La XVIIe législature n'ayant pas de majorité stable, les scrutins rejetés y sont plus nombreux que les adoptés.

Source : `transform/models/staging/stg_votes.sql`.

### Quiz de positionnement

Les réponses de l'utilisateur sont comparées aux positions réellement enregistrées des députés sur des scrutins réels. Le calcul est sans état : rien n'est conservé ni journalisé, sauf partage explicite, et un résultat partagé est recalculé côté serveur à partir des réponses soumises.

### Fraîcheur

Ingestion automatique chaque jour ouvré à 06h00 UTC : nouveaux scrutins et fiches de députés, reconstruction de l'index de recherche sémantique, puis recalcul des agrégats (présence, alignement, scorecards).

### Limites connues

- Deux députés sur 577 n'ont pas de groupe parlementaire actif identifié dans les données source. Cas limite documenté, pas un défaut d'ingestion.
- `votes.dossier_id` est creux : l'Assemblée n'a commencé à renseigner le dossier législatif sur les scrutins qu'en mars 2026. Les scrutins antérieurs ne sont pas rattachables à un dossier.
- Les résumés en langage clair et les réponses de l'assistant sont générés par un LLM à partir des données du scrutin. Ils aident à lire, ils ne font pas foi.
