Cómo realizar un análisis comparativo entre variantes de un proceso.
Lo normal en un proceso de negocio es que haya sido ejecutado de diferentes formas.
Para cada grupo de instancias podemos analizar y comparar el resultado obtenido.
Para realizar un análisis de variantes del proceso debemos partir el log de acuerdo con
algún atributo de los eventos.
Una vez identificado el criterio de partición, debemos aplicar las operaciones de filtrado
sobre el log para obtener diferentes variantes de proceso.
Ejemplo de dos filtros opuestos.
Un filtro de secuencia para obtener las variantes con un comportamiento normal y
esperado. En el cual, luego de realizar la solicitud de compra, se realiza la solicitud y luego
se crea la solicitud de cotización. Y por otro lado, un filtro de secuencia para obtener las
variantes anómalas o no esperadas. En las cuales no se analiza la solicitud de compra
antes de crear la solicitud de cotización.
Cada vez que se aplica un filtro se debe exportar el grupo de instancias resultantes para
poder hacer un análisis comparativo.
El flujo de proceso para el grupo normal esperado ejecuta más tareas, pero nos lleva a
finalizar el proceso con el resultado deseado.
El tiempo promedio de la variante norma es menor con respecto al de la variante
anómala. Si aplicamos un filtro de desempeño sobre el log completo, podemos aislar
aquellas ejecuciones que varían significativamente respecto a la duración promedio.
Al aislar y comparar las ejecuciones cuyo desempeño están por encima de la duración
promedio, podemos realizar las siguientes observaciones.
La variante más demorada involucra mayores tiempos para analizar la cotización y para
corregir los defectos en la tarea modificar solicitud de cotización.
La corrección de defectos genera retrabajo y, por lo tanto, mayor consumo de recursos,
costos y demoras en el proceso.
Es necesario automatizar la forma como se ejecuta la tarea crear solicitud de cotización,
tanto a nivel de información requerida como de soporte tecnológico. Para evitar tener que
corregir defectos y asumir demoras de diez semanas en la ejecución del proceso. Estas
observaciones nos permiten identificar en donde canalizar los esfuerzos de mejora del
proceso.
Si comparamos la perspectiva de recursos para los dos particiones generadas. Podemos
observar que la delegación de trabajo es mucho mayor en las ejecuciones lentas. Que
existe un cuello de botella en el recurso Franco de Perez. Por lo cual sería necesario
analizar la tasa de ocupación del recurso. Si está tomando el trabajo de otro recurso, entre
otras posibles causas.
Al comparar el comportamiento de cada partición en términos de cuellos de botella.
Podemos observar que el cuello de botella en el grupo de instancias lentas es mucho
mayor que el mismo cuello de botella en las instancias rápidas.
Cambia la escala de magnitud de días a semanas. El procedimiento para ejecutar la
actividad de analizar solicitud de cotización debe ser mejorado antes de automatizar el
proceso.
Las herramientas de minería de procesos cuentan además con un tablero de control para
analizar el desempeño global de los procesos.
Al seleccionar las dos variantes del proceso y realizar una comparación en el tablero de
control podemos, por ejemplo, contrastar las diferencias. En términos de la frecuencia de
ejecución, podemos observar que las tareas crear y analizar solicitud de cotización tienen
mayor frecuencia. En términos de duración, la tarea entregar servicios tiene mayor tiempo
promedio de duración en la variante lenta.
Al analizar los recursos asociados, observamos que el recurso llamado Kevin toma un
tiempo mucho mayor en llevar a cabo su trabajo, para los casos lentos. A partir de esta
información deberíamos aplicar análisis complementarios para llegar a la causa. Por
ejemplo, Identificar si el recurso está ocupado, si está reemplazando a otro recurso y
desde cuándo. Si necesita capacitación o identificar en qué más procesos participa.
Como entender las características de dos aproximaciones para la simulación de procesos.
A través de las cuales podemos generar variantes de proceso con cambios propuestos. Y
así evaluar las mejoras en el desempeño que tendría cada una de ellas.
Un modelo de simulación consiste en enriquecer el modelo de proceso. El cual describe la
secuencia de ejecución de las tareas con información que permite crear un modelo
ejecutable por un simulador de procesos.
El simulador de procesos es un entorno controlado donde se crean ejecuciones de prueba
o simulaciones. Para validar cómo se comportaría el desempeño del proceso, una vez se
ha ejecutado en un entorno real.
Un modelo de simulación, consta del modelo de proceso y parámetros de ejecución, tales
como. La periodicidad estimada para cada nueva ejecución, la duración de las actividades,
el tipo y cantidad de recursos que participan. La probabilidad de tomar caminos
alternativos, el tiempo disponible y el costo de los recursos.
Una vez creado el modelo de simulación, este debe ser ejecutado en el simulador de
procesos. Para estimar el desempeño total que tendrá el proceso. Esto a partir de
información acerca del rendimiento regular en la ejecución de sus actividades.
El desempeño total está expresado en las métricas de tiempo, costo y utilización de
recursos asociadas al proceso.
Los modelos de simulación de procesos además nos permiten definir escenarios what-if.
Los cuales ayudan a identificar el desempeño esperado del proceso a partir de cambios de
mejora propuestos.
Por ejemplo, si creamos un escenario what-if en el cual cambiamos el flujo de secuencia
para realizar tareas en paralelo. Sin que genere dependencia entre ellas, podemos
observar que el desempeño en el tiempo de ciclo. Mejora sustancialmente, pasando de 1
hora a 42 minutos.
Una vez identificada esta configuración mejorada. Podemos pensar en automatizarla
usando diferentes herramientas de ejecución de procesos como sistemas de workflow,
RPA, entre otros.
De esta forma, se invierte en automatizar la eficiencia de un proceso, y por ende, el
desempeño del negocio.
Para crear escenarios de simulación, podemos pensar en cambios a diferentes niveles en
el proceso. Como por ejemplo, eliminar tareas que no adicionan valor y pueden ser
aisladas. Reducir y automatizar las tareas de verificación y aprobación que son ejecutadas
de forma manual. Componer tareas que pueden ser realizadas por un mismo recurso.
Cuando utilizamos una aproximación tradicional el analista debe configurar manualmente
los parámetros del modelo de simulación. Tales como la periodicidad en cada nueva
ejecución. La duración de las actividades, el tipo y cantidad de recursos que participan. La
probabilidad de tomar caminos alternativos, el tiempo disponible y el costo de los
recursos.
Cuando utilizamos una aproximación basada en datos, el modelo de simulación se
descubre automáticamente. A partir de los datos de ejecución del proceso. Existen
métodos y herramientas que usan técnicas de inteligencia artificial. Las cuales permiten
extraer automáticamente tanto el modelo de proceso. Como los parámetros de
simulación a partir del Log de eventos.
Simod. Es una herramienta la cual es producto de nuestra investigación y permite generar
los modelos de simulación a partir del Log de eventos. Para luego ejecutar las
simulaciones en simuladores existentes. En esta aproximación, la creación y ajuste de los
modelos de simulación es mucho más rápida. Y permite escalar la cantidad y calidad de
escenarios what-if que quieren ser validados por el negocio para mejorar el proceso.
Cuando utilizamos técnicas de simulación de procesos basada en datos. Podemos
comparar el desempeño de un conjunto de variantes de proceso. Y de esta forma definir
la mejor configuración para la ejecución del proceso. Esto además, facilita la adaptación y
evolución continua de los procesos. En respuesta a cambios en los servicios y tecnologías
que habilita el negocio.
La fiabilidad de una simulación depende en gran medida de la precisión de los datos
usados como como entrada. Por esta razón, el Log de eventos nos permite obtener los
datos de observaciones reales. Y por ende, mayor precisión en las estimaciones de
desempeño.
¿En qué consiste la simulación de procesos?
Un modelo de simulación de procesos de negocio en su forma más sencilla consiste de
nodos-actividades y compuertas de decisión que están interconectadas por flujos de
secuencias. Una compuerta “Split” o de división tiene varios flujos de salida, a diferencia
de una compuerta exclusiva la cual únicamente ejecuta un camino de decisión de varios
disponibles. Los distintos flujos de ejecución de salida que las compuertas de decisión se
les conoce como: ramas o caminos condicionales
Además del mapa de procesos, los siguientes elementos:
1. El tiempo promedio inter-arribo y su función de probabilidad. E.g. un caso del proceso
de negocio es creado en promedio cada 10 segundos con una distribución exponencial
2. La distribución de probabilidad del tiempo de procesamiento de cada actividad. Por
ejemplo, el tiempo de procesamiento de una actividad puede seguir una distribución
normal con promedio de 20 minutos y una desviación estándar de 5 minutos, o una
distribución exponencial con un promedio de 10 minutos
3. Para cada compuerta de decisión del modelo de proceso, es necesario la probabilidad
para cada camino de ejecución o camino condicional
4. El pool de recursos que es responsable de ejecutar cada actividad en el proceso de
negocio. Por ejemplo, en un proceso de reclamos de seguros, un posible pool de recursos
sería el personal de soporte o servicio al cliente. Cada pool tiene un tamaño (e.g. cantidad
de personas que hacen parte de servicio al cliente)
5. El horario o timetable (tabla de tiempos) para cada pool de recursos, indicando los
periodos de tiempos durante los cuales cada recurso está disponible para realizar las
actividades del proceso (e.g. Lunes-Viernes desde las 9am hasta las 5pm)
Un modelo de procesos de simulación consiste de los elementos previamente
mencionado los cuales pueden ser ejecutados utilizando un simulador de eventos
discretos. La simulación de un modelo de procesos tiene como resultado un log de
simulación, el cual contiene la ejecución de las trazas o instancias generadas, y las
distintas métricas de ejecución (tiempo de ciclo, tiempo de procesamiento, tiempo de
espera, utilización de recursos, entre otros)
Características de la Simulación basada en datos (Data-driven)
se refiere a realizar actividades o procesos que se basan en el uso de datos, opuesto a
estar basado en la intuición o experiencia. Orientado a datos implicada que las decisiones
tomadas en algún ámbito son basadas enteramente en evidencia empírica y no
especulaciones. De esta forma, se describe el proceso de toma de decisiones recolectando
datos los cuales conllevan a obtener parámetros de simulación como, por ejemplo, tiempo
de duración estimado de actividades, tiempos inter-arribo, utilización de recursos,
timetables, entre otros. Finalmente, se utiliza esta información recopilada para hacer
inferencias y configuración de modelos de procesos los cuales influyen en la toma de
decisiones.
Por lo tanto, la simulación basada en datos tiene gran relación con las técnicas de Minería
de procesos con el fin de descubrir semi-automáticamente modelos de simulación
basados en información real y registrada durante la ejecución del proceso. Es así como se
puede llegar a un primer modelo de simulación de forma más rápida que en las técnicas
de simulación tradicional. En adición, es positivo poder representar la realidad de forma
objetiva. Típicamente, se pueden encontrar sistemas que registran los eventos con las
actividades realizadas e.g. event logs. Estos logs de eventos son el punto de partida para
las técnicas de minería de procesos, que, por ejemplo, construyen el modelo del proceso
de negocio el cual refleja la relación causal entre las actividades observadas.
1. Compuerta AND: Durante el flujo de ejecución se toman ambos caminos (actividad B y
C) y únicamente se ejecuta la actividad D cuando B y C se han ejecutado correctamente
2. Compuerta XOR: Durante el flujo de ejecución se toma únicamente un camino
(actividad B o C) y se ejecuta la actividad D cuando B o C se han ejecutado correctamente
Una vez el negocio tiene construido el modelo de simulación base, es posible definir
escenarios What-if, los cuales ayudan a identificar el desempeño esperado del proceso, a
partir de cambios de mejora propuestos.
Podemos descubrir de forma instantánea su modelo de simulación a partir del log de
eventos. De esta forma, el negocio se puede enfocar en explotar las capacidades de
analítica descriptiva.
podemos observar un tiempo de procesamiento promedio estimado de 3,16 días, un
estimado de tiempo de espera de 1 hora, una tasa en promedio utilización de recursos del
50 por ciento. Estas métricas de desempeño son cercanas a las métricas obtenidas en el
log de eventos.
Nuestro primer escenario What-if consiste en agrupar los recursos en roles, los cuales
corresponden a las distintas áreas que hacen parte del proceso. Para ello, el primer paso
consiste en configurar los parámetros del modelo de simulación.
En este caso agrupamos los recursos en seis roles para tener un pool de recursos por área
del proceso y no generar dependencias en la ejecución de sus actividades.
Asignando un robot creado usando RPA.
El análisis comparativo de desempeño busca minimizar la problemática de tener
resultados de procesos inciertos y variables. Luego de haber explorado diferentes
métodos y herramientas para aplicar analítica de procesos, podemos concluir con algunas
aplicaciones en su entorno empresarial.
Al usar analítica de procesos, podemos validar la experiencia de usuario real, al descubrir
las interacciones del cliente con el negocio.
Habilitar servicios de auditoria para evaluar los riesgos y la conformidad entre procesos
predefinidos y los realmente ejecutados.
Identificar los procesos prioritarios sobre los cuales desplegar nuevas tecnologías digitales.
Construir casos de negocio basado en hechos, entre otras aplicaciones que involucren las
capacidades de analítica descriptiva y diagnóstica que hemos venido discutiendo, tales
como: el descubrimiento automático de procesos, el análisis de desempeño y
conformidad, el análisis de variantes y la simulación basada en datos.
Cierre
Al usar analítica de procesos, podemos, por ejemplo: apoyar actividades de gobierno y
gestión de riesgos para descubrir ejecuciones que se desvían de acuerdos regulatorios;
mejorar la calidad de los resultados del proceso para optimizar las interacciones entre
actores; garantizar transparencia de responsabilidad y desempeño en la ejecución de los
procesos; aumentar la eficiencia y productividad, identificando oportunidades de
automatización en las ineficiencias; favorecer la agilidad en la transformación de procesos
al tener una vista real y actualizada de los cambios ejecutados en el proceso.
Otras aplicaciones que involucran las capacidades de analítica descriptiva y diagnóstica
que hemos venido discutiendo, tales como el descubrimiento automático de procesos, el
análisis de desempeño y conformidad, el análisis de variantes y la simulación basada en
datos, nos permiten:
Validar la experiencia de usuario real al descubrir las interacciones del cliente con el
negocio; habilitar servicios de auditoría para evaluar los riesgos y la conformidad entre los
procesos predefinidos y realmente ejecutados; identificar los procesos prioritarios sobre
los cuales desplegar nuevas tecnologías digitales; construir caso de negocio basado en
hechos, entre otras aplicaciones que seguramente lograron identificar.
La analítica de procesos es un subconjunto de la analítica de datos, en la cual observamos
una evolución en el tipo de modelos analíticos.
La analítica descriptiva y diagnóstica, la cual discutimos en este curso, nos permite el
descubrimiento automático de procesos y el monitoreo en la ejecución de los mismos.
La analítica predictiva permite identificar qué va a pasar para una instancia de proceso o
un grupo de instancias. Por ejemplo, los estados esperados del proceso, las salidas
esperadas, el instante de tiempo cuando ocurrirá un evento, entre otras propiedades.
La analítica prescriptiva permite recomendar acciones para la mejora de los procesos, por
ejemplo, para maximizar un indicador de desempeño.
En nuestro equipo de investigación, hemos desarrollado métodos y herramientas para:
predecir el resultado de un caso, por ejemplo, si se va a aceptar una solicitud o no;
predecir una medida de rendimiento, por ejemplo, cuánto tiempo va a tomar procesar un
reclamo; predecir eventos futuros, por ejemplo, quién lo ejecutaría y en qué momento.
Las preocupaciones principales a la hora de aplicar estos modelos predictivos y
prescriptivos están enfocadas en lograr la alta precisión en la predicción y un rendimiento
computacional adecuado. Otras herramientas prescriptivas que estamos desarrollando
buscan recomendar automáticamente acciones de mejora basada en predicciones sobre
el proceso. Por ejemplo, recomendar el cambio de asignación de recursos para manejar
un servicio del cliente que se estima va a tener retraso. De la misma forma, se podrían
recomendar automáticamente acciones para resultados probables del proceso, por
ejemplo, si el cliente se va a quejar o si el cliente no va a pagar. De esta forma, existe
agilidad para adaptar rápidamente el proceso a las necesidades de ejecución del negocio.
Los invito a seguir explorando y desarrollando las capacidades de analítica de procesos.
Gracias por explotar al máximo este curso.