Concepts détaillés - PT0CE¶
Table des matières¶
- Marge nette et calcul
- Architecture des cubes
- Remontée hiérarchique
- Bornes de prix et corridors
- Analyse de sensibilité prix
- Univers et règles métier
- Gestion des périodes
Marge nette et calcul¶
Définition¶
La marge nette est l'indicateur central de PT0CE. Elle représente la rentabilité d'une transaction :
Calcul détaillé¶
Pour chaque transaction :
1. Prix de vente unitaire = MT_CAB / QT_UF
2. Coût d'achat unitaire = PAS_NATIONAL_UNITAIRE (historique)
3. Marge nette = (CAB_UNITAIRE - PAS_NATIONAL_UNITAIRE) / CAB_UNITAIRE
Importance du PAS historique¶
- Le PAS (Prix d'Achat Standard) varie dans le temps
- PT0CE utilise le PAS actif au moment de chaque transaction
- Table
PT0CE_PAS_PRB_HISTORY: PAS jour par jour sur la période
Filtrage spécifique ZOOM1¶
Pour ZOOM1 uniquement : exclusion des transactions où CAB_UNITAIRE < PAS_NATIONAL_UNITAIRE (marges négatives)
Architecture des cubes¶
Qu'est-ce qu'un cube ?¶
Un cube est une agrégation unique de données selon plusieurs dimensions :
- Article : ID_ART ou niveau hiérarchique (HIE_N6, HIE_N5, etc.)
- Type Client : Segmentation client (ex: "RCI PI GI")
- Type Restaurant : Segmentation restaurant (ex: "Restaurant Traditionnel")
- Géographie : Zone géographique (seulement pour ZOOM1/ZOOM2)
Types de cubes¶
MASTER¶
Caractéristiques :
- Données réelles pour une combinaison spécifique
- SOURCE_TYPE = 'MASTER'
- Peut nécessiter une remontée hiérarchique
- Éligible à l'analyse de sensibilité
NATIONAL¶
Caractéristiques :
- Agrégation de TOUTES les transactions d'un article
- Dimensions = NATIONAL × NATIONAL × NATIONAL
- SOURCE_TYPE = 'NATIONAL'
- SOURCE_LEVEL = -1
- Pas de remontée nécessaire
Métriques calculées par cube¶
- TRANSACTION_COUNT : Nombre de transactions
- DISTINCT_MARGINS : Nombre de marges distinctes
- CA_TOTAL : Chiffre d'affaires total
- Percentiles : P10, P30, P40, P50, P60, P80, P90
- ECART_TYPE : Écart-type des marges
Remontée hiérarchique¶
Principe¶
Quand un cube MASTER n'a pas assez de données (<30 marges distinctes), PT0CE remonte dans la hiérarchie pour trouver des statistiques fiables.
Hiérarchie produit¶
Niveaux de remontée ZOOM1/ZOOM2 (21 niveaux)¶
Niveau 1-3 : ID_ART × dimensions
Niveau 4-6 : HIE_N6 × dimensions
Niveau 7-9 : HIE_N5 × dimensions
Niveau 10-12 : HIE_N4 × dimensions
Niveau 13-15 : HIE_N3 × dimensions
Niveau 16-18 : HIE_N2 × dimensions
Niveau 19-21 : HIE_N1 × dimensions
Pour chaque niveau produit, 3 combinaisons de dimensions :
1. Type_Client × Type_Restaurant × Geo
2. Type_Client × Type_Restaurant
3. Type_Client
Niveaux de remontée ZOOM3 (14 niveaux)¶
Même principe mais sans la dimension Geo :
Niveau 1-2 : ID_ART × dimensions
Niveau 3-4 : HIE_N6 × dimensions
...
Niveau 13-14 : HIE_N1 × dimensions
SOURCE_LEVEL¶
Indique d'où proviennent les statistiques :
- -1 : Cube NATIONAL
- 1 : Niveau le plus fin (article × toutes dimensions)
- 2-21 : Niveaux de remontée
- 22 (ZOOM½) ou 15 (ZOOM3) : Aucune donnée trouvée
Bornes de prix et corridors¶
Calcul des bornes¶
Pour chaque percentile, calcul du prix théorique :
Tableau des bornes¶
| Borne | Percentile | Description |
|---|---|---|
| PL1/PL2 | P90 | PVC |
| PL2/PL3 | P80 | Paliers intermédiaires |
| PL3/PL4 | P60 | Paliers intermédiaires |
| PL4/PL5 | P50 | Paliers intermédiaires |
| PL5/PL6 | P30 | Paliers intermédiaires |
| PL6/PLX | P10 | Seuil de dérogation |
Contraintes appliquées¶
- Contrainte minimale : Borne ≥ PAS actif
- Contrainte maximale : Borne ≤ PRB approprié
- Si PRB_TO_USE = 1 : PRB_RC (Restaurant Commercial)
- Si PRB_TO_USE = 2 : PRB_COLL (Collectivités)
Écarts au PAS¶
Pour chaque borne, calcul de l'écart :
Analyse de sensibilité prix¶
Objectif¶
Identifier les articles nécessitant une attention particulière lors des décisions de pricing.
Classification bidimensionnelle¶
Dimension Fréquence (F)¶
- F1 : Top 25% des articles les plus commandés
- F2 : Les 75% restants
Dimension Ventes (S) - Pareto¶
- S1 : Articles générant 70% du CA du cube
- S2 : Articles générant les 30% restants
Matrice de sensibilité¶
| Fréquence | Ventes | Sensibilité | Description |
|---|---|---|---|
| F1 | S1 | HIGH | Articles critiques (forte fréquence ET gros CA) |
| F1 | S2 | MEDIUM | Articles fréquents mais CA limité |
| F2 | S1 | MEDIUM | Articles rares mais gros volumes |
| F2 | S2 | LOW | Articles peu critiques |
Application¶
- Seuls les cubes MASTER ont une sensibilité
- Les cubes NATIONAL n'ont pas de sensibilité (vision agrégée)
Univers et règles métier¶
Définition des univers¶
Les univers sont déterminés par les règles dans business_rules.py :
ZOOM1¶
- RCI PINDEP (avec ou sans KAM)
- RCI GINDEP sans KAM
- RSI/RSC avec FG_HM = '1'
- Autres cas spécifiques
ZOOM2¶
- RCI GINDEP avec KAM
- RSI sans FG_HM
- RCI GC_REG
ZOOM3¶
- RSC sans FG_HM 'HM'
- RCC (chaînes nationales)
PRB_TO_USE¶
Déterminé par le mapping Type_Client :
- 1 : Utilise PRB_RC (Restaurant Commercial)
- 2 : Utilise PRB_COLL (Collectivités)
Standardisation FG_HM¶
- Dans les CSV : 'X' → standardisé en '1'
- Toute autre valeur → standardisée en '0'
- Utilisé pour déterminer l'univers
Gestion des périodes¶
Calendrier fiscal Sysco¶
Structure 4-4-5 :
- Q1 : Juillet - Août - Septembre
- Q2 : Octobre - Novembre - Décembre
- Q3 : Janvier - Février - Mars
- Q4 : Avril - Mai - Juin
Période d'analyse¶
PT0CE analyse les 4 derniers trimestres fiscaux complets :
- Utilise SYS_MD_CALENDRIER_SYSCO
- Exclut le trimestre en cours
- Exemple : Au 15/01/2025, analyse Q4_2024 + Q3_2024 + Q2_2024 + Q1_2024
Tables temporelles¶
- Horodatage format YYYYMMDD
- Conservation de
PT0CE_DIMENSION_MAPPING_YYYYMMDDpour PT1CE - Suppression automatique des autres tables temporaires