Diccionario de conceptos
Conceptos básicos
Para comprender cabalmente los procesos de desarrollo en Ideasoft O3 Planner descritos, es necesario tener presentes algunas definiciones
- Ideasoft O3 Browser
- Ideasoft O3 Budgeting: es cualquier solución concreta de presupuestación (Estado de Resultados proyectado, Balance proyectado, Flujo de Caja proyectado, presupuesto de un departamento, etc.) edificada sobre la teconología Ideasoft O3 Planner.
- Ideasoft O3 Planner: es la plataforma tecnológica de simulación provista por Ideasoft. La misma tecnología puede ser utilizada para planificar la producción y para estimar la demanda.
Conceptos de simulación
Otros conceptos relevantes, referidos a simulación, se pueden encontrar en el diccionario que se proporciona a continuación:
Ayuda para el uso del diccionario
Al final de cada punto se presentan las opciones de SUBIR (conduce al inicio de esta página) y VOLVER AL ÍNDICE (conduce a la página inicial, en la que se encuentra el índice global).
1) Vista inicial de la aplicación web
Para trabajar con la aplicación web, el procedimiento es el siguiente:
Que la aplicación sea web implica que está instalada en un único servidor y se accede a ella a través de un navegador web. Para su acceso es necesario contar con acceso a una red.
- Ingresar a O3 Portal mediante un navegador web (por ejemplo, Internet Explorer o Mozilla).
- Abrir el navegador web
- Ingresar la URL http://<nombre máquina>:<puerto>/o3portal, siendo <nombre máquina>:<puerto> el nombre de la máquina y número de puerto donde se encuentra el servidor O3 (consulte al administrador de sistemas).
- Seleccionar el idioma en el que desee trabajar eligiendo una de las opciones presentadas en la última línea.
- Ingresar usuario y contraseña (consulte al administrador de sistemas)
- Presionar Enviar. Si el usuario y contraseña son válidos, el resultado es la lista de objetos de análisis y simuladores disponibles para dicho usuario, agrupados por secciones tales como "Data marts y Vistas", "Dashboards", "Scorecards" y "Simuladores".
- Puesta en funcionamiento de la aplicación web de un simulador.
- Ir a la sección Simuladores.
- Presionar sobre el nombre de la simulación. El resultado de esta acción es la puesta en funcionamiento de la aplicación web correspondiente.
2) Componentes
La simulación se estructura en componentes
Dichos componentes se nutren unos de otros a través de las dependencias.
En Zona de menú >> dependencias se puede observar un mapa de dependencia como el que se muestra en la siguiente figura.
Este es un ejemplo de un mapa de dependencias desarrollado para un modelo específico
Cada uno de los nodos de este mapa representa un componente, mientras que las flechas indican la toma de información. Por ejemplo, el componente Resultados toma para sus proyecciones los resultados de los componentes Ingresos, Costos y Gastos.
Un componente es la unidad básica de un modelo de simulación.
Consiste de:
(1) los elementos a simular
(2) el tiempo de la simulación
(3) las variables de simulación
- Los elementos a simular son caracterizados mediante atributos que son usados para la definición de las fórmulas de simulación de las variables de interés.
Asimismo, una vez calculada la simulación, los atributos estarán presentes para permitir la revisión y análisis del resultado de la simulación. Puede verse en un gráfico, calcularse el crecimiento estimado mes a mes, disgregarse por alguna dimensión, etc.
El simulador extraerá de las fuentes de datos los elementos a simular para realizar los cálculos.
- El tiempo de la simulación corresponde al período en que se simulan las variables. Es necesario conocer el momento de comienzo y fin de la simulación, y la escala que se manejará (por mes, por año, por semana)
- Las variables de simulación representan las medidas simuladas a partir de fórmulas o expresiones de cálculo. Son valores que interesa medir o dan contexto a la simulación.
3) Estado de cálculo y estado de cierre de un componente.
En el contexto de un escenario, un componente tiene asignado en todo momento un estado de cálculo y un estado de cierre.
Considerando el aspecto de cálculo, los estados posibles son: Calculado, No calculado y Necesita recálculo. El estado inicial es No calculado.
- Un componente en estado Calculado se simboliza con el ícono y representa que el último cálculo, de él y de todos sus componentes descendientes, fue exitoso.
- Un componente en estado No calculado se simboliza con el ícono y representa que o bien el último cálculo, de él y/o de sus componentes descendientes, fue fallido o bien que él nunca fue calculado.
- Un componente en estado _Necesita recálculo _ representa que algún dato que toma el escenario cambió o que algún componente del cual depende fue recalculado. En este caso la cruz que indica la necesidad de recálculo es de color negro.
Los íconos de calculado, no calculado y necesita recálculo, se pueden apreciar en el menú, junto con la lista de componentes, o en la propia descripción del componente.
Considerando el aspecto de cierre, los estados posibles son: Abierto y Cerrado. El estado inicial es Abierto.
- Un componente Abierto significa que el componente se encuentra disponible para ser modificado por los usuarios que posean los permisos de hacerlo (En este caso aparecerá con alguno de los íconos de estado de cálculo: calculado, no calculado, necesita recálculo).
- Un componente Cerrado significa que el componente no puede ser modificado. Los componentes de los cuales él depende también se encuentran en estado Cerrado y las versiones de los grupos de las cuales él depende también se encuentran en estado Cerrado. El componente tiene deshabilitada su acción de calcular.
Si el componente está cerrado y un usuario desea modificarlo debe primero volverlo a abrir, lo cual podrá hacer si cuenta con los permisos.
Para cerrar un componente es necesario primero calcularlo, o sea que no es posible cerrar un componente no calculado.
El ícono que representa que el componente está cerrado es un candado.
4) Data Mart
Un componente calculado tiene asociado un data mart conteniendo el resultado de la simulación.
Dimensiones: fecha, escenario y una dimensión por cada atributo de los elementos que se simularon.
Medidas = variables del componente
Este data mart puede ser manipulado desde un navegador (Internet Explorer, Mozilla Firefox) por lo que se puede trabajar conectándose desde cualquier ubicación.
5) Modelo de Simulación
Un modelo de simulación está definido por un conjunto de componentes, con dependencias de cálculo de unos a otros.
6) Escenario
El presupuesto dará distintos resultados según los datos de entrada que tome.
Cada combinación de datos de entrada distinta dará lugar a un escenario distinto del estado de resultados.
En otras palabras, un escenario es un posible estado de resultados futuro.
El usuario puede definir tantos escenarios como desee, la estructura del modelo (fórmulas, parámetros, variables, dependencias) será siempre la misma, mientras que los datos de entrada y los resultados irán variando para cada escenario.
En esta imágen se pueden apreciar dos escenarios, ambos respetan la misma estructura, pero difieren al menos en una versión de sus datos, por lo que sus salidas serán distintas.
Un escenario refiere a la ejecución de una simulación, una vez definidos todos los otros componentes podemos decir que se ha definido un escenario de simulación, si alteramos alguna de sus hipótesis, estamos generando otro escenario.
Los escenarios son usados para anticiparse al futuro respondiendo preguntas como: ¿Que pasará con mis resultados si el precio por minuto saliente a fijo sube en agosto un ...%? ¿Cómo cambiarán los ingresos y egresos si se incorpora el servicio de terminales aseguradas?, etc.
En resumen, permite obtener conclusiones a preguntas del tipo What If...?
Permite también plantearse distintos escenarios, oficial, optimista, pesimista, etc.
7) Estado de cálculo y estado de aprobación de un escenario
Un escenario tiene asignado en todo momento un estado de cálculo y un estado de aprobación.
Estados de aprobación: Borrador, Tentativo, Aprobado y Archivado. El estado inicial es Borrador.
- Un escenario en estado Borrador representa que la simulación está en elaboración. Tiene habilitadas todas las acciones de acuerdo al rol del usuario ingresado.
- Un escenario en estado Tentativo representa que su simulación está pronta pero requiere de una aprobación oficial por el encargado final de ello. Tiene Deshabilitada toda acción de calcular.
- Un escenario en estado Aprobado representa que la simulación está aprobada oficialmente. Un escenario aprobado tiene todos los componentes cerrados así como las versiones de los grupos del escenario. A su vez tiene deshabilitada toda acción de calcular así como la acción de abrir cualquier componente.
- Un escenario en estado Archivado se trata de un escenario que no tiene relevancia actual. Tiene deshabilitada toda acción de calcular y no se ve en el combo de escenarios en el menú.
Cuando el escenario se encuentra en estado borrador o tentativo, sus componentes pueden estar calculados o no.
Para aprobar el escenario es necesario que todos sus componentes estén calculados. Al aprobarlo se podrán ver candados en todos sus componentes y en todas las versiones de datos que éste toma.
8) Fuente de datos
Una fuente de datos puede ser no versionada o versionada.
Por su parte, una fuente de datos versionada permite que los datos que contiene pueden agruparse en distintas versiones. Un ejemplo de fuente de datos versionada puede ser el IPC. Las fuentes de datos versionadas pueden ser agrupadas en los llamados grupos. Este concepto permite controlar el nivel de complejidad que puede producirse al trabajar con: (1) una gran cantidad de fuentes de datos versionables y (2) una gran cantidad de escenarios para realizar simulaciones. Ver Grupo y Escenario.
9) Grupos de Datos
¿Cómo se conforma un escenario?
Cada escenario utiliza todas las tablas de datos. Lo que puede variar es la información contenida en las mismas.
Para facilitar el manejo de las hipótesis se introduce el concepto de grupos de datos: engloban conjuntos de tablas que evolucionan de manera interrelacionada.
En lugar de versionar las tablas cada una por separado, se versiona el grupo. Es decir, el escenario X se compone de la versión a para el grupo 1 (en lugar de indicar que el escenario X se compone de la versión i para la tabla x, de la versión j para la tabla y, etc.)
Un escenario define las versiones de los datos fuentes de una simulación. Las versiones de los datos de una simulación están definidas por la versión de cada uno de los grupos usados por los componentes del simulador.
Un grupo es un conjunto de fuentes de datos versionables. La versión de un grupo es un número y un nombre. Un grupo puede tener definido varias versiones. Eligiendo las versiones de los grupos se conforman distintos escenarios.
Un grupo es un conjunto de fuentes de datos versionables. La versión de un grupo es un número y un nombre. Un grupo puede tener definidas varias versiones. Eligiendo las versiones de los grupos se conforman distintos escenarios.
10) Versión
El concepto de versión es definido a nivel de un grupo. La versión de un grupo tiene un impacto hacia todas las fuentes de datos del grupo. Por un lado, los datos de esas fuentes de datos deben asociarse necesariamente a alguna de las versiones definidas para el grupo al cual la fuente pertenece. Por otro lado, al definir un escenario se indica solamente la versión del grupo. Esto significa que el cálculo de la simulación para ese escenario se hará tomando como datos aquellos de dicha versión.
El criterio de agrupamiento debe tener en cuenta este comportamiento para facilitar el manejo de versiones. Por un lado, definir un grupo conteniendo varias fuentes hace que la versión del grupo sea la versión de todas sus fuentes (evitando la referencia a la versión de cada fuente de datos). En el otro extremo, definir un grupo conteniendo una fuentes hace que todas las fuentes se versionen diferente (permitiendo que cada fuente de datos evolucione independientemente). La búsqueda del equilibrio entre ambos extremos es un tema de diseño que depende de la aplicación en particular.
11) Estado de cierre de una versión
Una versión de un grupo tiene asignado en todo momento un estado de cierre siendo los estados posibles: Abierto y Cerrado. El estado inicial es Abierto.
- Una versión de un grupo en estado Abierto significa que los datos de las fuentes de datos del grupo correspondientes a dicha versión pueden ser eliminados, agregados y/o modificados.
- Una versión de un grupo en estado Cerrado significa que los datos de las fuentes de datos del grupo correspondientes a dicha versión NO pueden ser eliminados y/o modificados. Nuevos datos para esa versión NO pueden ser agregados.
Las fuentes versionables se encuentran en los grupos de datos, puesto que lo que se versiona son los propios grupos. Las fuentes no versionables, por definición, no están asociados a ningun grupo.
12) Fórmula de cálculo
(También llamada Fórmula de simulación, Expresión de cálculo, Expresión de simulación)
- Fórmulas: Expresiones con las que se modela la realidad y cómo ésta se desarrolla. Expresión aritmética utilizada para definir la simulación.
Una fórmula usada en un componente puede contener constantes, variables de simulación del componente, atributos de los elementos del componente, atributos de la dimensión tiempo, parámetros, funciones (e.g. matemáticas y manejo de fechas) y funciones específicas (Parameter y Variable).
Las fórmulas:
- se pueden ubicar en el modelo (no versionables, no pueden ser editadas por el usuario)
- se pueden ubicar en formularios de datos (versionables, sí editables por los usuarios que dispongan de los permisos)
La notación es la misma si se encuentra en el modelo o si está definida en datos.
Algunas de las expresiones de cálculo que se pueden observar son:
-
- Ingreso = Precio * Cantidad
- Indemnización por rescisión = valor inicial(MES) * factor de variación IPC
Fórmula Inicial y Fórmula de Paso
La simulación en el tiempo de una variable está definida por dos fórmulas: la fórmula inicial y la fórmula de paso.
Por ejemplo, considerando la variable "ingreso" del componente Otros Ingresos, para el concepto Multas, Recargos e Intereses:
- en enero, se toma el dato inicial y se lo multiplica por el factor de variación IPC enero (dado que la proyección comienza en enero, es necesario ingresar un dato inicial "como si fuera" el valor a diciembre del año anterior)
- para los siguientes meses, se toma el dato del mes anterior y se lo multiplica también por el factor de variación IPC.
En este ejemplo la fórmula inicial es:
Parameter("ResultadoInicial", "year", AnioBase)*IPC
Va a buscar el dato de resultado inicial del rubro, ingresado como dato para el año base y lo multiplica por "IPC" que es el factor de crecimiento del IPC.
y la fórmula de paso:
Ingreso * IPC
Busca el resultado de la variable ingreso para el mes anterior (si no se indica período toma el cálculo de 1 mes hacia atrás)
En otros casos, los cálculos de un mes no dependen de los resultados del mes anterior, como es el caso de P*Q, por lo tanto, la fórmula de inicialización y la de paso será la misma (tanto la fórmula inicial como la de paso puede ser definida por "cantidad * precio", donde "cantidad" y "precio" son parámetros que, dados el producto y una fecha, devuelven la cantidad y precio, respectivamente)
Funciones
Una fórmula usada en un componente puede contener
- constantes
- variables de simulación del componente
- atributos de los elementos del componente
- atributos de la dimensión tiempo
- funciones (e.g. matemáticas y manejo de fechas)
- funciones específicas (Parameter y Variable)
Funciones Parameter y Variable
Función parameter: se busca el valor de un parámetro únicamente para un concepto, rubro, elemento, ... determinado.
El parámetro refiere a datos ingresados en el modelo o a resultados de otros componentes
- Ejemplo: IngresosMensuales [ Concepto Ingreso: 181 ]
Devuelve el valor del parámetro IngresosMensuales, para el concepto ingreso código 181.
Es decir, que se puede hacer referencia explícita a otros valores que no sean los asociados con el elemento y momento corriente de acuerdo al paso de la simulación.
Referencias directas a parámetros: En algunos casos se escribe directamente el nombre del parámetro. Por ejemplo, en el porcentaje de cargas sociales: se carga el dato en un campo para todo el año a simular, por lo que basta con escribir el nombre del parámetro - CargasSociales-
Función Variable: se busca el valor de una variable únicamente para un concepto, rubro, elemento, ... determinado.
La variable es el resultado de otro cálculo anterir del mismo componente.
- Gasto [ Rubro: 70 ]
Devuelve el valor de la variable Gasto para el rubro 70.
Uno de los filtros utilizado en la función variable puede ser el tiempo, en meses, pudiendo ir a buscar valores proyectados de la misma variable o de otras variables en períodos anteriores.
Como se puede apreciar en la definición de las funciones, la diferencia entre la función parameter y la función variable es la ubicación del dato que se busca.
Parameter: Fuentes de datos, variables de otros componentes
Variable: variables del mismo componente
La notación básica de las funciones parameter y variable se ilustra en la siguiente imágen.
En la descripción de cada componente se puede apreciar
- La lista de parámetros y la lista de resultados de otros componentes usados como parámetros (los cuales se referencian con la función parameter)
- La lista de variables o cálculos de la simulación (los cuales se referencian con la función variable)
Requisitos necesarios para incluir un dato de una fuente en los cálculos de un componente
- Crear la Fuente de datos (tabla con sus campos) y en caso necesario catálogo correspondiente ejemplo:
Catálogo: código, concepto
Fuente de datos: año, mes, código, monto - Crear el parámetro que hace referencia al campo deseado de ese formulario, dándole el/los alcances (filtros) que corresponda/n
En el ejemplo anterior:
Parámetro: monto
Nombre del filtro: concepto - En el componente, agregar el nombre del parámetro en la lista de componentes creados
13) Parámetro
Los parámetros intervienen en la definición de las fórmulas.
Un parámetro se utiliza para representar y referenciar dentro del modelo de simulación las 2 situaciones siguientes:
- datos que son externos al modelo de simulación en cuestión, es decir que si ingresan como hipótesis en el modelo.
- datos que son externos al componente en donde se utiliza, es decir que son resultados de cálculos de otros componentes, y para este componente se utilizan como dato.
En el primer caso se habla simplemente de parámetro mientras que en el segundo caso se habla de parámetro de componente.
Un ejemplo de la primera situación son los parámetros que representan índices económicos tales como el IPC (índice de precios al consumo) y el IMS (índice medio de salarios) Un ejemplo de la segunda situación es un parámetro "CantidadVenta" que ofrece a un componente "Ingresos P*Q" la cantidad estimada de los productos calculada en otro componente.
Los parámetros se hacen corresponder con las fuentes de datos o componentes de donde el simulador extraerá valores para realizar los cálculos. En esta correspondencia se indican los argumentos y el atributo de retorno. Para ello se usa el concepto de alcance.
14) Alcance y evaluación de un parámetro
- Alcance de los Parámetros: Para permitir que un mismo parámetro tenga distintos valores según por ejemplo si se está preguntando para un rubro o para todos los rubros es necesario introducir la idea de alcance.
Con esta noción podemos justamente manejar que en el ejemplo anterior hay dos alcances: global o por rubro y consultar luego el valor del parámetro en cualquiera de ellos.
Un alcance de un parámetro se hace corresponder con una fuente de datos y en él se definen los nombres de los argumentos y del atributo de retorno así como la correspondencia con los atributos de la fuente asociada. Un parámetro puede tener definido uno o más alcances. En el caso de un parámetro con varios alcances es importante el orden de los mismos.
Notas
- Diferentes parámetros pueden ser definidos sobre una misma fuente de datos o componente.
- Los parámetros pueden devolver como resultado fórmulas.
- Los parámetros (sus alcances) definidos sobre datos versionables tienen a la versión como argumento implícito.
- En el caso de parámetros de componentes existe un sólo alcance.
En el momento del cálculo de una variable de un componente cuya fórmula contiene un parámetro, la evaluación del parámetro se realiza mediante los pasos siguientes:
- se selecciona el alcance a evaluar. Para ello se consideran todos los alcances en el orden dado al definir el parámetro y se determina si el alcance es evaluable. Un alcance es evaluable si existen valores, en ese momento de la simulación y elemento, para todos los argumentos del alcance. La correspondencia entre los argumentos del alcance y los valores del contexto de la simulación es por el nombre (por ejemplo, el nombre de un argumento debe coincidir con el nombre de un atributo de los elementos para considerar el valor del correspondiente a ese atributo del elemento). El primer alcance que satisface esta condición es considerado el alcance a evaluar,
- se evalúa el alcance determinado accediendo a la fuente de datos correspondiente según los valores de sus argumentos, y
- si el parámetro tiene una expresión de postprocesamiento, se evalúa dicha expresión sobre el resultado del paso anterior.
Del primer paso anterior pueden surgir situaciones de borde:
- Un alcance sin argumentos siempre cumple con la condición de ser evaluable.
- Si ningún alcance satisface dicha condición y el parámetro tiene definida una expresión por defecto, la evaluación del parámetro finaliza devolviendo como valor de retorno el resultado de la evaluación de la expresión por defecto (no realizándose los dos pasos siguientes).
- Si ningún alcance satisface dicha condición y el parámetro no tiene definida una expresión por defecto, la evaluación del parámetro finaliza de forma fallida (no realizándose los dos pasos siguientes)
En cuanto a la resolución de parámetros es necesario puntualizar que los distintos alcances se recorren en el orden en que fueron definidos y la primer alternativa que se satisfaga será el valor retornado. Para que un alcance sea satisfecho deben ocurrir dos aspectos:
1. Todas las "dimensiones" deben tener un valor de forma de poder "armar la consulta"
2. La sentencia debe retornar algún valor y el mismo no puede ser nulo.
Todo parámetro debe, por lo menos, tener un alcance para estar bien definido.
La noción de alcances de un parámetro permite simplificar las fórmulas en caso que la fórmula a aplicar en un paso dependa del elemento siendo simulado. En este caso y sin contar con este mecanismo de alcances implicaría que la fórmula refleje explícitamente la discriminación necesaria. Adicionalmente, la aparición de nuevos casos implicaría modificar la fórmula que contiene los discriminantes aumentando las posibilidades de error.
15) Simulador
Un simulador es una aplicación de software definida con O3 Planner que permite gestionar simulaciones incluyendo mecanismos de seguridad, análisis de los resultados y vinculación de objetos de análisis tales como cubos, vistas, dashboards y scorecards. A grandes rasgos, un simulador se define en 2 grandes pasos que consisten en:
- la definición del modelo de las fuentes de datos (su metadata) y del modelo de la simulación propiamente dicha (metadata conteniendo la especificación de los parámetros y de los componentes),
- la publicación de los modelos definidos en el servidor de O3 Planner.
Dado un escenario, el estado del simulador para ese escenario está dado por el estado de sus componentes.
16) Simulación
Dado un simulador s y un escenario e, una simulación es el resultado del cálculo o ejecución del modelo de simulación de s usando como datos fuentes aquellos correspondientes a las versiones definidas en e según la dimensión tiempo definida en el modelo de simulación.
Dicho cálculo tiene incluído como efecto el cálculo de todos los objetos de análisis asociados a los componentes del modelo de simulación.
El estado de la simulación está dado por el estado del escenario y por el estado de cada uno de los componentes del modelo de simulación del simulador.
17) O3Planner
O3 Planner es un conjunto de herramientas de software que permite la generación de sistemas de simulación o simuladores. Está compuesto de un servidor java y una aplicación desktop java. La aplicación desktop provee editores que permiten definir el modelo (esquema) de las fuentes de datos y el modelo de simulación (a este conjunto de editores se le denomina el diseñador). A su vez provee la funcionalidad de publicar los modelos definidos en el servidor generando así el simulador. El simulador generado es accesible mediante un navegador de internet (por ejemplo, IE o Mozilla) por medio de una aplicación web.