Quatre couches distinctes, jamais fusionnées en un seul indicateur : besoins déclarés, difficultés déclarées, marché observé, fragilité de capacité. Aucune offre ni tension ne prouve la qualité réelle d'une entreprise.
type SourceDonnee = {
nom: 'BMO' | 'API_Offres_FT' | 'ROME_officiel' | 'demo';
dateSynchronisation: string;
periode: string;
territoire: string;
couverture: string;
qualiteDonnee: 'demo' | 'officielle_datee' | 'temps_reel';
methodeCalcul: string;
};
type BesoinDeclare = { familleCAPEB: string; codeRome: string; projetsRecrutement: number; source: SourceDonnee };
type DifficulteDeclaree = { familleCAPEB: string; partProjetsDifficiles: number; source: SourceDonnee };
type MarcheObserve = { familleCAPEB: string; offresActives: number; nouvellesOffres30j: number; evolution: string; source: SourceDonnee };
type FragiliteCapacite = { familleCAPEB: string; expertisesRares: string[]; origine: 'Boussole' | 'retour_entreprise' | 'retour_CAPEB'; source: SourceDonnee };
// Filtres prévus : code ROME, famille CAPEB, région, département, bassin,
// contrat, période, compétences, situation-promesse.
// Dédupliquer prudemment les offres ; distinguer employeur direct/intermédiaire
// quand possible ; ne jamais présenter une offre comme preuve de qualité réelle.