Sur cette page

Fonctions d’agrégation par cas

Fonctions permettant d’agréger les valeurs de tous les événements d’un même cas.

Comprendre les agrégats par cas

En Process Mining, un cas représente une instance unique d’un processus (par exemple, une commande, un ticket ou le parcours d’un client). Chaque cas comprend plusieurs événements (les différentes étapes ou activités).

Les fonctions d’agrégation par cas calculent des valeurs à partir de tous les événements d’un cas, puis rendent le résultat disponible pour chaque événement. Elles permettent de :

  • Calculer les valeurs totales d’un cas (par exemple, le montant total d’une commande)
  • Repérer des tendances dans les cas (par exemple, le nombre d’événements de reprise)
  • Comparer des événements individuels aux statistiques du cas

Motifs courants

  • Calculer les totaux d’un cas :

    caseSum(ItemAmount)           // Total order value
    caseCount()                   // Number of events in case
    caseCountDistinct(Resource)   // Unique resources involved
  • Repérer les valeurs extrêmes :

    caseMin(Timestamp)            // First event time
    caseMax(Timestamp)            // Last event time
    caseMax(Timestamp) - caseMin(Timestamp)   // Total case duration
  • Agrégats conditionnels :

    caseCountIf(Status == "Error")            // Error count
    caseSumIf(Amount, Activity == "Payment")  // Total payments
    caseAvgIf(Duration, Activity == "Review") // Avg review time
  • Comparer un événement au cas :

    Duration / caseAvg(Duration)  // Is this event faster/slower than average?

caseSum

(attribute)

Additionne les valeurs d’un attribut numérique pour tous les événements du dossier en cours.

Paramètres
attribute number Attribut à additionner
Valeurs renvoyées nombre
Exemples
caseSum(ItemAmount) → Total des valeurs ItemAmount du dossier

caseAvg

(attribute)

Calcule la moyenne d’un attribut numérique pour tous les événements du dossier en cours.

Paramètres
attribute number Attribut dont calculer la moyenne
Valeurs renvoyées nombre
Exemples
caseAvg(ProcessingTime) → Durée moyenne de traitement par événement

caseMin

(attribute)

Renvoie la valeur minimale d’un attribut parmi tous les événements du dossier en cours.

Paramètres
attribute number Attribut dont renvoyer la valeur minimale
Valeurs renvoyées nombre
Exemples
caseMin(ItemPrice) → Prix le plus bas du dossier

caseMax

(attribute)

Renvoie la valeur maximale d’un attribut parmi tous les événements du dossier en cours.

Paramètres
attribute number Attribut dont renvoyer la valeur maximale
Valeurs renvoyées nombre
Exemples
caseMax(ItemPrice) → Prix le plus élevé du dossier

caseCount

()

Renvoie le nombre d’événements du dossier en cours.

Valeurs renvoyées nombre
Exemples
caseCount() → Nombre d’événements du dossier

caseMedian

(attribute)

Renvoie la valeur médiane d’un attribut parmi tous les événements du dossier en cours.

Paramètres
attribute number Attribut dont renvoyer la valeur médiane
Valeurs renvoyées nombre
Exemples
caseMedian(Duration) → Valeur médiane de Duration dans le dossier

caseCountDistinct

(attribute)

Compte les valeurs distinctes d’un attribut dans le dossier en cours.

Paramètres
attribute any Attribut dont compter les valeurs distinctes
Valeurs renvoyées nombre
Exemples
caseCountDistinct(Resource) → Nombre de ressources distinctes dans le dossier

caseStdDev

(expr)

Calcule l’écart type des événements du dossier.

Paramètres
expr number Expression de valeur
Valeurs renvoyées nombre
Exemples
caseStdDev(Amount) → Écart type dans le dossier

caseSumIf

(attribute, condition)

Additionne les valeurs uniquement pour les événements qui remplissent une condition.

Paramètres
attribute number Attribut à additionner
condition boolean Condition de filtrage
Valeurs renvoyées nombre
Exemples
caseSumIf(Amount, Status == "Approved") → Somme de Amount lorsque Status est Approuvé

caseAvgIf

(attribute, condition)

Calcule la moyenne des valeurs uniquement pour les événements qui remplissent une condition.

Paramètres
attribute number Attribut dont calculer la moyenne
condition boolean Condition de filtrage
Valeurs renvoyées nombre
Exemples
caseAvgIf(Duration, Activity == "Review") → Durée moyenne des activités Review

caseCountIf

(condition)

Compte les événements du dossier en cours qui remplissent une condition.

Paramètres
condition boolean Condition à compter
Valeurs renvoyées nombre
Exemples
caseCountIf(Status == "Error") → Nombre d’événements en erreur dans le dossier

caseMinIf

(attribute, condition)

Renvoie la valeur minimale parmi les événements qui remplissent une condition.

