Nesta página

Funções de agregação de casos

Funções para agregar valores de todos os eventos dentro do mesmo caso.

Entendendo as agregações de casos

No Process Mining, um caso representa uma única instância de um processo, como um pedido, um chamado ou uma jornada de cliente. Cada caso contém vários eventos, que são as etapas ou atividades individuais.

As funções de agregação de casos calculam valores em todos os eventos de um caso, disponibilizando o resultado em cada evento. Isso permite que você:

  • Calcule valores totais de um caso, como o valor total do pedido
  • Encontre padrões dentro dos casos, como a quantidade de eventos de retrabalho
  • Compare eventos individuais com estatísticas no nível do caso

Padrões comuns

  • Calcular totais do caso:

    caseSum(ItemAmount)           // Total order value
    caseCount()                   // Number of events in case
    caseCountDistinct(Resource)   // Unique resources involved
  • Encontrar extremos:

    caseMin(Timestamp)            // First event time
    caseMax(Timestamp)            // Last event time
    caseMax(Timestamp) - caseMin(Timestamp)   // Total case duration
  • Agregações condicionais:

    caseCountIf(Status == "Error")            // Error count
    caseSumIf(Amount, Activity == "Payment")  // Total payments
    caseAvgIf(Duration, Activity == "Review") // Avg review time
  • Comparar evento com caso:

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

caseSum

(attribute)

Soma um atributo numérico de todos os eventos do caso atual.

Parâmetros
attribute number O atributo a ser somado
Retorno número
Exemplos
caseSum(ItemAmount) Total de todos os valores de ItemAmount no caso

caseAvg

(attribute)

Calcula a média de um atributo numérico de todos os eventos do caso atual.

Parâmetros
attribute number O atributo cuja média será calculada
Retorno número
Exemplos
caseAvg(ProcessingTime) Tempo médio de processamento por evento

caseMin

(attribute)

Retorna o valor mínimo de um atributo em todos os eventos do caso atual.

Parâmetros
attribute number O atributo cujo mínimo você quer obter
Retorno número
Exemplos
caseMin(ItemPrice) Menor preço no caso

caseMax

(attribute)

Retorna o valor máximo de um atributo em todos os eventos do caso atual.

Parâmetros
attribute number O atributo cujo máximo você quer obter
Retorno número
Exemplos
caseMax(ItemPrice) Maior preço no caso

caseCount

()

Retorna o número de eventos no caso atual.

Retorno número
Exemplos
caseCount() Número de eventos no caso

caseMedian

(attribute)

Retorna o valor mediano de um atributo em todos os eventos do caso atual.

Parâmetros
attribute number O atributo cuja mediana você quer obter
Retorno número
Exemplos
caseMedian(Duration) Valor mediano de Duration no caso

caseCountDistinct

(attribute)

Conta os valores distintos de um atributo no caso atual.

Parâmetros
attribute any O atributo cujos valores distintos você quer contar
Retorno número
Exemplos
caseCountDistinct(Resource) Número de recursos únicos no caso

caseStdDev

(expr)

Calcula o desvio padrão entre os eventos do caso.

Parâmetros
expr number Expressão de valor
Retorno número
Exemplos
caseStdDev(Amount) Desvio padrão no caso

caseSumIf

(attribute, condition)

Soma os valores apenas dos eventos que atendem a uma condição.

Parâmetros
attribute number O atributo a ser somado
condition boolean A condição usada no filtro
Retorno número
Exemplos
caseSumIf(Amount, Status == "Approved") Soma de Amount quando Status é Approved

caseAvgIf

(attribute, condition)

Calcula a média dos valores apenas dos eventos que atendem a uma condição.

Parâmetros
attribute number O atributo cuja média será calculada
condition boolean A condição usada no filtro
Retorno número
Exemplos
caseAvgIf(Duration, Activity == "Review") Duração média das atividades Review

caseCountIf

(condition)

Conta os eventos que atendem a uma condição no caso atual.

