Consideraciones de rendimiento para la característica de mejor oferta

La característica de mejor oferta ofrece una forma de asegurarse que sus clientes obtengan la mejor oferta posible cuando su pedido cumple los requisitos de varias promociones del mismo grupo de promociones con la misma prioridad. Existe, no obstante, un coste de rendimiento para la característica ya que el motor de promociones debe evaluar un número potencialmente elevado de combinaciones de secuencias para determinar la mejor oferta. Para manejar los impactos de rendimiento, puede aumentar o reducir el límite máximo predeterminado para el número de evaluaciones de secuencias por pedido.

Cómo determinar un límite de combinaciones de secuencias adecuado para la tienda

De forma predeterminada, la característica de mejor oferta está configurada para permitir 50 combinaciones de secuencias por pedido. Cuando se alcanza este límite, el motor de promociones deja de evaluar combinaciones de secuencias y selecciona la mejor oferta de entre las combinaciones de secuencias que se han evaluado. Si el límite se establece en un valor demasiado bajo para la tienda, algunos pedidos podrían no obtener la mejor oferta posible. Si el límite se establece en un valor demasiado alto, la tienda puede experimentar problemas de rendimiento.

Calcule aproximadamente el número de combinaciones de secuencias que es posible que el motor de promociones necesite evaluar para aplicar la característica de mejor oferta al pedido de un cliente en el escaparate. A continuación, puede establecer un límite de combinaciones de secuencias adecuado que se base en su cálculo para minimizar los impactos de rendimiento de la característica.

Utilice la siguiente hoja de cálculo para recopilar los datos relevantes del Director de marketing para la tienda. A continuación, añada los datos a la fórmula siguiente para calcular el número posible de combinaciones de secuencias para la tienda.

Hoja de cálculo para recopilar datos de promoción de mejor oferta del Director de marketing
Pregunta para el Director de marketing Answer
¿Cuántos conjuntos de promociones suele tener activos la tienda en el escaparate al mismo tiempo?

Definición de un conjunto de promociones: dos o más promociones dentro del mismo grupo de promociones a los que se asigna la misma prioridad.

Número de conjuntos: _____

Para cada conjunto, ¿cuántas promociones hay en el conjunto?

Conjunto 1: _____ (S1)

Conjunto 2: _____ (S2)

Conjunto 3: _____ (S3)

Conjunto 4: _____ (S4)

Conjunto 5: _____ (S5)

Conjunto n: _____ (Sn)

Para calcular el número posible de combinaciones de secuencias para la tienda, añada los datos de la hoja de cálculo a la fórmula siguiente:
(S1)! x (S2)! x (S3)! x (S4)! x (S5)! x … (Sn)! = possible sequence combinations
Ejemplo: Considere el caso de una tienda que tiene dos conjuntos de promociones:
  • Conjunto 1: Dos promociones a nivel de pedido con una prioridad de 100
  • Conjunto 2: Cuatro promociones a nivel de entrada de catálogo con una prioridad de 100
La hoja de trabajo completada puede parecerse a la tabla siguiente:
Pregunta para el Gestor de promocionesRespuesta
¿Cuántos conjuntos de promociones suele tener activos la tienda en el escaparate al mismo tiempo?

Definición de un conjunto de promociones: dos o más promociones dentro del mismo grupo de promociones a los que se asigna la misma prioridad.

Número de conjuntos: 2

Para cada conjunto, ¿cuántas promociones hay en el conjunto?

Conjunto 1: 2

Conjunto 2: 4

Utilizando la fórmula, el número posible de combinaciones de secuencias estimado para la tienda es: 2! x 4! = 2 x 24 = 48 posibles combinaciones de secuencias. Basándose en este ejemplo, un límite de combinaciones de secuencias adecuado podría ser 48.

Restricción de grupos de promociones y promociones para grupos de promociones.

Puede mejorar el rendimiento del Motor de promociones cuando evalúa la lógica de mejor oferta restringiendo qué grupos de promociones se procesan con la lógica de mejor oferta. El Motor de promociones también se puede configurar para restringir el número de promociones que se puede procesar para cada grupo de promociones con la lógica de mejor oferta. La restricción del número de promociones que se debe considerar para cada grupo de promociones puede mejorar el rendimiento del proceso con la lógica de mejor oferta.

Si no configura la lógica de mejor oferta para restringir el número de promociones por cada grupo de promociones y el número de promociones, todas las promociones por cada grupo de promociones y todos los grupos de promociones utilizan la lógica de mejor oferta. Puede restringir estas promociones y grupos de promociones al cambiar los siguientes distintivos de configuración en el archivo WCSPromotionEngineConfig.xml:
PromotionGroupsForBestDealEvaluation
Este distintivo contiene una lista separada por comas de grupos de promociones que se utilizan en la evaluación de la mejor oferta. Si no se configura ningún grupo de promociones, se utilizan todos los grupos de promociones cuando el Motor de promociones evalúe la mejor oferta.
MaxPromotionsPerGroupForBestDealEvaluation
El número máximo de promociones por grupo que se utiliza cuando el Motor de promociones evalúe la mejor oferta. Si no se establece ningún valor máximo, no se establece ningún límite en cuanto al número de promociones por grupo que se utilizan en la evaluación de la mejor oferta.
SequenceCombinationLimit
El número máximo de combinaciones de la mejor oferta para utilizarla en la evaluación de mejor oferta.
Tenga en cuenta las directrices siguientes cuando configure el mejor soporte para la oferta.
  • Mantenga la configuración máxima de 5 ofertas por grupo (MaxPromotionsPerGroupForBestDealEvaluation) y un total de 120 combinaciones (SequenceCombinationLimit) o 6 ofertas por grupo y un total de 720 combinaciones.
  • Mantenga el total de combinaciones (SequenceCombinationLimit) en un número igual o menor que el factorial del número de promociones por grupo considerado (MaxPromotionsPerGroupForBestDealEvaluation).
El siguiente código en negrita muestra cómo cambiar la configuración de estos distintivos para restringir el número máximo de promociones por grupo a 3 promociones y restringir el número de grupos de promociones para incluir únicamente promociones a nivel de pedido:
<DefaultBehavior>
  <StatelessInvocation>true</StatelessInvocation>
  <CheckTargetingAtRuntime>true</CheckTargetingAtRuntime>
  <SkipTargetingOnCodeEntered>true</SkipTargetingOnCodeEntered>
  
  <PriceAdjustmentBasedOnStandardOfferPrice>true</PriceAdjustmentBasedOnStandardOfferPrice>
  <Debug>false</Debug>
  <EvaluationFlowControl>1</EvaluationFlowControl>
  
  <MaxPromotionsPerGroupForBestDealEvaluation>3</MaxPromotionsPerGroupForBestDealEvaluation>
  
  <PromotionGroupsForBestDealEvaluation>OrderLevelPromotion</PromotionGroupsForBestDealEvaluation>
  <SequenceCombinationLimit>50</SequenceCombinationLimit>
</DefaultBehavior>