Saltar al contenido principal

Visión general

Cada ejecución (Run) de simulación en ProDex produce un conjunto completo de resultados: resúmenes de KPI, gráficos y un registro detallado de eventos (Events). Los resultados se almacenan permanentemente y pueden compararse entre ejecuciones o exportarse para reportes. Cada página de Resultados es también la superficie de lanzamiento para barridos de semillas de Monte Carlo en la configuración actual y para el Simulation Event Log — ambos accesibles desde la barra superior sin salir de la página. La página de Resultados está alcanzada a una sola ejecución. Para comparación entre ejecuciones, ver Experimentos (Experiments). Para paneles (Dashboards) duraderos y transversales que no están atados a una ejecución, ver Hallazgos (Insights). Para análisis estadístico a través de muchas semillas de una configuración, ver Monte Carlo.

KPIs

Los KPIs (Indicadores Clave de Desempeño) son métricas resumen computadas de la salida de la simulación. Se definen en tu modelo (Model) y se computan automáticamente después de cada ejecución.

Tipos de KPI

KPIs numéricos retornan un solo número, opcionalmente con un sufijo de unidad (por ejemplo, “units/hr”, “min”) y una pista de color para visualización en panel. KPIs de texto retornan una etiqueta corta (1–3 palabras) — útil para indicadores de estado como factibilidad o clasificación de ejecución.

Autoría e inspección de KPIs

Los resultados de KPI aparecen como tarjetas en la parte superior de la página de Resultados. Pasar el cursor sobre una tarjeta revela un único menú kebab en la esquina superior derecha con dos elementos:
  • View source code — abre un modal mostrando la definición completa del KPI: un encabezado de fórmula en una caja tintada (por ejemplo “Lead time = 1/n ∑ (Terminate time − Create time)”), una descripción en lenguaje natural y el DuckDB SQL subyacente con resaltado de sintaxis.
  • Delete — elimina el KPI del modelo.
La pieza punteada + Create KPI abre un diálogo de Dexter titulado Create KPI con el subtítulo “Describe the metric you want to track and the AI will build it.” y una sola área de texto (placeholder: “e.g. average lead time, completed orders, or utilization of Station A”). El diálogo tiene botones Cancel y Create. Describe la métrica en lenguaje natural y Dexter escribe el SQL contra los dataframes disponibles y guarda el KPI de vuelta al modelo. Los KPIs no se crean manualmente — el camino de Dexter es el flujo de autoría soportado.

Gráficos y visualizaciones

Los gráficos se definen en tu modelo y se renderizan automáticamente desde la salida de la ejecución. ProDex soporta trece tipos de gráficos en el selector Add Chart:
TipoCaso de uso
LineSeries temporales — rendimiento (Throughput) en el tiempo, longitud de cola en el tiempo
AreaIgual que línea pero con área rellena
Stacked AreaÁrea rellena mostrando contribuciones de componentes en el tiempo
BarComparaciones entre categorías
Stacked BarBarras descompuestas en sub-categorías apiladas
PieDesgloses parte-a-todo
ScatterCorrelación entre dos variables
HistogramDistribución de una métrica a través de eventos
HeatmapCuadrícula 2D con intensidad de color — por ejemplo, utilización por recurso (Resource) y turno
GanttVisualización de línea de tiempo de trabajos
TableSalida de datos tabular
Box PlotDispersión estadística (mín, cuartiles, máx) a través de múltiples ejecuciones
MixedGráfico combinado (por ejemplo, barras + una línea de tendencia en el mismo eje)
Los gráficos en una Ejecución son instantáneas estáticas, no consultas en vivo. Los datos de cada gráfico se computan una vez y se comprometen cuando termina la ejecución — el gráfico no se actualiza si re-ejecutas las consultas subyacentes en otro lugar o si el modelo cambia. Para recoger cambios, pídele a Dexter que regenere el gráfico, o abre una ejecución fresca.
La pieza punteada + Create chart abre un diálogo de Dexter titulado Create chart con el subtítulo “Describe the chart you want and the AI will build it.”, más un menú desplegable Chart type que por defecto es Any (optional) — déjalo tal cual y Dexter elige el tipo, o ánclalo a un tipo específico. Describe el gráfico que quieres y Dexter escribe la consulta subyacente, elige el tipo correcto si no lo hiciste, y guarda el gráfico de vuelta al modelo. Como los KPIs, los gráficos se crean a través de Dexter en lugar de un editor manual.

