Nesta página

Funções de agregação por caso

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

Entenda as agregações por caso

Em Process Mining, um caso representa uma única instância de um processo (por exemplo, um pedido, um chamado ou a jornada de um cliente). Cada caso contém vários eventos (as etapas ou atividades individuais).

As funções de agregação por caso calculam valores de todos os eventos de um caso e disponibilizam o resultado em cada evento. Assim, você pode:

  • Calcular o valor total de um caso (por exemplo, o valor total de um pedido)
  • Encontrar padrões nos casos (por exemplo, contar eventos de retrabalho)
  • Comparar eventos individuais com estatísticas 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 Atributo a somar
Retorno número
Exemplos
caseSum(ItemAmount) → Soma 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 Atributo para calcular a média
Retorno número
Exemplos
caseAvg(ProcessingTime) → Tempo médio de processamento por evento

caseMin

(attribute)

Retorna o menor valor do atributo entre todos os eventos do caso atual.

Parâmetros
attribute number Atributo cujo menor valor será retornado
Retorno número
Exemplos
caseMin(ItemPrice) → Menor preço no caso

caseMax

(attribute)

Retorna o maior valor do atributo entre todos os eventos do caso atual.

Parâmetros
attribute number Atributo cujo maior valor será retornado
Retorno número
Exemplos
caseMax(ItemPrice) → Maior preço no caso

caseCount

()

Retorna a quantidade de eventos no caso atual.

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

caseMedian

(attribute)

Retorna o valor mediano do atributo entre todos os eventos do caso atual.

Parâmetros
attribute number Atributo cuja mediana será retornada
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 Atributo cujos valores distintos serão contados
Retorno número
Exemplos
caseCountDistinct(Resource) → Quantidade de recursos únicos no caso

caseStdDev

(expr)

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

Parâmetros
expr number Expressão do 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 Atributo a somar
condition boolean Condição de filtro
Retorno número
Exemplos
caseSumIf(Amount, Status == "Approved") → Soma de Amount quando Status é Aprovado

caseAvgIf

(attribute, condition)

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

Parâmetros
attribute number Atributo para calcular a média
condition boolean Condição de filtro
Retorno número
Exemplos
caseAvgIf(Duration, Activity == "Review") → Duração média das atividades de Review

caseCountIf

(condition)

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

Parâmetros
condition boolean Condição para contar
Retorno número
Exemplos
caseCountIf(Status == "Error") → Quantidade de eventos com erro no caso

caseMinIf

(attribute, condition)

Retorna o menor valor entre os eventos que atendem a uma condição.

Parâmetros
attribute number Atributo cujo menor valor será retornado
condition boolean Condição de filtro
Retorno número
Exemplos
caseMinIf(Timestamp, Activity == "Start") → Data e hora do primeiro evento Start

caseMaxIf

(attribute, condition)

Retorna o maior valor entre os eventos que atendem a uma condição.

Parâmetros
attribute number Atributo cujo maior valor será retornado
condition boolean Condição de filtro
Retorno número
Exemplos
caseMaxIf(Timestamp, Activity == "End") → Data e hora do último evento End

Agregações acumuladas

As agregações acumuladas calculam valores cumulativos até o evento atual, incluindo-o. À medida que você percorre os eventos de um caso em ordem cronológica, o valor acumulado é atualizado.

Isso é útil para:

  • Acompanhar totais acumulados (soma acumulada)
  • Identificar a posição do evento (contagem acumulada)
  • Calcular médias móveis

Padrões de agregação acumulada

  • 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 a posição de um evento 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 na posição:

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

caseRunningSum

(attribute)

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

Parâmetros
attribute number Atributo a somar
Retorno número
Exemplos
caseRunningSum(ItemAmount) → Total acumulado em cada evento

caseRunningCount

()

Retorna a posição 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-o.

Parâmetros
attribute number Atributo para calcular a média
Retorno número
Exemplos
caseRunningAvg(Duration) → Duração média acumulada até este ponto

caseRunningMin

(expr)

Calcula o menor valor acumulado até o evento atual.

Parâmetros
expr number Expressão do valor
Retorno número
Exemplos
caseRunningMin(Amount) → Menor valor acumulado de Amount

caseRunningMax

(expr)

Calcula o maior valor acumulado até o evento atual.

Parâmetros
expr number Expressão do valor
Retorno número
Exemplos
caseRunningMax(Amount) → Maior valor acumulado de Amount

Funções estatísticas

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

  • Percentis: descubra a posição de um valor em relação aos demais no caso. Informe o percentil como uma fração de 0 a 1. Por exemplo, 0.9 representa o percentil 90:

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

    caseVariance(Amount)           // Variation within this case

casePercentile

(attribute, percentile)

Calcula o percentil de um atributo no caso atual.

Parâmetros
attribute number Atributo a analisar
percentile number Percentil como fração de 0 a 1 (0.9 = percentil 90)
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 Atributo a analisar
Retorno número
Exemplos
caseVariance(ProcessingTime) → Variância dos tempos de processamento no caso

Tópicos relacionados

Melhore seus processos. Crie uma arquitetura conectada. Mantenha o controle.

Acesse na hora, sem cartão de crédito nem espera. Transforme a forma como sua organização trabalha em modelos de processo claros e conectados.

Crie sua arquitetura de processos, defina responsabilidades e controles e alinhe papéis e atribuições em todos os níveis.

Comece o teste grátis e crie uma base confiável para governar, gerenciar e melhorar seus processos continuamente.