Commercial Parameters
Commercial parameters are used to configure Ecommerce Search to use product data when doing commercial sorting of items. An item in this case could be a product or a suggestion. They are mananged via the UI.
Commercial parameters are used in conjunction with context partitions on a context to calculate the commercial boost of products.
A commercial parameter consists of:
- Parameter id is used to uniquely identify the parameter,
- Name assigns an easy-to-read name to the parameter.
- Parameter type specifies the type of the parameter.
- Partitions divide a parameter into one or more groupings, based on the parameter type.
The commercial parameters are registered in Ecommerce Search through the Ingest API.
Parameter type
To ensure that a parameter is parsed correctly, its parameter type must be specified. The following types are supported:
- Range
- Term
- Rank
- Proxy
Each parameter type is used to determine how ingested values should be normalized. See normalization, for a more detailed description of the normalization for each type.
Partitions
A parameter type defines how ingested values can be mapped and grouped into partitions. An ingested value cannot be mapped into multiple partitions.
Parameter Type | How to Partition |
---|---|
Range | Using From-To fields , eg. 10%-25% |
Term | Using an explicit term for each partition |
Rank | No partitions needed |
Proxy | No partitions needed |
If an item has data that could not be fitted into any of a parameter's partitions, then it will be ignored for the given item, and therefore not add any commercial value.
Range
The range parameter should be used when you have data that can easily be divided into intervals or ranges. Two decimal number fields From
and To
field are used to define the range of a partition.
As an example consider how to model that an item is new. If you know how many days an item has been available then you could create the following partitions:
Partition Name | From | To |
---|---|---|
7 days | 0 | 8 |
14 days | 8 | 15 |
21 days | 15 | 21 |
By assigning descending weights to the partitions, we are then able to boost newer items more.
Note how the From
and To
defines the range. The From
is including and the To
is not including. This means that for the first partition "7 days" the range would be 0.0 - 7.99999....
Also note that if an item has been available for 22 days, then it does not fit into any partition and is therefore ignored.
Term
The term parameter should be used when you have data that is already aggregated into some partitions or you have some business logic that is not possible to model in commercial sorting.
As an example, a webshop might have some complex business logic that determines if an item is low in stock, plenty in stock, or sold out. E.g. 2 dishwashers in stock would be plenty, however, 2 soaps in stock would be low.
A term parameter with the following partitions could therefore be created to model the webshops stock:
Partition Name | Value |
---|---|
Few In Stock | LOW |
Sold out | SOLDOUT |
Plenty in Stock | PLENTY |
Note that if an item has a webshop stock term "HIGH" then it will not fit into any partition and is therefore ignored.
Rank
Ranking will do a numeric sorting of the items, such that a rank for each item can be calculated.
The rank is useful when you have event data, such as "Clicks on item". The ranking calculation will ensure that the item with the most clicks will get the highest score.
Proxy
In some cases, you might have your own first-party service or a third-party service that already has calculated a normalized value, and this value should just be mapped directly onto the item. In such a case you should use the proxy parameter.
Note that the normalized value should be between 0.0-1.0, such that it fits nicely together with how the other parameters are normalized.