Acciones por gráfico

Pasar el cursor sobre un gráfico revela dos íconos en la esquina superior derecha: un ícono de expandir (izquierda) y un menú kebab (derecha). El menú kebab tiene tres elementos en modo gráfico para cada tipo de gráfico: View source code → Download chart → Delete. Cuando un gráfico está actualmente mostrando su código fuente (después de hacer clic en View source code), el primer elemento del menú cambia a Show chart para que puedas regresar al gráfico renderizado. View source code reemplaza el renderizado del gráfico con un panel de explicación de tres partes:
  1. Un encabezado de fórmula en una caja tintada — por ejemplo Cumulative throughput(h) = ∑ Units exited in hour i
  2. Un párrafo de descripción en lenguaje natural de qué mide el gráfico y cómo se computa
  3. El DuckDB SQL real que produjo el gráfico, con resaltado de sintaxis — consulta completa WITH / SELECT, joins, funciones de ventana y todo
Esto es por diseño — cada gráfico es completamente trazable desde el visual renderizado de vuelta al SQL, en la misma vista, sin salir de la página. Es la superficie canónica de “¿de dónde vino este número?”. Download chart exporta el gráfico como una imagen (distinto del Export PDF a nivel de página). Delete elimina el gráfico del modelo inmediatamente (sin prompt de confirmación). El ícono de expandir abre un modal de pantalla completa con el gráfico a la izquierda y el panel de código fuente (fórmula + descripción + SQL) embebido a la derecha — para que no tengas que cambiar entre modos para ver ambos. El encabezado del modal tiene íconos Download chart y Delete en la parte superior derecha junto al cerrar (X).

Consultando datos de simulación

Por debajo, los KPIs y gráficos no son paneles preconfigurados — están respaldados por consultas DuckDB SQL contra tablas detalladas de eventos de simulación. Después de cada ejecución, ProDex puebla un conjunto de dataframes que capturan eventos de ciclo de vida de entidades, actividad de procesos, actividad de recursos y más. Los KPIs y gráficos son consultas que extraen y agregan de esas tablas. Esto tiene una consecuencia práctica: la plataforma puede responder cualquier pregunta que los datos de eventos soporten, no solo las que alguien anticipó al momento de diseñar el modelo. Una pregunta como “muéstrame el tiempo de ciclo del percentil 95 para órdenes urgentes que pasaron por el ciclo de retrabajo en el turno de la tarde” está a una consulta SQL de distancia — no necesitas un panel pre-construido para ella. Dexter escribe esas consultas en tu nombre cuando describes la métrica que quieres.

Dataframes disponibles

