globalReconcile
Description
L'action globalReconcile est le juge de paix des prévisions hiérarchiquesMéthode synchronisant les prévisions à différents niveaux (ex: produit/région) pour garantir la cohérence numérique totale entre les agrégats supérieurs et les détails inférieurs.. Elle réconcilie simultanément tous les niveaux d'une hiérarchie de séries temporellesSuite d'observations collectées à intervalles réguliers. L'analyse vise à identifier des tendances, des cycles ou une saisonnalité pour modéliser et prédire les comportements futurs. pour s'assurer que les prévisions agrégées correspondent parfaitement à la somme des prévisions détaillées. C'est l'outil indispensable pour éviter que votre patron ne vous demande pourquoi la somme des ventes régionales ne correspond pas au total national !
Paramètres Clés
Préparation des données
Création d'une hiérarchie de prévisions fictive
Génération de deux tables : une pour le niveau 'Total' et une pour le niveau 'Région' avec des prévisions indépendantes à réconcilier.
| 1 | DATA casuser.lvl_root; date='01jan2023'd; _name_='TOTAL'; predict=100; actual=95; OUTPUT; date='01feb2023'd; _name_='TOTAL'; predict=110; actual=105; OUTPUT; RUN; DATA casuser.lvl_region; date='01jan2023'd; region='Nord'; predict=60; actual=55; OUTPUT; date='01jan2023'd; region='Sud'; predict=50; actual=45; OUTPUT; date='01feb2023'd; region='Nord'; predict=65; actual=60; OUTPUT; date='01feb2023'd; region='Sud'; predict=55; actual=50; OUTPUT; RUN; PROC CAS; TABLE.loadTable / path="lvl_root.sas7bdat", casout="lvl_root"; TABLE.loadTable / path="lvl_region.sas7bdat", casout="lvl_region"; QUIT; |
Exemples d'utilisation
Réconciliation basique de deux niveaux
Réconciliation simple entre un niveau agrégé et un niveau détaillé en utilisant les noms de variables par défaut.
| 1 | PROC CAS; tsReconcile.globalReconcile / groupBy={"region"}, levels={{TABLE={name="lvl_root"}}, {TABLE={name="lvl_region"}, casOut={name="rec_detailed"}}}, timeId="date"; RUN; QUIT; |
Résultat Attendu :
Réconciliation multi-niveaux avec rôles personnalisés
Spécification explicite des colonnes pour l'actual, le predict et l'error, ainsi que la génération de sorties pour chaque niveau.
| 1 | PROC CAS; tsReconcile.globalReconcile / groupBy={"region"}, levels={{TABLE={name="lvl_root"}, roles={actual="actual", predict="predict", error="error"}, casOut={name="lvl_root_rec"}}, {TABLE={name="lvl_region"}, roles={actual="actual", predict="predict", error="error"}, casOut={name="lvl_region_rec"}}}, timeId="date"; RUN; QUIT; |