QL’s pricing engine generates price recommendations for products by associating each product with a pricing group, using a set of filters, and applying the pricing definitions of that group to the product in question.
Coupling the product selection logic (i.e. filters) with the pricing definitions resulted in a large number of pricing groups with duplicate pricing logic, which over time degraded usability and maintainability of pricing logic across the board.
In our efforts to simplify the definition and management of pricing logic, we introduced a new entity named “Pricing Strategy” into the pricing definition flow, as a means of decoupling the pricing logic from the products it is applied to.
With the introduction of pricing strategies, clients can now define pricing flows and logic, including conditions, rules and limits, and encapsulate them as reusable entities (a.k.a Strategies) that are applied to a group of products, defined by filters on attributes (a.k.a Pricing Groups).
Pricing Strategies and Pricing Groups work in tandem, and provide benefits such as:
- Pricing logic reuse, across several pricing groups and channels.
- Simpler maintenance of core pricing logic. Logic is modified once in the strategy and these changes become available to any pricing group implementing the strategy in question.
- Multiple strategies per pricing group means greater flexibility and efficiency when implementing complex pricing logic, while reducing the overall number of pricing groups.
- Pricing strategies provide a solid foundation for the future development and release of complementary features such as A/B testing and performance analysis.
Custom Pricing Functions Revisions
One of the key features that distinguishes QL’s pricing engine is the ability to write custom pricing logic as code and execute it dynamically. This feature, also known as Custom Pricing Functions, allows our clients to implement complex pricing logic as a series of stateful Python functions that are executed by our pricing engine.
Over time, as more and more clients added custom pricing functions to their pricing flow,
it became clear that tracking code changes in these functions was vital to ensure a stable and reliable coding environment.
The revisions feature, added to the custom pricing functions editing process, keeps a record of the most recent changes made to any pricing function code, and allows users to load previous revisions to the code editor, inspect changes and revert back to previous versions if mistakes were made.
Each revision is saved along with the identity of the author who made it, making it easier to keep track of who made the changes and when.
For each function we keep track of the last 10 revisions, allowing users to easily see a historical log of changes made to the function’s code. If any mistakes were made, they can be easily rolled back by loading a previous code revision.
Cross-Channel Price Recommendations
Pricing channels are one of the key building blocks at the heart of QL’s pricing engine. Simply put, pricing channels represent physical or virtual avenues of inventory distribution, which in turn affect cost and shelf prices.
Clients with multiple pricing channels are referred to as “omni-channel” clients in QL parlance. In the past, such clients were able to access price recommendations belonging to a single pricing channel at a time via our UI.
The Cross-Channel price recommendations feature adds support for accessing pricing information from multiple pricing channels in QL’s UI, and is available to all omni-channel systems.
Users of omni-channel systems can now filter price recommendations by channel and view results from one or more available pricing channels, download these recommendations to Excel, and view product-related information in the channel it belongs to, regardless of which channel is currently active in the user session.
Price recommendations can be accepted and edited in place across channels, allowing users to quickly filter, find and manage recommendations of related products in a unified manner.
In addition, a new report named “Pivoted Recommendations”, allows users to query and display price recommendations of related products, grouped by a common attribute, and pivoted by pricing channel. While still in Beta, this report provides an excellent overview of how related products are currently priced, with easy access to edit and accept recommendations made by QL’s pricing engine.
To recap, cross-channel support allows users of omni-channel systems to:
- Filter recommendations by one or more pricing channels.
- Accept and edit price recommendations of products in several channels together, when the above filter is applied.
See detailed product information in a channel that is different from the currently active channel in the user session.
Use the Pivoted Recommendations report to see price recommendations of related products across channels.
A significant part of our clients rely on competitive pricing data to accurately decide how their products should be priced. Historically, competition-related data was managed by our customer support team, in collaboration with the client, as needed.
Over time, we saw that these clients need a more accessible way to effectively manage their competition-related data, without involving our team. This led us to develop a new set of API endpoints that are dedicated to the management of competition-related data, such as competitors, competitive price sources and competitor prices.
With these API endpoints in place, clients can now easily and efficiently manage any competitive pricing data, independently of our customer support team, and ensure their pricing strategies and groups have the most up-to-date information during the pricing lifecycle.