ujusum:1-implantation:18-performance
Différences
Ci-dessous, les différences entre deux révisions de la page.
| ujusum:1-implantation:18-performance [2026/06/06 03:35] – créée 91.170.108.99 | ujusum:1-implantation:18-performance [2026/06/06 03:37] (Version actuelle) – 91.170.108.99 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Sprint | + | ====== Sprint |
| - | ===== Sprint | + | ===== Objectif du Sprint ===== |
| - | Objectif : | + | Mettre en œuvre un moteur avancé de Revenue Management permettant d' |
| - | Maximiser les revenus locatifs grâce à des mécanismes avancés de tarification dynamique. | + | À l' |
| - | Modules concernés | + | * Les prix peuvent être ajustés dynamiquement |
| + | * Les recommandations tarifaires sont calculées automatiquement | ||
| + | * Les revenus futurs sont simulés | ||
| + | * Les niveaux d' | ||
| + | * Les événements saisonniers sont pris en compte | ||
| + | * Les concurrents peuvent être analysés | ||
| + | * Les gestionnaires gardent la validation finale | ||
| + | |||
| + | Ce sprint apporte une couche d' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Principes Métier ====== | ||
| + | |||
| + | ===== Objectif ===== | ||
| + | |||
| + | Le système ne remplace pas le gestionnaire. | ||
| + | |||
| + | Il fournit : | ||
| + | |||
| + | * Des recommandations | ||
| + | * Des simulations | ||
| + | * Des alertes | ||
| + | * Des scénarios | ||
| + | |||
| + | La décision finale reste configurable : | ||
| + | |||
| + | < | ||
| + | MANUEL | ||
| + | |||
| + | ASSISTÉ | ||
| + | |||
| + | AUTOMATIQUE | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Périmètre ====== | ||
| + | |||
| + | ===== Modules concernés | ||
| < | < | ||
| Ligne 19: | Ligne 58: | ||
| PricingRulesModule | PricingRulesModule | ||
| + | |||
| + | ForecastRevenueModule | ||
| </ | </ | ||
| - | Fonctionnalités : | + | ---- |
| + | ====== Architecture Fonctionnelle ====== | ||
| + | |||
| + | < | ||
| + | Historique Réservations | ||
| + | |||
| + | + | ||
| + | |||
| + | Occupation | ||
| + | |||
| + | + | ||
| + | |||
| + | Saisonnalité | ||
| + | |||
| + | + | ||
| + | |||
| + | Événements | ||
| + | |||
| + | + | ||
| + | |||
| + | Concurrence | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Revenue Engine | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Recommandation Tarifaire | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Validation | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Publication | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== User Stories ====== | ||
| + | |||
| + | ===== US-1701 : Consulter les recommandations tarifaires ===== | ||
| + | |||
| + | **En tant que gestionnaire** | ||
| + | |||
| + | Je souhaite obtenir une recommandation de prix | ||
| + | |||
| + | Afin d' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Endpoint ===== | ||
| + | |||
| + | <code http> | ||
| + | GET / | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Réponse ===== | ||
| + | |||
| + | < | ||
| + | Tarif actuel | ||
| + | |||
| + | Tarif recommandé | ||
| + | |||
| + | Variation | ||
| + | |||
| + | Justification | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== US-1702 : Calculer un tarif dynamique ====== | ||
| + | |||
| + | ===== Endpoint ===== | ||
| + | |||
| + | <code http> | ||
| + | POST / | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Facteurs ===== | ||
| + | |||
| + | < | ||
| + | Occupation | ||
| + | |||
| + | Saison | ||
| + | |||
| + | Demande | ||
| + | |||
| + | Historique | ||
| + | |||
| + | Anticipation | ||
| + | |||
| + | Événements | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Exemple ===== | ||
| + | |||
| + | < | ||
| + | Prix base | ||
| + | |||
| + | 100 € | ||
| + | |||
| + | Occupation élevée | ||
| + | |||
| + | +20 % | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | 120 € | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== US-1703 : Appliquer une recommandation ====== | ||
| + | |||
| + | ===== Endpoint ===== | ||
| + | |||
| + | <code http> | ||
| + | POST / | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Modes ===== | ||
| + | |||
| + | < | ||
| + | Validation manuelle | ||
| + | |||
| + | Validation automatique | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== US-1704 : Configurer des règles tarifaires ====== | ||
| + | |||
| + | ===== Endpoint ===== | ||
| + | |||
| + | <code http> | ||
| + | POST / | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Exemples ===== | ||
| + | |||
| + | < | ||
| + | Occupation > 80% | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | +15% | ||
| + | |||
| + | ------------------- | ||
| + | |||
| + | Réservation J-2 | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | -20% | ||
| + | |||
| + | ------------------- | ||
| + | |||
| + | Août | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | +30% | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== US-1705 : Prioriser les règles ====== | ||
| + | |||
| + | ===== Objectif ===== | ||
| + | |||
| + | Résoudre les conflits. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Exemple ===== | ||
| + | |||
| + | < | ||
| + | Règle 1 | ||
| + | |||
| + | Priorité 100 | ||
| + | |||
| + | Règle 2 | ||
| + | |||
| + | Priorité 50 | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Yield Management ====== | ||
| + | |||
| + | ===== US-1706 : Optimiser le taux d' | ||
| + | |||
| + | ===== Objectif ===== | ||
| + | |||
| + | Équilibrer : | ||
| + | |||
| + | < | ||
| + | Prix | ||
| + | |||
| + | Occupation | ||
| + | |||
| + | Revenus | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Indicateurs ===== | ||
| + | |||
| + | < | ||
| + | ADR | ||
| + | |||
| + | RevPAR | ||
| + | |||
| + | Occupation | ||
| + | |||
| + | CA | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== ADR ===== | ||
| + | |||
| + | Average Daily Rate : | ||
| + | |||
| + | : | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== RevPAR ===== | ||
| + | |||
| + | Revenue Per Available Room : | ||
| + | |||
| + | : | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== US-1707 : Identifier les périodes creuses ====== | ||
| + | |||
| + | ===== Sources ===== | ||
| + | |||
| + | < | ||
| + | Historique | ||
| + | |||
| + | Prévisions | ||
| + | |||
| + | Calendrier | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Résultat ===== | ||
| + | |||
| + | < | ||
| + | Liste périodes | ||
| + | |||
| + | Actions recommandées | ||
| + | |||
| + | Impact estimé | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Simulation ====== | ||
| + | |||
| + | ===== US-1708 : Simuler un scénario ====== | ||
| + | |||
| + | ===== Endpoint ===== | ||
| + | |||
| + | <code http> | ||
| + | POST / | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Exemple ===== | ||
| + | |||
| + | < | ||
| + | Prix +10% | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Occupation -3% | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | CA +7% | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Résultat ===== | ||
| + | |||
| + | < | ||
| + | Revenus | ||
| + | |||
| + | Occupation | ||
| + | |||
| + | Bénéfices | ||
| + | |||
| + | Comparaison | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== US-1709 : Comparer plusieurs scénarios ====== | ||
| + | |||
| + | ===== Types ===== | ||
| + | |||
| + | < | ||
| + | Conservateur | ||
| + | |||
| + | Standard | ||
| + | |||
| + | Agressif | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Analyse concurrentielle ====== | ||
| + | |||
| + | ===== US-1710 : Analyser les concurrents ====== | ||
| + | |||
| + | ===== Sources ===== | ||
| + | |||
| + | < | ||
| + | Données importées | ||
| + | |||
| + | OTA | ||
| + | |||
| + | Études marché | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Critères ===== | ||
| + | |||
| + | < | ||
| + | Prix | ||
| + | |||
| + | Occupation | ||
| + | |||
| + | Capacité | ||
| + | |||
| + | Localisation | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== US-1711 : Positionnement tarifaire ====== | ||
| + | |||
| + | ===== Résultat ===== | ||
| + | |||
| + | < | ||
| + | Moins cher | ||
| + | |||
| + | Aligné | ||
| + | |||
| + | Plus cher | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Score ===== | ||
| + | |||
| + | < | ||
| + | Indice compétitivité | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Prévisions ====== | ||
| + | |||
| + | ===== US-1712 : Prévoir les revenus ====== | ||
| + | |||
| + | ===== Endpoint ===== | ||
| + | |||
| + | <code http> | ||
| + | GET / | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Horizon ===== | ||
| + | |||
| + | < | ||
| + | 30 jours | ||
| + | |||
| + | 90 jours | ||
| + | |||
| + | 12 mois | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== US-1713 : Prévoir l' | ||
| + | |||
| + | ===== Endpoint ===== | ||
| + | |||
| + | <code http> | ||
| + | GET / | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Résultat ===== | ||
| + | |||
| + | < | ||
| + | Courbe prévisionnelle | ||
| + | |||
| + | Intervalle confiance | ||
| + | |||
| + | Scénarios | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Alertes ====== | ||
| + | |||
| + | ===== US-1714 : Détecter une anomalie tarifaire ====== | ||
| + | |||
| + | ===== Exemples ===== | ||
| + | |||
| + | < | ||
| + | Prix trop bas | ||
| + | |||
| + | Prix trop élevé | ||
| + | |||
| + | Occupation anormale | ||
| + | |||
| + | Écart concurrence | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== US-1715 : Alerte opportunité ====== | ||
| + | |||
| + | ===== Exemple ===== | ||
| + | |||
| + | < | ||
| + | Festival local | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Demande forte | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Hausse recommandée | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Modèle Prisma ====== | ||
| + | |||
| + | ===== PricingRule ===== | ||
| + | |||
| + | <code prisma> | ||
| + | model PricingRule { | ||
| + | |||
| + | id String @id @default(uuid()) | ||
| + | |||
| + | propertyId | ||
| + | |||
| + | name String | ||
| + | |||
| + | priority | ||
| + | |||
| + | active | ||
| + | |||
| + | conditions | ||
| + | |||
| + | actions | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== DynamicPrice ===== | ||
| + | |||
| + | <code prisma> | ||
| + | model DynamicPrice { | ||
| + | |||
| + | id String @id @default(uuid()) | ||
| + | |||
| + | propertyId | ||
| + | |||
| + | date DateTime | ||
| + | |||
| + | basePrice | ||
| + | |||
| + | calculatedPrice | ||
| + | |||
| + | source | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== RevenueSimulation ===== | ||
| + | |||
| + | <code prisma> | ||
| + | model RevenueSimulation { | ||
| + | |||
| + | id String @id @default(uuid()) | ||
| + | |||
| + | name String | ||
| + | |||
| + | assumptions | ||
| + | |||
| + | result | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== CompetitorSnapshot ===== | ||
| + | |||
| + | <code prisma> | ||
| + | model CompetitorSnapshot { | ||
| + | |||
| + | id String @id @default(uuid()) | ||
| + | |||
| + | propertyId | ||
| + | |||
| + | competitorName | ||
| + | |||
| + | observedPrice | ||
| + | |||
| + | observedAt | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Architecture Backend ====== | ||
| + | |||
| + | < | ||
| + | src/ | ||
| + | |||
| + | ├── pricing | ||
| + | │ | ||
| + | ├── rules | ||
| + | │ | ||
| + | ├── simulations | ||
| + | │ | ||
| + | ├── competitors | ||
| + | │ | ||
| + | ├── forecasting | ||
| + | │ | ||
| + | └── recommendations | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Domain Services ====== | ||
| + | |||
| + | < | ||
| + | DynamicPricingService | ||
| + | |||
| + | RevenueSimulationService | ||
| + | |||
| + | CompetitorAnalysisService | ||
| + | |||
| + | ForecastRevenueService | ||
| + | |||
| + | RecommendationService | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Événements métier ====== | ||
| + | |||
| + | ===== DynamicPriceCalculated ===== | ||
| + | |||
| + | < | ||
| + | DynamicPriceCalculated | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== RecommendationPublished ===== | ||
| + | |||
| + | < | ||
| + | RecommendationPublished | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== RevenueForecastGenerated ===== | ||
| + | |||
| + | < | ||
| + | RevenueForecastGenerated | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Swagger ====== | ||
| + | |||
| + | ===== Tags ===== | ||
| + | |||
| + | < | ||
| + | RevenueManagement | ||
| + | |||
| + | DynamicPricing | ||
| + | |||
| + | PricingRules | ||
| + | |||
| + | CompetitorAnalysis | ||
| + | |||
| + | Forecasting | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Volume API ===== | ||
| + | |||
| + | Environ : | ||
| + | |||
| + | < | ||
| + | 30 endpoints | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Frontend ====== | ||
| + | |||
| + | ===== Pages ===== | ||
| + | |||
| + | < | ||
| + | / | ||
| + | |||
| + | / | ||
| + | |||
| + | / | ||
| + | |||
| + | / | ||
| + | |||
| + | / | ||
| + | |||
| + | / | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Composants ===== | ||
| + | |||
| + | < | ||
| + | RevenueDashboard | ||
| + | |||
| + | DynamicPriceCalendar | ||
| + | |||
| + | PricingRuleBuilder | ||
| + | |||
| + | RevenueSimulator | ||
| + | |||
| + | CompetitorTable | ||
| + | |||
| + | ForecastGraph | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Dashboard Revenue ====== | ||
| + | |||
| + | ===== KPI ===== | ||
| + | |||
| + | < | ||
| + | ADR | ||
| + | |||
| + | RevPAR | ||
| + | |||
| + | Occupation | ||
| + | |||
| + | Prix moyen | ||
| + | |||
| + | CA prévisionnel | ||
| + | |||
| + | CA réalisé | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Tests ====== | ||
| + | |||
| + | ===== Unitaires ===== | ||
| + | |||
| + | < | ||
| + | DynamicPricingService | ||
| + | |||
| + | ForecastRevenueService | ||
| + | |||
| + | RecommendationService | ||
| + | |||
| + | CompetitorAnalysisService | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Intégration ===== | ||
| + | |||
| + | < | ||
| + | Occupation | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Calcul tarif | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Recommandation | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Validation | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Publication | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== E2E ===== | ||
| + | |||
| + | < | ||
| + | Création règle | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Simulation | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Calcul dynamique | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Validation gestionnaire | ||
| + | |||
| + | ↓ | ||
| + | |||
| + | Publication tarif | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Définition de terminé ====== | ||
| + | |||
| + | Le Sprint 17 est terminé lorsque : | ||
| + | |||
| + | * Tarification dynamique opérationnelle | ||
| + | * Règles tarifaires opérationnelles | ||
| + | * Simulations opérationnelles | ||
| + | * Prévisions opérationnelles | ||
| + | * Analyse concurrentielle opérationnelle | ||
| + | * Alertes opérationnelles | ||
| + | * Swagger à jour | ||
| + | * Tests verts | ||
| + | * CI verte | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Livrables ====== | ||
| + | |||
| + | * RevenueManagementModule | ||
| + | * DynamicPricingModule | ||
| + | * YieldManagementModule | ||
| + | * CompetitorAnalysisModule | ||
| + | * PricingRulesModule | ||
| + | * ForecastRevenueModule | ||
| + | * DTO | ||
| + | * Swagger | ||
| + | * Tests | ||
| + | * Migrations Prisma | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Bilan Release 3.3 ====== | ||
| + | |||
| + | À l' | ||
| + | |||
| + | * Revenue Management avancé | ||
| * Tarification dynamique | * Tarification dynamique | ||
| - | * Analyse de la demande | + | * Simulations financières |
| - | * Ajustement automatique des prix | + | * Prévisions enrichies |
| - | * Simulation | + | * Optimisation du chiffre d' |
| - | * Analyse concurrentielle | + | |
| - | * Recommandations tarifaires | + | La plateforme atteint un niveau comparable aux solutions professionnelles |
| + | |||
| + | ---- | ||
| + | |||
| + | ====== Sprint suivant ====== | ||
| + | |||
| + | ===== Sprint 18 — Distribution, | ||
| + | |||
| + | Objectif : | ||
| + | |||
| + | Diffuser automatiquement les biens sur les plateformes partenaires et synchroniser les réservations. | ||
| + | |||
| + | Modules concernés : | ||
| + | |||
| + | < | ||
| + | ChannelManagerModule | ||
| + | |||
| + | OTAModule | ||
| + | |||
| + | DistributionModule | ||
| + | |||
| + | AvailabilitySyncModule | ||
| + | |||
| + | RateSyncModule | ||
| + | </ | ||
| + | |||
| + | Fonctionnalités : | ||
| + | |||
| + | * Synchronisation Airbnb | ||
| + | * Synchronisation Booking.com | ||
| + | * Synchronisation Abritel / Vrbo | ||
| + | * Synchronisation calendriers | ||
| + | * Synchronisation tarifs | ||
| + | * Synchronisation réservations | ||
| + | * Gestion multi-canaux | ||
| - | À l' | + | À l' |
ujusum/1-implantation/18-performance.txt · Dernière modification : 2026/06/06 03:37 de 91.170.108.99