Searchandising - Availability Ranking

Availability Ranking describes an approach of merchandising using the functionality and power of an online product search, expanding the online merchandising activities of merchants to one of the most important tools in an online shop today, the product search. You might want to use availability ranking to manipulate the search results of a customer query to reflect what you want to highlight. For example, you might want to promote in-stock products, and push products with low stock levels to the end of the search results.

Calculating Availability

Product availability is a calculated value reflecting the number of units available to sell (ATS) as compared to the overall allocation. For instance, if the overall allocation is 100 and the ATS is 70, then the availability is calculated as 70/100 or 0.70. For perpetual products, availability is set to 1.0. For products without stock level data, availability is set to 0.0.

Note: When using Omnichannel Inventory, availability is calculated based on cached availability data from Omnichannel Inventory.

The calculated availability is stored in the Availability Index along with the product SKU.

Availability Index

The Ranking Index is an index that contains the calculated availability for a product along with its SKU. This index is updated automatically and incrementally each time:

  • Inventory records are updated by import
  • Inventory records are updated in Business Manager
  • An order is placed in the storefront

The availability index exists on Production systems only and is never staged. This index is never localized; there is one availability index for the entire site. Multiple sites that share an inventory list also share the search availability index.

Note: The index might contain more information than shown here, such as unstored fields in index production mode.

Incremental Updates

The incremental index update ensures that changes are worked into the index automatically and that only those products that changed since the last update was updated.

  • Index updates are made to a new ranking index; the existing product index isn't touched
  • There is a clear separation between actual product data and transactional data
  • The index rebuild doesn't cause a full rebuild of single documents with all product data

A change to a product's availability is done with an inventory transaction with a positive transaction amount. All transactions after the allocation reset date for this product are considered when calculating the product availability. In addition, the following inventory changes also result in an update to the ranking index:

  • Resetting the allocation
  • Modifying the inventory record for a product by setting the Perpetual flag
  • Setting a pre-/backorder allocation
  • Setting the default In-stock flag of the inventory list - using getAvailabilityModel().isInStock()
  • Imports of inventory records