Schéma du socle de données
Modèle cible pour unifier l'identité annonceur (programmatique + direct) et calculer des avails nets de la consommation pipeline. Salesforce = ancre autoritaire · vert = table à créer · contour plein = source existante.
1 · Référentiel annonceur & mandats
Salesforce ancre l'annonceur, son groupe et le commercial propriétaire. Le xwalk ne sert plus qu'à raccrocher les IDs plateformes (FreeWheel / Equative / AdsWizz). Le dim_mandate porte la collaboration annonceur-ou-groupe ↔ agence, par canal fin, bornée dans le temps, avec le sens de facturation.
Sources
salesforce_referentiel_annonceurSF · ancre
id_annonceurSF
annonceur
id_mp_groupe_annonceurgroupe
groupe_annonceur
commercial · equipeownership
salesforce_referentiel_agenceSF · ancre
id_agenceSF
agence
centrale_agencegroupe agence
commercial.*_advertisersecteur
annonceur · annonceurprog
secteurinterne
freewheel_advertisersource
name · idFW
commercial.smartEquative
rtbadvertisername · idEQ
adswizz_ordersAdsWizz
advertiseridAW
Résolution IDs
xwalk_advertiser_platformà créer
advertiser_keyFK
platform · platform_id
match_methoddet/fuzzy/manuel
confidence
map_secteur_iabà créer
secteur_internePK
iab_tier1 / tier2
Référentiel — parties
dim_advertiser_groupà créer
group_keyPK
salesforce_group_idSF
groupe_annonceur
dim_advertisergolden
advertiser_keyPK
salesforce_idSF
annonceurcanonique
group_keyFK
secteur_interne · iab
commercial_owner · equipe
freewheel · equative · adswizz
dim_agencyà créer
agency_keyPK
salesforce_agency_idSF
agence · centrale
Mandat
mandats_annonceur_agencesalecopilot
mandate_idPK
party_typeannonceur / groupe
party_keyFK
agency_keyFK
canalTV·Radio·Dig V/D/A
valid_from · valid_to
mandataire_payeurbool
owner_commercialscope (différé)
Golden record / cible
Salesforce (ancre)
Table à créer
Saisi dans l'outil
Source existante (Athena)
N:1 cardinalité
Le mandat représente la collaboration entre une partie — annonceur ou groupe d'annonceurs (si le contrat est porté au niveau groupe) — et une agence, pour un canal fin (TV, radio, ou digital vidéo / display / audio : un annonceur peut avoir une agence différente par sous-média), bornée par les dates de contrat, avec le sens de facturation :
mandataire_payeur = l'agence nous paie, sinon l'annonceur en direct. La résolution d'entité (normalisation → déterministe → fuzzy → overrides, chaque lien avec sa confidence) ne concerne plus que le raccrochage des IDs plateformes au compte Salesforce.
Deux couches de données. Le référentiel (annonceur, groupe, agence, forecast) est en lecture seule, ancré Salesforce. Les mandats n'existent dans aucun référentiel aujourd'hui : c'est l'outil qui les écrit, dans une base Athena dédiée (table
mandats) — le commercial choisit l'annonceur/groupe et l'agence dans le référentiel, puis déclare canal, dates et payeur. Chaque mandat porte un owner_commercial : le cloisonnement par commercial est prévu mais différé — en test, tout est visible.
2 · Avails nets du pipeline
L'inventaire futur réellement vendable = forecast brut moins ce que les campagnes gagnées et en cours consommeront sur les mêmes dates. Le direct engage fermement, le programmatique consomme en best-effort.
Sources consommation
commercial.mrmprog · 11,5 M
dealstart/enddate
netdeliveredimpressions
sitesectionname
globaladvertiserid · dsp
freewheel_io / placementdirect
flight dates
objectif (goal)
advertiser · section
predictions_* (forecast)yieldai
env · sitesection · jour
audience_adrequest_pred
Faits
fact_booked_consumptionà créer
date · env · sitesection
advertiser_keyFK
impressions_engagees
typedirect / prog
poids_conso1 / best-effort
Sortie
v_net_availsvue cible
env · sitesection · jour
forecast_brut
− consommation_engagee
= net_dispoplancher 0
flag_surbooking
Sales Copilotconsommateur
« a-t-on assez d'inventaire ? »
Point clé : une campagne gagnée et une campagne en cours pointent toutes deux sur du futur. On les agrège par date de diffusion (pas de signature) dans
fact_booked_consumption, puis v_net_avails soustrait au forecast. Le dim_advertiser relie chaque consommation à l'annonceur — indispensable pour un net avails par cible.