Cas d'usage · Risque acheteur public
API risque acheteur public
Notez le risque porté par un acheteur public — le pouvoir adjudicateur — en France et en Espagne : concurrence et contrepartie. Bêta. Deux scores sur l'acheteur, jamais sur un fournisseur ni sur un marché précis.
Le problème
Un candidat aux marchés publics sait si l'acheteur qu'il vise est actif, mais pas si ses appels d'offres attirent d'habitude une seule offre ou une dizaine. Un affactureur qui rachète des créances publiques sait que le débiteur est un organisme public, mais pas si les fournisseurs de cet organisme défaillent plus souvent que la moyenne, ni à quel point un fournisseur donné dépend de lui. Un service d'audit qui veut cribler un portefeuille d'acheteurs avant d'ouvrir des dossiers doit aujourd'hui relire les attributions une par une.
L'API Prometiam calcule deux scores calibrés par acheteur public à partir de son historique d'attributions publiées, et renvoie les attributions qui justifient le score — pas un jugement, une base pour investiguer.
Le schéma d'intégration
Trois endpoints. GET /procurement/buyers liste les acheteurs notés d'un pays, triés par le score choisi (model=competition ou model=counterparty), avec min_score pour cribler un portefeuille, name ou region pour chercher un acheteur précis. GET /procurement/buyer/{id} renvoie le profil complet d'un acheteur identifié par son SIRET en France ou son NIF/code DIR3 en Espagne. GET /procurement/relationship détaille la dépendance mutuelle entre un acheteur et l'un de ses cinq plus grands fournisseurs.
# Cribler les acheteurs français au profil de concurrence le plus faible curl "https://api.prometiam.com/functions/v1/risk-api/procurement/buyers?country=FR&model=competition&min_score=8&limit=20" \ -H "Authorization: Bearer rk_live_..."
Le profil complet d'un acheteur, puis sa relation avec un fournisseur précis :
# Profil d'un acheteur français (SIRET d'exemple, non réel) curl "https://api.prometiam.com/functions/v1/risk-api/procurement/buyer/21750001600019?country=FR" \ -H "Authorization: Bearer rk_live_..." # Sa dépendance à l'un de ses cinq plus grands fournisseurs curl "https://api.prometiam.com/functions/v1/risk-api/procurement/relationship?country=FR&buyer=21750001600019&supplier=552032534" \ -H "Authorization: Bearer rk_live_..."
Un exemple réel
import os, requests
API = 'https://api.prometiam.com/functions/v1/risk-api'
HEAD = {'Authorization': f'Bearer {os.environ["PROMETIAM_API_KEY"]}'}
def audit_portefeuille(country: str = 'FR', min_score: int = 8):
# 1. Cribler les acheteurs notés au-dessus du seuil, triés par concurrence
r = requests.get(f'{API}/procurement/buyers',
params={'country': country, 'model': 'competition', 'min_score': min_score, 'limit': 20},
headers=HEAD).json()
dossiers = []
for row in r['data']:
buyer_id = row['buyer']['id']
# 2. Ouvrir le profil complet : comportement + attributions de preuve
profile = requests.get(f'{API}/procurement/buyer/{buyer_id}',
params={'country': country}, headers=HEAD).json()
# 3. Pour chacun des plus gros fournisseurs, mesurer sa dépendance à cet acheteur
relations = []
for supplier in profile.get('top_suppliers', []):
rel = requests.get(f'{API}/procurement/relationship',
params={'country': country, 'buyer': buyer_id, 'supplier': supplier['supplier_tax_id']},
headers=HEAD).json()
relations.append(rel.get('relationship'))
dossiers.append({
'buyer': profile['buyer'],
'risk': profile['risk'],
'evidence': profile.get('evidence', []),
'relations': relations,
})
return dossiersTrois appels par acheteur retenu. Chaque dossier renvoyé porte le score, les attributions qui le justifient et la dépendance des plus gros fournisseurs — à ouvrir, pas à trancher.
Ce que vous recevez réellement
GET /procurement/buyer/{id} renvoie buyer, as_of, coverage (attributions, contrats, fournisseurs distincts, première et dernière attribution, valeur attribuée, plafonds d'accords-cadres), un bloc risk pour chaque modèle et behaviour (taux d'offre unique, taux d'attribution directe, taux d'accord-cadre, taux de modification, taux de divulgation du nombre d'offres, part de valeur du premier fournisseur, nombre moyen d'offres), plus jusqu'à trois evidence (attributions de preuve) et cinq top_suppliers.
Chaque bloc risk porte : score (1 à 10, échelle sur le log-odds de la probabilité — 1 au premier percentile des acheteurs notés du pays, 10 au 99e, ancres figées), probability (le taux calibré de l'acheteur pour sa prochaine attribution, son décompte observé rapproché de l'attente du modèle avec un a priori de trente attributions, calibré hors échantillon), base_rate, relative_risk (probability divisé par base_rate), percentile (le rang de l'écart observé-attendu parmi ses pairs), observed_rate, expected_rate, awards_scored et confidence. Un acheteur n'est noté qu'à partir de vingt attributions dans la période.
Trois cas d'usage
- Répondre ou non à un appel d'offres. Avant de préparer un dossier, ouvrez le profil de l'acheteur : un score de concurrence élevé et un taux d'offre unique déjà fort donnent un contexte sur ce que ses marchés attirent d'habitude.
- Affacturage de créances publiques. Un affactureur qui rachète des créances sur un acheteur public veut savoir si les fournisseurs de cet acheteur défaillent plus souvent que le taux de base (score contrepartie) et à quel point le fournisseur cédant dépend de cet acheteur —
GET /procurement/relationshiprenvoie la part de sa valeur attribuée, ses attributions et sa date de défaillance quand il a échoué. - Audit et intégrité. Criblez un portefeuille entier avec
GET /procurement/buyers?country=FR&min_score=8, puis n'ouvrez que les attributions de preuve des acheteurs retenus via/procurement/buyer/{id}— le score trie, l'attribution de preuve documente.
Pour la liste complète des attributions d'un fournisseur, y compris hors des cinq plus grandes relations d'un acheteur, voir les attributions de marchés publics.
Limites de périmètre, dites clairement
- Bêta. France et Espagne uniquement — pas d'autre pays.
- Les scores décrivent l'acheteur public, jamais un fournisseur ni un marché précis.
- Un acheteur n'est noté qu'à partir de vingt attributions sur la période.
- Le score de concurrence n'est calculé que là où le nombre d'offres est publié ; la France ne le publie pas pour toutes ses attributions.
- Le score de contrepartie est un signal faible — environ deux fois le taux de base au sommet de l'échelle — à lire avec les attributions de preuve, jamais seul.
GET /procurement/relationshipne couvre que les cinq plus grandes relations fournisseur d'un acheteur par valeur attribuée.- Les totaux par acheteur sont une borne haute : un accord-cadre publie un plafond, pas une dépense.
- Un score est une invitation à regarder, pas un constat d'irrégularité.
- Pas de score de crédit, pas de comptes, pas de score fournisseur.
Questions fréquentes
Le risque acheteur public est-il un score de crédit ou une note pour un fournisseur ?
Non. Les deux scores décrivent l'acheteur public — le pouvoir adjudicateur — jamais un fournisseur ni un marché précis. L'API ne renvoie ni score de crédit, ni comptes, ni score fournisseur.
Quels pays couvre le risque acheteur public de Prometiam ?
La France et l'Espagne, en bêta. Utilisez ?country=FR ou ?country=ES sur /procurement/buyers, /procurement/buyer/{id} et /procurement/relationship.
À partir de quand un acheteur est-il noté ?
Un acheteur est noté à partir de vingt attributions sur la période couverte. En dessous, aucun profil n'est renvoyé.
Le modèle contrepartie prédit-il une défaillance certaine ?
Non, c'est un signal faible : au sommet de l'échelle, le taux observé avoisine deux fois le taux de base. Il se lit avec les attributions de preuve renvoyées par /procurement/buyer/{id}, pas seul.
Le score de concurrence est-il disponible pour toutes les attributions françaises ?
Non. La France ne publie le nombre d'offres reçues que pour une partie de ses attributions ; le score de concurrence n'est calculé que là où ce nombre est publié.
En rapport
- Prometiam en français — présentation de l'API
- Onboarding KYB — vérifier l'identité de la contrepartie en amont
- API marchés publics — liste complète des attributions par fournisseur
- Documentation de l'API
- Tarifs
- Couverture par pays
- API risque acheteur public (English edition)