Cada ejecución produce los siguientes dataframes, identificados por su nombre exacto en snake_case (estos son también los nombres de tabla que usas en SELECT FROM en DuckDB SQL). Los nombres de columna son exactos y sensibles a mayúsculas — consulta contra ellos directamente.
DataframeQué responde
entity_lifecycleCiclo de vida de la entidad: cuándo entró cada entidad al sistema, a dónde fue, cuánto tiempo pasó en cada componente, cuándo terminó. La fuente principal para rendimiento, tiempo de ciclo y métricas basadas en flujo.
entity_movementsSeguimiento de movimiento componente-a-componente con marcas de tiempo. Cada vez que una entidad transita de un componente a otro, se registra aquí. Usado para análisis de flujo y para reconstruir la ruta de entidades específicas.
process_activityDetalle a nivel de proceso: cuándo cada proceso inició, completó o se bloqueó; qué entidad fue procesada; cuánto tomó el procesamiento. La fuente para utilización de procesos y análisis de cuellos de botella.
resource_activityUtilización de recursos en el tiempo: cuándo cada recurso fue adquirido, liberado o tuvo su capacidad cambiada. La fuente para gráficos de utilización de recursos y análisis de sobre/sub-capacidad.
buffer_activityNiveles de búfer (Buffer) en el tiempo: cuándo entidades entraron y salieron de cada búfer, profundidad de cola, cola máxima observada. Fuente para métricas de WIP y longitud de cola.
station_activitySeguimiento de capacidad a nivel de estación (Station): ocupación de ranuras, cuándo la capacidad fue tomada y liberada, a qué linaje de entidad pertenece cada ranura. Esencial para depurar bloqueo de estación.
entity_attributes_lookupTabla de referencia deduplicada de cada combinación distinta de atributos que una entidad llevó durante la ejecución — indexada para que puedas unir desde entity_lifecycle y segmentar métricas por atributo (por ejemplo, “tiempo de ciclo por tipo de producto”).
component_lookupDatos de referencia estáticos sobre componentes en el modelo — tipos, nombres, membresía en estación. Usado para resolver IDs de componente a nombres legibles en resultados de consulta.
metadataMetadatos a nivel de ejecución — identificadores de modelo, referencia de calendario (Schedule), duración y otras propiedades de nivel superior de la ejecución. Usado para filtrar y agrupar consultas a través de ejecuciones.
Los siguientes cuatro dataframes son condicionales — solo existen cuando el modelo ejercita la característica correspondiente:
DataframePresente cuando
schedule_definitionLa ejecución fue impulsada por un calendario.
event_lookupEl modelo declara event hooks o listeners. Un registro estático de cada nombre de evento que el modelo emite — nombres, componentes fuente y contextos de disparador. Une desde topic_activity o state_variable_activity para resolver disparos en tiempo de ejecución de vuelta a sus definiciones de evento.
topic_activityAl menos una emisión de tópico se disparó durante la ejecución.
state_variable_activityAl menos una asignación de variable de estado se disparó durante la ejecución. Fuente para métricas impulsadas por estado (estado de turno, contador WIP actual, niveles de inventario).

Trabajando con los datos

En la práctica, aquí es donde Dexter brilla. Describe la métrica que quieres en lenguaje natural y Dexter escribe la consulta SQL, la ejecuta y responde directamente o guarda el resultado como un nuevo KPI o gráfico. Dexter conoce los esquemas y nombres de columna; tú no tienes que memorizarlos. Para usuarios avanzados rastreando consultas directamente, entender qué dataframe responde qué pregunta es la habilidad clave. Una pregunta sobre flujo (“¿cuántas unidades pasaron?”) vive en Entity Lifecycle; una pregunta sobre contención (“¿qué tan ocupado estuvo el CNC?”) vive en Resource Activity; una pregunta sobre bloqueo de ensamble vive en Station Activity.

Resultados de ejecución única

Cuando abres una Ejecución, la página está dispuesta como:
  • Barra superior (izquierda → derecha): flecha hacia atrás, nombre del modelo, nombre de la ejecución, separador, fecha de la ejecución, ícono de basura (elimina la ejecución). El nombre de la ejecución es editable en línea — haz clic en él para ponerlo en modo de edición, luego presiona Enter para guardar o Escape para cancelar.
  • Acciones de la barra superior (lado derecho): Simulation Event Log, Export PDF, Monte Carlo.
  • Tarjetas de KPI en la parte superior del área principal, cada una revelando un menú kebab al pasar el cursor (View source code / Delete).
  • Gráficos en el área principal, cada uno con un ícono de expandir y un menú kebab al pasar el cursor (ver Acciones por gráfico).
  • Una pestaña vertical de riel AI Assistant anclada al borde derecho del viewport — hacer clic en ella vuelve a abrir el panel de chat de Dexter.
Cuando cambias a la vista Monte Carlo (siguiente sección), la barra superior colapsa a: flecha hacia atrás, nombre del modelo, separador, “Monte Carlo”. Desde el estado vacío (sin ejecuciones MC aún), un botón centrado Run Monte Carlo abre el modal Monte Carlo Simulation. Una vez que existen ejecuciones de Monte Carlo, la barra superior refleja el resumen de la ejecución.

Simulation Event Log

