Dynamic Pricing se llamaba antes Rules Based Pricing. Es el mismo agente y el mismo motor; solo cambió el nombre.
Cuándo usar Dynamic Pricing
Recurre a Dynamic Pricing cuando puedas describir la lógica de precios que quieres:- Precios operativos: límites de seguridad, promociones, paridad con un competidor.
- Control de margen: conoces el mínimo o la banda en la que quieres mantenerte.
- Sincronizar precios dentro de una familia o conjunto de productos.
- Aplicar redondeo a terminaciones de precio psicológicas.
- Precios relativos dentro de un grupo (escalado bueno / mejor / óptimo).
Abrir Dynamic Pricing
En cualquier Grid:- Haz clic en Agents en la barra de herramientas superior (o en el botón fijado Dynamic Pricing si lo tienes).
- Selecciona Dynamic Pricing en la ventana modal All Agents.
- Se abre el cuadro de diálogo de configuración con un panel Config by AI junto a dos pestañas de configuración: Rules (reglas) y Parameters (parámetros).

Configurar con IA: describe lo que quieres en lenguaje natural
El panel Config by AI se encuentra junto a las pestañas de configuración como un asistente tipo chat, utilizable en cualquier momento. Úsalo cuando sepas el resultado que quieres pero no qué tipo de regla encaja.- Prompt: describe tu objetivo en 1-3 frases. Ejemplo: “Fija el precio un 5% por encima del costo, pero nunca por debajo del competidor más barato.”
- AI model: actualmente Gemini 2.5 Flash.
- Run AI: genera reglas y las añade a la pestaña Rules.
Configurar la ejecución
La pestaña Rules contiene la lista de reglas. Los mapeos de entrada y el alcance de la ejecución están en Parameters. El orden recomendado para la primera configuración es entradas → alcance → reglas.Entradas (pestaña Parameters): mapear Price y Cost
Dos columnas del Grid se mapean a los campos reservados del algoritmo:- Price: el precio de venta actual (por defecto
price). - Cost: el costo por unidad (por defecto
unit_cost).
Alcance (pestaña Parameters): Full Dataset o Sample 10 Rows
El alcance controla sobre qué filas se ejecutan las reglas:- Full Dataset: todas las filas del libro de trabajo actual.
- Sample 10 Rows: muestreo del lado del servidor sobre diez filas, pensado para validar una configuración de reglas antes de comprometerse con una ejecución completa. Devuelve resultados rápidamente y expone errores de configuración (referencias faltantes, reglas contradictorias, condiciones inválidas) sin procesar todo el Grid.
Reglas: el corazón de la configuración
La pestaña Rules es donde listas las reglas a aplicar. Haz clic en Add Rule para abrir el selector de tipo de regla, configura cada regla y guárdala. La lista muestra todas las reglas con sus prioridades; la insignia en el encabezado de la pestaña es el número de reglas.Cómo se evalúan las reglas
Para cada fila dentro del alcance, de forma independiente:- Las reglas se ordenan por Priority (1 = la más alta, máximo 50).
- El motor recorre las reglas de arriba abajo. Cada regla reduce el corredor de precios factible de la fila.
- Si el corredor de una regla no se cruza con el corredor actual, la regla se marca como violada (ver Fallback Behavior).
- Después de ejecutar todas las reglas, el precio final es el valor del corredor resultante más cercano al precio actual de la fila.
- Price Rounding se evalúa siempre al final, independientemente de su posición de prioridad; su número de prioridad controla qué otras reglas puede violar.
Ejecución a nivel de tienda
Cuando tu Grid está en vista SKU-Store (una fila por combinación producto-tienda), Dynamic Pricing se ejecuta a nivel SKU-Store:- El motor emite un precio recomendado por combinación producto-tienda, usando el precio, el costo y el conjunto de competidores propios de cada tienda.
- Las Conditions (condiciones) pueden apuntar a atributos de tienda (país, canal, zona de precios) para que una regla se aplique solo a las tiendas coincidentes. Un margen mínimo para un país, paridad con competidores para un canal.
- Las reglas sin condiciones de tienda se aplican a todas las tiendas, por lo que las configuraciones de reglas a nivel de producto existentes siguen funcionando sin modificaciones.
Campos universales de las reglas
Cada regla tiene la misma estructura, independientemente de su tipo:- Name: texto libre. Hazlo legible en las trazas (p. ej. “Margen mín. 25%”).
- Priority (1-50): número más bajo = prioridad más alta. El motor evalúa primero las reglas de mayor prioridad.
- Conditions (desplegable): filtro que limita a qué filas se aplica la regla.
- Fallback Behavior (desplegable): qué hacer cuando la regla entra en conflicto con el corredor actual o a la fila le faltan datos requeridos.
- Parámetros específicos de la regla (ver cada tipo de regla más abajo).

