Peeking Under the Hood: The Modules of the CPQ system
The term “CPQ system” implies that it is an all-in-one system. But, under the hood there are some key functionalities that are necessary to include. By looking at the components, or modules, of a CPQ system we can open the door to a composable system architecture where the business can select the best solution for each function given their context, and that a function may be used across multiple different solutions.
Conceptually, we can say that each CPQ system will require at least five fundamental functions/modules:
The five fundamental modules of a CPQ system: Front-end, configurator, visualization, pricing, and quotation, form the core functions required for efficient and streamlined sales processes.
CPQ Front-End: Sales Portal
The Sales Portal is an application, typically a web application, that presents the graphical user interface to the user and gathers data from various supporting blocks underneath.
In its simplest form, the Sales Portal only presents a suggested solution as a tool for finding the right product. However, in most CPQ scenarios, users need the ability to save configurations, reopen them to make changes, and use a shopping cart to purchase multiple products together.
The Sales Portal may also allow users to place orders for the products in the shopping cart.
Configurator
The configurator module provides the functionality to provide a set of questions with allowed answers. Once the configurator receives an answer it updates the list of questions and allowed answers based on that. The configurator will also provide a valid specification and/or a bill of material based on the answers given.
To do this the configurator engine must have a set of rules and definitions to execute. This set of rules is called a configuration model. The configuration model will be changed over time as the product or the allowed configurations change. Because of this the configuration model must be managed so that we keep track of its releases. What is a valid choice or configuration at one point in time may be different at another point in time.
To define the configuration model a design environment is needed. This is where the product and its configurability are modeled, and constraints are added to control the allowed combinations of values. The configuration model typically also includes definition of which questions to ask and how. There may be a logic around the questions as well, if they are dependent on each other, or if there is an order of priority of which answer to default to.
Visualization
Visualization is a crucial component of modern CPQ solutions, providing a clear representation of the configured product. Gone are the days when simple dropdown menus were considered sufficient for a graphical user experience. Today, the level of visualization can range widely based on the business needs and available resources.
At the most basic level, static images may be used to represent choices. However, more advanced implementations leverage immersive, photo-realistic 3D scenes to showcase the configured product. These visualizations not only enhance the user experience but also provide a deeper understanding of the configuration.
Various technologies are available for creating 3D visualizations, ranging from WebGL, where the client device handles rendering, to solutions like Unreal Engine with Pixel Streaming, which utilize cloud services to render scenes in real time and stream them to the user. The right approach depends on the desired level of detail, performance requirements, and technical infrastructure.
Assuming a significant number of possible configurations, and a need to render the actual configuration in the user interface a visualization engine is needed. This engine has the job of combining visualizations of module variants into a product in a compelling scene. The engine will use an asset library including visualization data for the module variants available in the configurable product. To generate a 3D scene, some format of 3D artwork is needed.
To generate the 3D artwork a design solution is needed to for example convert, clean up, and visually improve CAD data to reach the desired fidelity.
Pricing
In the simplest case, where all configurations are predefined, the price for each configuration can be predefined in a price list. But, just as for visualization, as soon as we have a significant number of possible configurations, we want to have a solution calculating the price of the configuration at runtime. The function doing this is what I call a pricing engine. The functionality of the pricing engine is to take a configuration as input (spec and/or BOM), calculate and return the price for it.
To achieve this, a price model must be both designed and managed. For smaller operations, this may be straightforward. However, when dealing with multiple markets, discounts, volume agreements, etc., the complexity of the price model increases significantly. In such cases, it becomes essential to use multiple price lists that include logic for calculating the price.
Quotation
To be able to complete the sales process we must present our offer in a compelling and structured way. The quotation generator is the function responsible for generating and presenting the information needed for the quotation, e.g. a specification of the configured product, and a quotation. The information can be made available in different forms, e.g. as a web page, or a document that can be sent by e-mail, downloaded, or printed. To generate this information, the generator needs to have templates and content that can be added to these templates.
Many generators rely on Word and Excel formats as templates and content snippets, like texts or illustrations, are stored in a database.
Using an Off-the-Shelf CPQ software or creating a custom best-of-breed solution
There are many CPQ solutions available on the market. The other day I looked at a popular software listing site, in its CPQ category no less than 174 products were listed. Some CPQ solutions are embedded in even larger systems, typically CRM or ERP, some are standalone. What is common across most available CPQ solutions is that they are complete packages, including a solution for each of the five fundamental functions needed. While it may seem tempting to have a one-stop-shop supplier of the CPQ solution, there are cases where this is not the best route.
High-End Requirements Case
Businesses that require a very high-end performance for one of the fundamental CPQ functions will likely select a solution that excels in that specific function. However, when a solution is needed that excels in multiple functions, the options quickly narrow down to none.
Existing Solutions Case
Many companies already have existing solutions for one or more of the fundamental CPQ functions that are working well and executing in a well-oiled machinery. As an example, a company has well-functioning pricing and document generation solutions. If they buy a monolith CPQ, they risk having to replace the existing well-functioning solutions. Or, even worse, they risk adding solutions that will work in parallel with these existing solutions multiplying the systems to maintain. Another typical effect is that the company buys a monolith CPQ, and then uses only a fraction of its functionality, at the full price.
The Best-of-Breed Strategy
Another way of finding a solution is to not look at complete packages, but instead build a custom solution based on different components for the different fundamental CPQ functions; for example, combining a headless configurator for constraint-based configuration, with a photo-realistic pixel-streaming service for visualization, and integrating these components with an e-commerce solution that handles pricing and quote generation.
This way of creating a custom solution based on available modules can in many cases give better performance, and less implementation effort, than customizing a monolith solution to your needs.
To drive the best-of-breed strategy, you must look for solutions that are developed to be a part of an efficient puzzle. Words to look for are headless, API-first, and web services. For more reading on how to approach a composable software strategy I recommend a visit to the MACH alliance.
The CPQ process is cutting across the boundaries of Sales, Development, and Operations
In the traditional system landscape of sales systems (CRM), engineering systems (PLM), and production systems (ERP) each system is mainly concerned with the organizational unit that is owning and using it. CPQ naturally cuts across these invisible boundaries, and while this is what makes CPQ a real game changer, it is also a key factor in its complex implementation. When implementing CPQ, the target is to seamlessly communicate between these systems, and that requires cooperation and alignment. In many companies where there are multitudes of legacy systems, add-ons, and integrations this is easier said than done.
What is clear is that, if we only add CPQ without having a clear vision for how to solve the end-to-end information flow with a consistent view of the product, we are adding even more complexity to the system.
Tuning the engine of your existing CPQ system
From time to time, I meet companies that have a well-functioning CPQ system from the front-end perspective. The user interface does its job, the sales reps are well guided, etc. However, the problem is that the performance is too low. It may take minutes or even hours to complete a configuration. A slow configurator defeats the purpose of the CPQ; we want to be able to quickly see different alternatives, make adaptations, and generate a new quote to present to the customer. Some companies try to remedy this by separating the product portfolio into many different configurator models, each with a smaller scope. However, this solution increases the complexity of model design and maintenance, and it forces the sales rep to select the right product as a first step in the configuration process.
What if there was a way of just replacing the engine of your existing CPQ? Just like you could change the GPU, or add RAM to your gaming computer to boost its performance?
In a future blog post we will dive deeper in this topic. If you're interested in discussing what is possible already today – give me a call!
AUTHOR
Tobias Martin
Vice President & Partner
+46 8 456 35 00
tobias.martin@modularmanagement.com
LinkedIn