Sur cette page

Fonctions d’agrégation des dossiers

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

Comprendre les agrégats de dossiers

Dans le Process Mining, un dossier représente une instance unique d’un processus, par exemple une commande, un ticket ou un parcours client. Chaque dossier contient plusieurs événements, c’est-à-dire les étapes ou activités individuelles.

Les fonctions d’agrégation des dossiers calculent des valeurs sur l’ensemble des événements d’un dossier et rendent le résultat disponible pour chaque événement. Vous pouvez ainsi :

  • Calculer les valeurs totales d’un dossier, par exemple le montant total d’une commande
  • Rechercher des schémas dans les dossiers, par exemple le nombre d’événements de reprise
  • Comparer les événements individuels aux statistiques du dossier

Schémas courants

  • Calculer les totaux du dossier :

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

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

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

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

caseSum

(attribute)

Additionne un attribut numérique pour tous les événements du cas actuel.

Paramètres
attribute number Attribut à additionner
Valeur renvoyée nombre
Exemples
caseSum(ItemAmount) Total de toutes les valeurs ItemAmount du cas

caseAvg

(attribute)

Calcule la moyenne d'un attribut numérique pour tous les événements du cas actuel.

Paramètres
attribute number Attribut dont calculer la moyenne
Valeur renvoyée nombre
Exemples
caseAvg(ProcessingTime) Temps de traitement moyen par événement

caseMin

(attribute)

Renvoie la valeur minimale d'un attribut pour tous les événements du cas actuel.

Paramètres
attribute number Attribut dont vous souhaitez obtenir le minimum
Valeur renvoyée nombre
Exemples
caseMin(ItemPrice) Prix le plus bas du cas

caseMax

(attribute)

Renvoie la valeur maximale d'un attribut pour tous les événements du cas actuel.

Paramètres
attribute number Attribut dont vous souhaitez obtenir le maximum
Valeur renvoyée nombre
Exemples
caseMax(ItemPrice) Prix le plus élevé du cas

caseCount

()

Renvoie le nombre d'événements du cas actuel.

Valeur renvoyée nombre
Exemples
caseCount() Nombre d'événements du cas

caseMedian

(attribute)

Renvoie la valeur médiane d'un attribut pour tous les événements du cas actuel.

Paramètres
attribute number Attribut dont vous souhaitez obtenir la médiane
Valeur renvoyée nombre
Exemples
caseMedian(Duration) Valeur médiane de la durée dans le cas

caseCountDistinct

(attribute)

Compte les valeurs distinctes d’un attribut dans le cas actuel.

Paramètres
attribute any Attribut dont vous souhaitez compter les valeurs distinctes
Valeur renvoyée nombre
Exemples
caseCountDistinct(Resource) Nombre de ressources uniques dans le cas

caseStdDev

(expr)

Calcule l’écart type entre les événements du cas.

Paramètres
expr number Expression de valeur
Valeur renvoyée nombre
Exemples
caseStdDev(Amount) Écart type dans le cas

caseSumIf

(attribute, condition)

Additionne uniquement les valeurs des événements qui correspondent à une condition.

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

caseAvgIf

(attribute, condition)

Calcule la moyenne uniquement pour les événements qui correspondent à une condition.

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

caseCountIf

(condition)

Compte les événements qui correspondent à une condition dans le cas actuel.

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

caseMinIf

(attribute, condition)

Renvoie la valeur minimale des événements qui correspondent à une condition.

Paramètres
attribute number Attribut dont vous souhaitez obtenir le minimum
condition boolean Condition de filtrage
Valeur renvoyée nombre
Exemples
caseMinIf(Timestamp, Activity == "Start") Horodatage de la première activité Start

caseMaxIf

(attribute, condition)

Renvoie la valeur maximale des événements qui correspondent à une condition.

Paramètres
attribute number Attribut dont vous souhaitez obtenir le maximum
condition boolean Condition de filtrage
Valeur renvoyée 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. Lorsque vous parcourez chronologiquement les événements d’un dossier, la valeur cumulée est mise à jour.

Cette méthode est utile pour :

  • Suivre les totaux cumulés, avec une somme progressive
  • Identifier la position d’un événement, avec un décompte progressif
  • Calculer des moyennes mobiles

Schémas d’agrégats cumulés

  • Totaux cumulés : suivez l’accumulation d’une valeur au cours du dossier :

    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 : identifiez la position d’un événement dans la séquence du dossier :

    caseRunningCount()   // 1, 2, 3, 4...
  • Moyenne mobile : calculez 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 actuel, événement actuel inclus.

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

caseRunningCount

()

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

Valeur renvoyée nombre
Exemples
caseRunningCount() Position de l’événement : 1, 2, 3, ...

caseRunningAvg

(attribute)

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

Paramètres
attribute number Attribut dont calculer la moyenne
Valeur renvoyée nombre
Exemples
caseRunningAvg(Duration) Durée moyenne jusqu’à ce point

caseRunningMin

(expr)

Calcule le minimum cumulé jusqu’à l’événement actuel.

Paramètres
expr number Expression de valeur
Valeur renvoyée nombre
Exemples
caseRunningMin(Amount) Montant minimal cumulé

caseRunningMax

(expr)

Calcule le maximum cumulé jusqu’à l’événement actuel.

Paramètres
expr number Expression de valeur
Valeur renvoyée nombre
Exemples
caseRunningMax(Amount) Montant maximal cumulé

Fonctions statistiques

Fonctions statistiques permettant d’analyser la distribution des valeurs dans un dossier.

  • Percentiles : déterminez la position d’une valeur par rapport aux autres valeurs du dossier. Indiquez le percentile sous forme de fraction comprise entre 0 et 1, de sorte que 0.9 corresponde au 90e percentile :

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

    caseVariance(Amount)           // Variation within this case

casePercentile

(attribute, percentile)

Calcule le percentile d’un attribut dans le cas actuel.

Paramètres
attribute number Attribut à analyser
percentile number Le percentile sous forme de fraction comprise entre 0 et 1 (0,9 = 90e percentile)
Valeur renvoyée nombre
Exemples
casePercentile(Duration, 0.9) Durée au 90e percentile dans le cas

caseVariance

(attribute)

Calcule la variance d’un attribut dans le cas actuel.

Paramètres
attribute number Attribut à analyser
Valeur renvoyée nombre
Exemples
caseVariance(ProcessingTime) Variance des temps de traitement dans le cas

Sujets associés