Los 8 tipos de regla
Fixed Price
Fija las filas coincidentes a su precio actual. El precio final es igual al precio de entrada; ninguna regla posterior puede moverlo.- Parámetros: ninguno.
- Corredor:
[current_price, current_price], un único punto. - Úsala para: precios de promoción, SKUs regulados, precios aprobados manualmente.
- Atención: cualquier regla posterior cuyo corredor no contenga el precio actual se marcará como violada para esas filas.
Price Change Limit
Limita cuánto pueden moverse los precios respecto al precio actual. Úsala como corredor exterior (Maximum) o como zona muerta que prohíbe micro-cambios (Minimum).- Limit Type: Maximum (corredor exterior) o Minimum (zona muerta).
- Increase: Percent o Absolute, con un valor.
- Decrease: Percent o Absolute, con un valor.
- Corredor Maximum:
[base - decrease, base + increase]. Los precios fuera se llevan al límite más cercano. - Minimum (zona muerta): prohíbe cambios menores que el umbral. Se codifica internamente como un corredor invertido; es el único tipo de regla que produce legítimamente
lo > hi.
Price Change
Mueve los precios en un porcentaje, un importe absoluto o según una columna de referencia. Siempre produce un único precio objetivo.- Value Type: Percent, Absolute o Column.
- Value: el porcentaje / número absoluto, o la columna de referencia.
- Fórmulas:
- Nota: siempre se calcula respecto al precio base (precio actual), no respecto al candidato en curso en la prioridad de esta regla. Así, un Price Change de +5% aplicado después de una Margin Rule sigue añadiendo un 5% al precio original, no al precio derivado del margen.
Price Match
Alinea el precio con una columna de referencia (normalmente un precio de competidor), ya sea exactamente o dentro de un corredor porcentual. Un ajuste de referencia opcional puede transformar la referencia primero, para que puedas posicionarte frente a un valor derivado de la columna en lugar de la columna sin procesar.- Reference Column: columna numérica.
- Reference adjustment (opcional): transforma la referencia antes de emparejar: multiply (multiplicar) por un factor, o sumar/restar un percent (porcentaje) o un importe absolute (absoluto) fijo. Déjalo desactivado para usar la referencia tal cual. Así expresas objetivos como “80% del precio regular” dentro de la regla, en lugar de crear una columna de fórmula aparte.
- Operator:
Equals(un único punto) oBetween(corredor). - Valores From / To (cuando es
Between): límites porcentuales inferior / superior. - Corredor:
Cuando hay un ajuste de referencia configurado,
refarriba es el valor ajustado (por ejemploregular_price * 0.8). Tanto el ajuste como la referencia emparejada aparecen en la explicación del panel Price Analysis, para que puedas ver por qué se propuso un precio. - Cuando se viola: el motor ajusta el precio al límite más cercano al corredor deseado por esta regla (“estirar hacia lo que la regla quería”).
Sync Prices
Obliga a todas las filas de un grupo a compartir un mismo precio final idéntico. Es una regla dinámica: cruza los corredores de todos los miembros del grupo y resuelve un único objetivo de grupo en el momento de su prioridad.- Group Column: columna de texto o categórica (p. ej.
product_family). - Cascada de resolución (en orden):
- Moda: si algún precio actual es compartido por 2 o más miembros, se usa ese.
- Ponderado por ventas: si todos los precios actuales son únicos y existe una columna
sales_units, se usa el precio del miembro con más ventas. - Mediana de los precios actuales del grupo.
- Tres casos después de cruzar los corredores de los miembros:
- Intersección completa: todos los miembros del grupo reciben el mismo precio.
- Intersección parcial: el motor descarta los SKUs atípicos (menor contribución al solapamiento) uno a uno hasta que el resto coincide. Los atípicos se marcan como Sync violada y se les asigna precio individualmente.
- Sin intersección: todo el grupo se marca como Sync violada y cada SKU recibe precio individualmente.
- Atención al alcance: Sync solo agrupa las filas que cumplen sus condiciones. Las filas fuera de las condiciones no se ven afectadas en absoluto; la regla no aparece en sus listas de aplicadas / violadas.
- Fallback especial: cuando Sync se viola, el motor no “estira hacia el corredor de Sync” (Sync no tiene corredor numérico). En su lugar, cada SKU afectado recibe el precio más cercano a su propio precio actual.
Margin Rule
Restringe el precio a un objetivo de margen o markup derivado del Cost. Es estática: el corredor se calcula antes de que el motor se ejecute.- Margin Type: Margin o Markup.
- Constraint: Exact (un único punto) o Between (corredor).
- Value Source: Percent, Absolute o Column.
- Value (o From / To cuando Constraint es Between).
- Fórmulas (con
T = value / 100para porcentaje): - Ejemplos: “Margen exactamente 25%” ->
[cost / 0.75, cost / 0.75]. “Markup entre 30% y 50%” ->[cost * 1.30, cost * 1.50]. - Validación:
Value Source = Columnsolo es válido conConstraint = Exact. Combinar Column con Between devuelve un error.
Price Rounding
Obliga a que los precios finales terminen en terminaciones psicológicamente permitidas (p. ej.*.99, *.95, *.00).
- Price Scope: todos los precios, o un filtro por rango de precios (Equals / Between).
- Pattern (terminaciones permitidas): patrones separados por comas, p. ej.
*.99, *.95. - Excluded endings: patrones a evitar, p. ej.
*.77. - Rounding Direction: Up (el menor valor válido por encima del candidato), Down (el mayor valor válido por debajo del candidato) o Closest (el valor válido más cercano que aún cae dentro del rango factible).
- Siempre al final: el redondeo se ejecuta después de todas las demás reglas, independientemente de su posición en la lista de prioridades. Su número de prioridad determina qué otras reglas puede violar (solo las de menor prioridad).
- Atención: si no existe ninguna terminación válida dentro del rango factible, la regla se viola y el precio se queda sin redondear; no se anula.
Price Relations
Mantiene una estructura de precios relativa dentro de un grupo. Ejemplo: mantener el SKU Profit Driver un 6% por debajo del Traffic Driver.- Group Column: texto o categórica.
- Price Type: Price o Unit Price.
- Relationship Type: One by one (cada ítem N tiene precio relativo al ítem N-1) o Same gap (la misma distancia desde el ancla para cada miembro).
- Gap Value Type: Percent o Absolute.
- Gap Value.
- Anchor Logic: Highest priced (ancla = miembro del grupo con el precio actual más alto) o Explicit item.
- Fórmulas:
- Cascada: cada SKU de la cadena recibe un corredor de un único punto. Si el ancla se mueve por un conflicto de mayor prioridad, toda la cadena se recalcula.
- Solo se combina con el redondeo: como Price Relations deja corredores de un único punto, solo Price Rounding puede combinarse de forma significativa después de ella. Otras reglas de menor prioridad o bien cruzan el punto exacto (sin conflicto) o bien se violan.
- Explicación de la escalera completa: cuando una regla Price Relations fijó el precio, el panel Price Analysis muestra la escalera completa del SKU (cada peldaño de la cadena y dónde se sitúa este SKU entre ellos), no solo el vecino inmediato del que partió, de modo que una inversión o un peldaño bloqueado por otra regla queda visible en contexto.
Conditions: filtrar a qué filas se aplica una regla
Abre la sección Conditions en cualquier regla para limitarla a un subconjunto de filas. Las reglas sin condiciones se aplican a todas las filas dentro del alcance.- Cada condición es un triplete columna + operador + valor.
- Las condiciones se combinan con AND (no hay OR).
- Operadores admitidos:
=,!=,>,<,>=,<=,IN,NOT IN,IS TRUE,IS FALSE.
Fallback Behavior: qué pasa cuando una regla no puede aplicarse limpiamente
Abre la sección Fallback Behavior en cualquier regla para controlar el manejo de conflictos y datos faltantes. Comportamiento ante conflicto- Follow priority (por defecto): la regla se marca como violada, el corredor se mantiene en el último rango válido y el motor elige el límite más cercano a lo que esta regla quería (“estirar hacia la regla violada”).
- Return error: el cálculo se detiene para esta fila. La fila recibe
rbp_status = errory el nombre de la regla causante. Recomendado para reglas críticas de cumplimiento.
- Ignore (por defecto): la regla se omite para las filas a las que les faltan datos requeridos; la fila continúa evaluando las demás reglas.
- Return error: la ejecución falla cuando falta el valor de una columna requerida.
Guardar y cargar configuraciones
Haz clic en Config Manager en la parte superior derecha para guardar la configuración actual como una configuración con nombre o cargar una guardada previamente. Una configuración captura la configuración completa: alcance, entradas, historial de prompts de IA y toda la lista de reglas. Puedes cargar una configuración en el mismo Grid o en uno diferente. Es la herramienta adecuada para ejecuciones mensuales recurrentes y para compartir configuraciones entre compañeros de equipo.Validar con Sample 10 Rows y luego ejecutar
El flujo recomendado:- Configura las reglas.
- Establece el alcance en Sample 10 Rows y haz clic en Run.
- Inspecciona la columna Rules Based Price en las filas muestreadas; abre el panel Price Analysis en algunas para confirmar que las reglas se activaron como esperabas.
- Vuelve a poner el alcance en Full Dataset y haz clic en Run.
Leer el resultado
Después de una ejecución, el Grid muestra una nueva columna Rules Based Price con el precio calculado por fila. Haz clic en cualquier celda de esa columna para abrir el panel derecho Price Analysis, que explica cómo se obtuvo el precio.
Rule-based pricing trace.
El bloque de resumen tiene dos columnas:
Columna izquierda: Final Price
- Final Price: el Rules Based Price calculado, grande y destacado.
- % delta vs Start Price: cuánto se movió el precio calculado respecto al precio inicial de la fila (positivo = subida, negativo = bajada).
- Start Price: el precio inicial de la fila (la entrada).
- Cost: el costo unitario de la fila (la entrada).
- Feasible Range: el corredor de precios que sobrevivió después de que cada regla aplicada lo redujera. El Final Price es el punto dentro de este rango más cercano al Start Price.
- Applied Rules: una tarjeta compacta por cada regla que se activó, mostrando el resumen y el estado de la regla y su prioridad (para que puedas leer el orden en que se aplicaron las reglas), con un gráfico del corredor de precios expandible en cada tarjeta que muestra la restricción impuesta por la regla y el precio que produjo. Junto a ellas hay un contador de reglas violadas. Cuando el precio proviene de una recomendación de Price Optimization, el panel también muestra la elasticidad utilizada y cómo moldeó el precio final. Las tarjetas se mantienen legibles con tres o más reglas aplicadas, sin truncamiento.
- New Unit Margin %: margen al Rules Based Price calculado, con el margen inicial mostrado debajo como
vs Start: X%. - Unit Margin % pp change: cambio en puntos porcentuales respecto al margen inicial.
- Unit Margin % Change (%): cambio relativo del margen (cambio en pp / margen inicial).
Columnas de salida
El agente escribe estas columnas en el Grid:
Oculta lo que no necesites desde el panel Columns. Fija Rules Based Price a la derecha para revisarlo de un vistazo.
Errores comunes
- Falta
cost: las Margin Rules no pueden ejecutarse sin él. Mapea una columna Cost en la pestaña Parameters o elimina las reglas basadas en margen. - Monedas distintas: si los productos y los competidores usan monedas diferentes, configura el tipo de cambio en la configuración de la cuenta antes de ejecutar reglas basadas en competidores.
- Conditions demasiado estrechas: si ninguna fila coincide, la regla se omite en silencio. Vigila el número de filas en las ejecuciones de muestra.
- Fixed Price seguida de otras reglas: Fixed Price es un corredor de un único punto; casi cualquier regla posterior se violará para esas filas. Es el comportamiento esperado.
- Price Change relativo a la base: Price Change siempre parte del precio actual, no de lo que produjeron las reglas anteriores. Si necesitas deltas en cascada, usa Price Relations en su lugar.
- El redondeo nunca alcanza una terminación válida: si el corredor resultante es más estrecho que el espaciado de tu Pattern, el redondeo se viola y el precio se queda sin redondear.
Relacionado
- Guía de reglas de precios: recorrido para usuarios de negocio por los 8 tipos de regla con ejemplos resueltos
- Descripción general de agentes
- Price Optimization
- Pricing Strategy
- Gestionar tiendas
- Vistas de Grid por producto y SKU-Store
- Añadir columnas
- Glosario de métricas
- Moneda
- Runs

