PT0CE - Pricing Tier 0 Corridor Engine¶
Le moteur de calcul des corridors de prix basé sur l'analyse statistique des marges nettes
🎯 Vue d'ensemble¶
PT0CE est le premier niveau du système de pricing Sysco France. Il calcule des corridors de prix optimaux en analysant les marges nettes historiques sur les 4 derniers trimestres fiscaux.
graph LR
A[Données<br/>historiques] --> B[PT0CE<br/>Corridors]
B --> C[PT1CE<br/>Nouveaux prix]
B --> D[PT2QE<br/>Recommandations]
style B fill:#F97316,stroke:#EA580C,color:#fff,stroke-width:3px
style C fill:#10B981,stroke:#059669,color:#fff
style D fill:#8B5CF6,stroke:#7C3AED,color:#fff
🔑 Concepts clés¶
Corridors de prix¶
PT0CE génère 6 bornes de prix (PL1 à PLX) basées sur les percentiles de marge :
| Borne | Percentile | Utilisation |
|---|---|---|
| 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 |
Les 3 univers tarifaires¶
ZOOM1 - Indépendants
ZOOM2 - Grands comptes régionaux + RSI Marché
ZOOM3 - Grands comptes nationaux
Types de cubes¶
📦 Cubes MASTER
- Données spécifiques par combinaison de dimensions
- Remontée hiérarchique si données insuffisantes
📦 Cubes NATIONAL
- Agrégation globale par article
- Vision de référence toutes transactions
- Pas de remontée nécessaire
📊 Fonctionnalités principales¶
1. Analyse statistique avancée¶
- Calcul de percentiles de marge (P10 à P90)
- Détection automatique des outliers
- Gestion des données insuffisantes par remontée hiérarchique
2. Segmentation intelligente¶
- 3 univers : ZOOM1, ZOOM2, ZOOM3
- 4 dimensions : Article × Type Client × Type Restaurant × Géographie
- 7 niveaux de hiérarchie produit
3. Sensibilité prix - Utilisée seulement dans le module offre de prix (PT2QE)¶
Matrice bidimensionnelle pour identifier les articles critiques :
- HIGH - Impact fort
- MEDIUM - Impact modéré
- LOW - Impact faible
4. Contraintes métier¶
- Borne minimale ≥ PAS (Prix d'Achat Standard)
- Borne maximale ≤ PRB (Prix de Référence Brut)
- Exclusion des marges négatives pour ZOOM1
🚀 Démarrage rapide¶
Prérequis¶
- Python 3.8+ (64-bit)
- Oracle Database avec accès DWH
- Fichiers CSV obligatoires dans
inputs/ Type_Client.csvType_Restaurant.csv
Structure des données¶
PT0CE/
├── inputs/
│ ├── Type_Client.csv # Mapping types clients
│ └── Type_Restaurant.csv # Mapping types restaurants
├── config/
│ └── pt0ce_config.json # Configuration
├── pt0ce_main.py # Point d'entrée
└── docs/ # Documentation complète
📈 Workflow en 6 phases¶
graph TB
A[Phase 1<br/>Extraction PAS/PRB] --> B[Phase 2<br/>Enrichissement]
B --> C[Phase 3<br/>Calcul cubes]
C --> D[Phase 4<br/>Calcul corridors]
D --> E[Phase 5<br/>Sensibilité prix]
E --> F[Phase 6<br/>Tables finales]
style A fill:#FFF7ED,stroke:#F97316,stroke-width:2px
style B fill:#FED7AA,stroke:#EA580C,stroke-width:2px
style C fill:#FDBA74,stroke:#F97316,stroke-width:2px
style D fill:#FB923C,stroke:#EA580C,stroke-width:2px
style E fill:#F97316,stroke:#EA580C,stroke-width:2px,color:#fff
style F fill:#EA580C,stroke:#C2410C,stroke-width:2px,color:#fff
📊 Tables de sortie¶
Tables finales permanentes¶
PT0CE_CORRIDOR_HISTORY_ZOOM1: Corridors univers ZOOM1PT0CE_CORRIDOR_HISTORY_ZOOM2: Corridors univers ZOOM2PT0CE_CORRIDOR_HISTORY_ZOOM3: Corridors univers ZOOM3
Table conservée pour PT1CE¶
PT0CE_DIMENSION_MAPPING_YYYYMMDD: Mapping dimensions → codes SAP
🔍 Points clés techniques¶
Remontée hiérarchique¶
Quand un cube n'a pas assez de données (< 30 marges distinctes) :
Niveau 1 : Article × toutes dimensions
↓ Pas assez de données
Niveau 2-3 : Article × dimensions réduites
↓ Pas assez de données
Niveau 4-21 : Hiérarchie produit (HIE_N6 → HIE_N1)
↓ Pas assez de données
Niveau 22 : NO_DATA
Performance¶
- Traitement parallèle : PARALLEL(8) sur les requêtes
- Insertion par batch : 5M lignes par chunk
- Keep-alive Oracle : Ping toutes les 2 minutes
- Optimisation mémoire : Libération après chaque phase
Qualité des données¶
- Validation des CSV à chaque exécution
- Exclusion automatique des hors référentiel
- Contraintes de cohérence sur les bornes
- Logs détaillés pour traçabilité
📚 Documentation complète¶
- 📖 Concepts détaillés - Architecture et concepts métier
- 🔄 Workflow - Processus détaillé phase par phase
- 🌍 Univers - ZOOM1, ZOOM2, ZOOM3 expliqués
- 🧮 Calculs - Formules et algorithmes
- 🏗️ Architecture - Structure technique
- 📊 Tables - Schémas et requêtes
- 📈 Diagrammes - Flux visuels
- 📘 Guide d'utilisation - Usage pratique
- 🔧 Troubleshooting - Résolution de problèmes
🤝 Intégration¶
PT0CE s'intègre dans l'écosystème pricing Sysco :
| Application | Rôle | Données échangées |
|---|---|---|
| PT1CE | Calcul des nouveaux prix | Corridors + Mapping dimensions |
| PT2QE | Recommandations personnalisées | Bornes + Sensibilité |
📊 Métriques clés¶
4 Trimestres analysés
3 Univers tarifaires
6 Bornes de prix
7 Niveaux de hiérarchie
30 Marges minimum par cube
Points clés¶
- Période analysée : 4 derniers trimestres fiscaux complets
- Seuil données : Minimum 30 marges distinctes pour calculer les statistiques
- Fichiers CSV obligatoires : Type_Client.csv et Type_Restaurant.csv dans
inputs/ - Calculs Python : Utilisation de pandas/numpy pour les statistiques
- Insertion Oracle : Par batches de 5M lignes
PT0CE - Pricing Tier 0 Corridor Engine v1.0.0
© 2024 Sysco France - Direction Pricing