Competition Engine

Competition Engine supports various options for price calculation based on competitor prices (defined through the engine's Additional Configuration PP table).

Competitor price can be selected based on one of two approaches:

  • Competitor Position – Select one competitor to align the price with.

    • Min/max – Select a minimum/maximum available competitor price.

    • min + X / max - Y – Select minimum/maximum competitor price position and adjust it by the given value.

    • 10%, 50%, 70% – Select the target competitor based on the provided percentage. The formula for the calculation is: TargetCompetitorPosition = NumberOfCompetitors * Percentage

  • Price Position – Select a price at the given percentage point. A value of 0% matches the lowest competition price and value of 100% matches the highest competition price. The formula for calculation is: Price = CompetitorMinPrice + (CompetitorMaxPrice - CompetitorMinPrice) * Percentage

Note: Competitor Position and Price Position cannot be used at the same time.

After the competitor price has been selected, the engine will find the corresponding competitor name if in the “Competitor Position” mode.

Then you can additionally "reposition" the price by:

  • Percentage – Modifies the price by a provided percentage. To make the price 5% cheaper, you use -5%; the same applies for a positive adjustment.

  • Absolute value – Modifies the price by an absolute value. To make the price 10 units cheaper, you use-10; the same applies for a positive adjustment.

The engine supports Force Margin Check to verify that the selected competitor price is affordable. You can set values "Yes/No" in the table to turn the functionality on or off.

If the new competitor price is affordable after applying Force Margin Check, the engine will find the corresponding competitor name again and calculate the total of skipped competitors counting from the old competitor price to the new one. Finding the corresponding competitor name is not relevant for the “Price Position” mode. In such case, the lowest affordable price will override the current price if in range of available prices.

Note: Order of operations is:

  1. Price calculation by selected mode

  2. Margin check

  3. Reposition


Input Parameters

Input

Type

Description

Input

Type

Description

Competitor and Prices

List

List with prices and competitor name from competitors that should used for processing.

Minimum Margin Price

BigDecimal

Price used for affordability check, nullable.


Additional Engine Configuration

This engine needs an additional simple configuration Price Parameter where all Configuration Options are present as keys.

Configuration Option

Expected value

Description

Configuration Option

Expected value

Description

Competitor Position

Allowed values:

  • min – Selects the competitor with the lowest price.

  • max – Select the competitor with the highest price.

  • min + X – Selects the competitor with the lowest price and adjusts the position by X.

  • max – X – Selects the competitor with the highest price and adjusts the position by X.

  • 40% – Selects the competitor whose position is at 40th percentile of the whole competitor range.

Selects the target competitor to compare to. Case insensitive.

Price Position

Value in range:
0% - 100%

Directly selects the competitor price based on the percentage provided and the range of competitor prices.

Repositioning %

Value in range:
0% - 100%

Adjusts the selected competitor price by the given percentage.

Repositioning Abs

Absolute value. Can be negative.

Adjusts the selected competitor price by the given absolute value.

Force Margin Check

Allowed values:

  • Yes

  • No

Checks whether the selected competitor price is affordable based on Minimum Margin Price. If it is not, the next competitor price / affordable price is selected until an affordable price is found. If no such price is found, the exception is thrown.

Relevant Competitors Definition

You can decide if you want to use all existing competition data, or if you want to define relevant competitors. Definition of relevant competitors can be done on the Lookup Key Level. We support definition of a list of competitors. You can decide if these competitors should be used or excluded.

You can define relevant competitors in PP “RelevantCompetitionData”. It has to be filled as followed:

Configuration Option

Expected Value

Description

Configuration Option

Expected Value

Description

Lookup Keys

Values of the Lookup Key

Keys in PP are the selected Lookup keys.

Relevant Competitors

“yes” or “no”

  • yes – relevant competitors are defined

  • no – the list of competitors is excluded

Competitor #1 … Competitor #29

Name of Competitor

You can define up to 29 competitors to be considered as relevant or excluded.

Default Strategy Calculation Parameters

COMPETITOR_PRICES (or RELEVANT_COMPETITOR_PRICES), MINIMUM_MARGIN_PRICE