Paramètres
attribute number Attribut dont renvoyer la valeur minimale
condition boolean Condition de filtrage
Valeurs renvoyées nombre
Exemples
caseMinIf(Timestamp, Activity == "Start") → Horodatage de la première activité Start

caseMaxIf

(attribute, condition)

Renvoie la valeur maximale parmi les événements qui remplissent une condition.

Paramètres
attribute number Attribut dont renvoyer la valeur maximale
condition boolean Condition de filtrage
Valeurs renvoyées nombre
Exemples
caseMaxIf(Timestamp, Activity == "End") → Horodatage de la dernière activité End

Agrégats cumulés

Les agrégats cumulés calculent les valeurs cumulées jusqu’à l’événement actuel inclus. À mesure que vous parcourez chronologiquement les événements d’un cas, la valeur cumulée est mise à jour.

Ils sont utiles pour :

  • Suivre les totaux cumulés (somme cumulée)
  • Déterminer la position d’un événement (nombre cumulé)
  • Calculer des moyennes mobiles

Exemples d’agrégats cumulés

  • Totaux cumulés : suivre l’évolution d’une valeur au fil du cas :

    caseRunningSum(ItemAmount)   // Cumulative order total at each event
    Événement Montant caseRunningSum(Amount)
    1 100 100
    2 50 150
    3 75 225
  • Position de l’événement : déterminer la place de l’événement dans la séquence du cas :

    caseRunningCount()   // 1, 2, 3, 4...
  • Moyenne mobile : calculer la moyenne jusqu’au point actuel :

    caseRunningAvg(Duration)   // Average duration so far
  • Logique fondée sur la position :

    if(caseRunningCount() == 1, "First", 
       if(caseRunningCount() == caseCount(), "Last", "Middle")
    )

caseRunningSum

(attribute)

Calcule la somme cumulée jusqu’à l’événement en cours, inclus.

Paramètres
attribute number Attribut à additionner
Valeurs renvoyées nombre
Exemples
caseRunningSum(ItemAmount) → Total cumulé à chaque événement

caseRunningCount

()

Renvoie le numéro de l’événement dans le dossier, à partir de 1.

Valeurs renvoyées nombre
Exemples
caseRunningCount() → Position de l’événement : 1, 2, 3, ...

caseRunningAvg

(attribute)

Calcule la moyenne cumulée jusqu’à l’événement en cours, inclus.

Paramètres
attribute number Attribut dont calculer la moyenne
Valeurs renvoyées nombre
Exemples
caseRunningAvg(Duration) → Durée moyenne jusqu’à présent

caseRunningMin

(expr)

Calcule la valeur minimale cumulée jusqu’à l’événement en cours.

Paramètres
expr number Expression de valeur
Valeurs renvoyées nombre
Exemples
caseRunningMin(Amount) → Montant minimal cumulé

caseRunningMax

(expr)

Calcule la valeur maximale cumulée jusqu’à l’événement en cours.

Paramètres
expr number Expression de valeur
Valeurs renvoyées nombre
Exemples
caseRunningMax(Amount) → Montant maximal cumulé

Fonctions statistiques

Fonctions statistiques permettant d’analyser la distribution des valeurs au sein d’un cas.

  • Percentiles : situer une valeur par rapport aux autres valeurs du cas. Indiquez le percentile sous forme de fraction entre 0 et 1. Par exemple, 0.9 correspond au 90e percentile :

    casePercentile(Duration, 0.5)   // Median duration in this case
    casePercentile(Duration, 0.9)   // 90th percentile
  • Variance : mesurer la dispersion des valeurs :

    caseVariance(Amount)           // Variation within this case

casePercentile

(attribute, percentile)

Calcule le percentile d’un attribut dans le dossier en cours.

Paramètres
attribute number Attribut à analyser
percentile number Percentile sous forme de fraction entre 0 et 1 (0.9 = 90e percentile)
Valeurs renvoyées nombre
Exemples
casePercentile(Duration, 0.9) → Durée au 90e percentile dans le dossier

caseVariance

(attribute)

Calcule la variance d’un attribut dans le dossier en cours.

Paramètres
attribute number Attribut à analyser
Valeurs renvoyées nombre
Exemples
caseVariance(ProcessingTime) → Variance des durées de traitement dans le dossier

Sujets connexes

Concevez de meilleurs processus. Bâtissez une architecture cohérente. Gardez la maîtrise.

Accédez immédiatement à la plateforme, sans carte bancaire ni attente. Représentez clairement le fonctionnement de votre organisation dans des modèles de processus reliés entre eux.

Définissez l’architecture des processus, les responsabilités et les contrôles, puis clarifiez les rôles à chaque niveau.

Démarrez votre essai gratuit et posez les bases d’une gouvernance, d’une gestion et d’une amélioration continue de vos processus.