Parâmetros
condition boolean A condição a ser contada
Retorno número
Exemplos
caseCountIf(Status == "Error") Número de eventos de erro no caso

caseMinIf

(attribute, condition)

Retorna o valor mínimo dos eventos que atendem a uma condição.

Parâmetros
attribute number O atributo cujo mínimo você quer obter
condition boolean A condição usada no filtro
Retorno número
Exemplos
caseMinIf(Timestamp, Activity == "Start") Timestamp da primeira atividade Start

caseMaxIf

(attribute, condition)

Retorna o valor máximo dos eventos que atendem a uma condição.

Parâmetros
attribute number O atributo cujo máximo você quer obter
condition boolean A condição usada no filtro
Retorno número
Exemplos
caseMaxIf(Timestamp, Activity == "End") Timestamp da última atividade End

Agregações cumulativas

As agregações cumulativas calculam valores acumulados até o evento atual, incluindo-o. À medida que você percorre cronologicamente os eventos de um caso, o valor acumulado é atualizado.

Isso é útil para:

  • Acompanhar totais acumulados, como uma soma progressiva
  • Identificar a posição do evento, como uma contagem progressiva
  • Calcular médias móveis

Padrões de agregação cumulativa

  • Totais acumulados: acompanhe como um valor se acumula ao longo do caso:

    caseRunningSum(ItemAmount)   // Cumulative order total at each event
    Evento Valor caseRunningSum(Amount)
    1 100 100
    2 50 150
    3 75 225
  • Posição do evento: identifique onde um evento aparece na sequência do caso:

    caseRunningCount()   // 1, 2, 3, 4...
  • Média móvel: calcule a média até o ponto atual:

    caseRunningAvg(Duration)   // Average duration so far
  • Lógica baseada em posição:

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

caseRunningSum

(attribute)

Calcula a soma acumulada até o evento atual, incluindo esse evento.

Parâmetros
attribute number O atributo a ser somado
Retorno número
Exemplos
caseRunningSum(ItemAmount) Total acumulado em cada evento

caseRunningCount

()

Retorna o número do evento no caso, começando em 1.

Retorno número
Exemplos
caseRunningCount() Posição do evento: 1, 2, 3, ...

caseRunningAvg

(attribute)

Calcula a média acumulada até o evento atual, incluindo esse evento.

Parâmetros
attribute number O atributo cuja média será calculada
Retorno número
Exemplos
caseRunningAvg(Duration) Duração média até este ponto

caseRunningMin

(expr)

Calcula o mínimo acumulado até o evento atual.

Parâmetros
expr number Expressão de valor
Retorno número
Exemplos
caseRunningMin(Amount) Valor mínimo acumulado

caseRunningMax

(expr)

Calcula o máximo acumulado até o evento atual.

Parâmetros
expr number Expressão de valor
Retorno número
Exemplos
caseRunningMax(Amount) Valor máximo acumulado

Funções estatísticas

Funções estatísticas para analisar a distribuição dos valores dentro de um caso.

  • Percentis: descubra onde um valor se encontra em relação aos demais no caso. Informe o percentil como uma fração de 0 a 1, de modo que 0.9 represente o percentil 90:

    casePercentile(Duration, 0.5)   // Median duration in this case
    casePercentile(Duration, 0.9)   // 90th percentile
  • Variância: meça o quanto os valores estão dispersos:

    caseVariance(Amount)           // Variation within this case

casePercentile

(attribute, percentile)

Calcula o percentil de um atributo no caso atual.

Parâmetros
attribute number O atributo a ser analisado
percentile number O percentil como uma fração de 0 a 1 (0,9 = 90º percentil)
Retorno número
Exemplos
casePercentile(Duration, 0.9) Duração no percentil 90 do caso

caseVariance

(attribute)

Calcula a variância de um atributo no caso atual.

Parâmetros
attribute number O atributo a ser analisado
Retorno número
Exemplos
caseVariance(ProcessingTime) Variância dos tempos de processamento no caso

Tópicos relacionados