El Simulation Event Log se abre como un cajón deslizable del lado derecho. El encabezado del cajón tiene el título Simulation Event Log a la izquierda y un botón Export (con ícono de descarga) más un cerrar (X) a la derecha. Una entrada de búsqueda en la parte superior filtra filas en su lugar (placeholder “Search…”). Cada fila lee time | queue/area | event (por ejemplo 12:00:00 710-to-I-Test Staging Area Tube created) e incluye tanto eventos de flujo (entity created, process started, entity routed, etc.) como cada disparo de event hook. Usa el Event Log para depurar comportamiento dirigido por eventos, validar decisiones de enrutamiento o confirmar que las acciones programadas se dispararon cuando se esperaba. El botón Export produce una exportación tabular de la traza; para el reporte narrativo pulido incluyendo KPIs y gráficos, usa Export PDF en su lugar.

Monte Carlo

La simulación Monte Carlo corre la misma configuración N veces con diferentes semillas aleatorias y reporta la distribución de resultados en lugar de un solo número — media, desviación estándar, percentiles y una banda de confianza en cada gráfico. Esa es la diferencia entre “el rendimiento es 847 unidades/día” y “el rendimiento es 847 ± 23, con un percentil 95 de 891”. ProDex expone Monte Carlo en dos lugares, dependiendo de la pregunta que estés haciendo:
  • Monte Carlo de ejecución única. El botón Monte Carlo en la barra superior de Resultados cambia la página a la vista Monte Carlo. Desde el estado vacío, haz clic en el botón centrado Run Monte Carlo para abrir el modal Monte Carlo Simulation — título “Monte Carlo Simulation”, subtítulo “Run multiple simulations with randomized parameters to analyze statistical variation in results.”, una entrada N Runs (predeterminado 100; texto de ayuda “Number of simulation seeds (1–1,024)”) y un botón Run Simulation con un ícono de reproducir. Barre semillas para la configuración actual solamente — úsalo para cuantificar qué tan sensible es una sola Instantánea (Snapshot) a la aleatoriedad antes de decidir si vale la pena compararla contra alternativas.
  • Monte Carlo por Instantánea dentro de un experimento. Dentro de un Experimento, dispara Monte Carlo en la página de Ejecución individual de cada Instantánea cuando quieras tanto comparación entre Instantáneas como intervalos de confianza por Instantánea.
Para la mayoría de los modelos, 100 semillas dan un buen balance de confiabilidad estadística y tiempo de ejecución. Sube a 200+ cuando te importen las métricas de cola (P95/P99) — las colas necesitan más muestras para estabilizarse. El máximo duro es 1,024 por lote.

Comparando Instantáneas

La sección Experimentos es donde vive la comparación estructurada entre configuraciones. Un Experimento es un conjunto de Instantáneas agregadas a una comparación; la vista coloca KPIs lado a lado, superpone distribuciones cuando Monte Carlo está activo, y te permite profundizar en los resultados detallados de ejecución de cualquier Instantánea. Para inspección ad-hoc de Ejecuciones pasadas sin configurar un experimento, ábrelas individualmente desde la lista Runs.

Descargando resultados

ProDex soporta varios caminos de exportación:
  • PDF — el botón Export PDF de la barra superior en cualquier página de Resultados (ejecución única o Monte Carlo) produce un reporte pulido y con marca conteniendo resúmenes de KPI, gráficos y narrativa autorada por Dexter. El mismo artefacto también puede ser solicitado desde Dexter conversacionalmente (“Genera un resumen PDF de esta ejecución”) cuando quieras adaptar lo que se incluye.
  • Exportación del event log — el cajón Simulation Event Log tiene su propio botón Export en el encabezado del cajón para la traza de eventos en bruto.
  • Imagen por gráfico — el menú kebab de cada gráfico tiene una acción Download chart que exporta el gráfico como una imagen, distinto del Export PDF.
  • Excel / CSV de KPIs y datos de gráfico — no hay una exportación Excel en la barra superior. Pídele a Dexter (“Exporta los resultados a Excel”) y Dexter lo generará desde los dataframes subyacentes.