📽️ Check out a video demonstration for this use case, here.
Use Case Situation Description
Implementing guided selling and decision support allows for optimized pricing strategies based on market conditions, quicker sales cycles, tailored quotes boosting win rates, data-driven decisions for accuracy, standardized processes ensuring compliance, upselling potential, reduced manual workloads, enhanced customer experiences, market-responsive strategies, and seamless integration with business systems. Pricefx has the capabilities to drive profitability, faster cycles, higher conversions, and operational efficiency improvements.
User Role(s) and Business Objective
Sales Account Executive / Sales Management
Business Objective:
Businesses receive inquiries from customers throughout the year for quotes on potential purchase of quantities of products we produce. These inquiries reflect at least two different purchase scenarios: (1) a quotation for product purchases for an upcoming fiscal year, which often results in execution of a sales contract, or (2) a one-time spot purchase of product for a project or to fulfil a short-term need. Responding to the customer in a timely manner on these requests, with pricing that is realistic considering the products, markets, and respective volumes involved in the quote.
Complication
-
Quote proposals are usually received via email or direct interface with a customer’s purchasing site. Quotes must be fed back to teams responsible for proposal management, evaluated for pricing and volume commitments, approved internally, and then transmitted by sales back to the customer.
-
Impact on response efficiency and time management
-
Difficulty in quickly performing appropriate analysis to determine the right price for the customer considering current and projected market conditions.
-
Linkage with other systems like ERP and CRM are difficult to manage.
Capability Needed
A quick, integrated way to receive, evaluate, and respond to customer quotes that provides the right price to the customer and allows us to win the business.
Benefit(s)
Company volumes, revenues, and margins will improve.
KPIs
Cumulative win/loss percentage on quotes.
Calculations
Win/loss percentage = (Total deals won / Total opportunities) * 100
Prescriptive Design Requirements
As a Sales Manager, I want to get a quick, integrated way to receive, evaluate, and respond to customer quotes that provides the right price to the customer and allows us to win the business.
so, I can:
-
Improve sales confidence and efficiency
-
Improve quotes performance and velocity
-
Improve business contribution margin
The overall design requirements are summarized in these articles:
Functional and Non-functional Requirements
The following are the functional requirements for this use case:
-
Ability to access Quoting tool
-
Ability to access a predefined quote template that holds the following components:
o Quote header
o Quote Line-Item
-
Import Product functionality or Product picker from the Product Catalogue
-
Access to Input parameters
-
Quantity
-
Price
-
Discount
-
-
Access to guidance
-
Pricing details
-
Inline analytics
-
Line-item Pricing guidance
-
-
Decisions support
-
Deal performance (both line-item level and quote level)
-
Access to Quote overview
-
Access to Built-in workflow
Non-functional requirements
-
Prerequisites Use cases:
-
Use case CHEM00
-
-
Store approved negotiated quoted prices in a Price Records table
Reporting and Dashboards
These are not included in the baseline estimate.
Analytics from Use Case CHEM11
o Ability to view time series history of revenue over time compared to guardrails
o Ability to get benchmark analysis of quotes compared to recent past transactions versus guardrails
o Ability to get revenue and margin break-even analysis
o Ability to get context on in and out compliance deals
o Ability to combine compliance analysis with win/loss data
Measures, Calculation and Decision-making KPIs
The following are the primary KPIs for this use case:
-
Floor, Target and Stretch prices: Values or Formula to be provided by the customer
-
Deal score: Based on Margin%, rules to be defined by the customer
-
Pricing details: All underlying formula must be provided by the customer
Scope Validation and Project Readiness
Information about Scope Validation and Project Readiness for this use case will be available soon.
User Stories
This list encompasses all the epics and user stories that make up this case.
Epic: Input Data
As a Sales Rep/Pricing Manager I want to be able to access data to use it throughout the application and in quotes.
User Story Name - Basic Master Data
I want to: Already covered by CHEM00 which is a prerequisite for all CHEM Use cases, and thus for CHEM09
so I can: Already covered by CHEM00 which is a prerequisite for all CHEM Use cases, and thus for CHEM09
Acceptance Criteria: Already covered by CHEM00 which is a prerequisite for all CHEM Use cases, and thus for CHEM09
User Story Name - Product Cost Data
I want to: Already covered by CHEM00
so I can: Already covered by CHEM00
Acceptance Criteria: Already covered by CHEM00
User Story Name - Competitor data
I want to: Be able to access to Competitor data
so I can: Use them throughout the application, especially in quotes for sales decisions support
Acceptance Criteria: There is a place where competitor prices information are stored at product level.
Competition Data table suitability to be confirmed. In case it isn’t a Datasource will have to be created as well as an Inbound interface to receive and populate the incoming Data.
User Story Name - Product quantity forecast per customer
I want to: Be able to access product quantity forecasts per customer
so I can: And use them in my quote
Acceptance Criteria: This needs to be stored in a separate datasource
Mandatory fields are Date-from, date-to, product ID, customer ID, quantity, UoM
Epic: Quote Type
As a Sales Rep/Pricing Manager I want to have a quoting process set up to quickly access so that I can quickly provide a quote to my customer.
User Story Name - Quote Type
I want to: Access a predefined quote type
so I can: Speed up the process of creating a new Quote
Acceptance Criteria: 1 quote type is available
The quote type holds 1 Quote header and 1 Quote Line-Item logics configured as per corresponding user story.
Basic Quote actions functionalities are available:
Create a new quote, edit a quote, start a workflow, link some attachments to the quote, duplicate a quote, delete a quote, create a revision, email a quote, export a quote …
Workflow Status is set up by the system. There is an interface where the user can access all approval steps and their status. The pending step is highlighted in blue color.
Attachments tab is available: There is an interface where the user can add, and view attached files. For each file, the user can see who and when uploaded it. If it has been sent by email, then the user can see by which user to which recipient.
The ability to add or remove attachments depends on the document status and your user roles.
A messages tab is available as well. There is an interface where the user can communicate with other users about matters regarding this Quote.
User Story Name - Quote Header
I want to: Define quote level parameters
so I can: Provide a price to my customer
Acceptance Criteria: There is a quote Header interface that summarizes the basic quote information, such as: for which customer the Quote is, effective and expire dates, user group entitlements
Following header options are provided:
· Description field
· Effective Date / Expire Date
· External Reference – Optional free text field.
· User groups (Edit) - Allows the user to set which User Groups can edit the quote.
· User group (View details) - Allows the user to set which User Groups can view the quote.
· Customer picker
User Story Name - Quote Line Item
I want to: Define line-item level parameters
so I can: Provide a price to my customer
Acceptance Criteria:
There is a quote Items interface where the user can select the products (items) to be included within the Quote.
The user can also set up price parameters per line-items:
-
Price,
-
Quantity
-
Discount.
Use Story Name - Quote Line Item - Product quantity
I want to: Specify a quantity for a quoted Product.
so I can: Provide a quotation matching the quantity needs
Acceptance Criteria: There is a field where the user can enter a quantity at line-item level.
User Story Name - Quote Line Item - Product Price/discount
I want to: Negotiate a price or discount % for a quoted Product.
so I can: Provide a discount (additional, flat %, default %) to the customer
Acceptance Criteria: There is a field where the user can enter a price and a discount at line-item level.
Discount less than 0 is ignored.
Discount input is optional.
User Story Name - Product history
I want to: Access to Product history information
so I can: Get some information on my customer buying behavior
Acceptance Criteria: This user story requires Product quantity forecast at customer level. The later should be provided by the customer.
Product history information aims to show the Target Quantity Total (the forecasted sold quantity) VS the Target Quantity Gap which is the difference between the forecast and the Actual quantity sold.
The actual quantity bought is based on transactional data.
A Lookup should be configured to calculate the value and enable the Target Quantity Gap calculation.
User Story Name - Competitor information
I want to: Access to Competitor information
so I can: As a Salesperson, Provide consistent pricing to my customer
Acceptance Criteria: Competitor data is required.
We expect competitor prices at product level.
Competitor prices are retrieved in the quote at line-item level.
Based on the availability of the data, information such as Competitor median price, Lowest competitor price or Top 5 competitor prices can be displayed.
User Story Name - Previous Prices
I want to: Access to previous prices information
so I can: As a Salesperson, Provide consistent pricing to my customer
Acceptance Criteria: There is a lookup configured on transactions data.
Based on the data availability, previous unit price and the corresponding margin% are displayed.
Transactional data are required as well as margin calculation components details.
User Story Name - Pricing details
I want to: Access to pricing details
so I can: Understand my Price breakdown
Acceptance Criteria: There is a place where pricing details are displayed.
Based on the data availability, the pricing details display the price breakdown meaning all price components details.
We expect at least to be provided with costs data for margin calculation purposes.
User Story Name - Inline analytics – Benchmark analysis
I want to: Get contextual insights around my item within the quote
so I can: As a salesperson, take better guided decision
Acceptance Criteria:
-
Ability to have inline analytics scatter plot chart displaying past transactions and current open quote versus guardrails
-
Ability to see all the transactions combined, or to benchmark only past transactions focused on same customer type. We expect a customer hierarchy to be available and identifiable in the transactions data set.
-
The chart is based on a transactions data set. (We expect Transactions data set to be available based on “Invoice line items or transactional data” User story.)
-
The following metrics are displayed: Floor, target, Stretch, prices as well as the invoice price and the corresponding quantity of the past transactions.
-
Floor, target and stretch prices are not historical ones, they are the actual guardrails within the context of the current open quote.
-
Ability to drag and zoom in the chart.
User Story Name - Pricing Guidance
I want to: Get pricing guidance within the quote
so I can: As a salesperson, take better guided decision
Acceptance Criteria: This user story requires price guardrails data.
There is a place where Floor, Target, Strech prices guardrails are displayed.
There is a logic configured to retrieve them from the place they are stored (see "Guardrails table” User story).
Those are suggested guardrails defined at line-item level.
User Story Name - Deal Score
I want to: Get direct quote performance insights
so I can: As a salesperson, take better guided decision
Acceptance Criteria: There is a place where a gauge displays the deal score.
Score base calculation should be configured based on business rules based on Margin% provided by the customer.
Business rules can be managed in a parameter table based on Product attributes.
User Story Name - Quote Summary
I want to: View summary data for quoted items
so I can: Review the overview of the quote and understand profitability.
Acceptance Criteria: Summary data for quoted items are visible on Header level.
Epic: Set up Price Guardrails
As a Sales Rep/Pricing Manager I want to give Sales guardrails to my team so I can use them throughout the application, especially in quotes for sales guidance.
User Story Name - Guardrails table
I want to: Be able to set up price guardrails within PFX system
so I can: Use them throughout the application, especially in quotes for sales guidance
Acceptance Criteria: There is a table created for guardrails set up.
We expect 3 levels of guardrails (Floor, target and stretch)
We expect that the set-up of the guardrails will be done according to one of the two following scenarios only:
The user has the ability to either manually enter Price guardrails or load them in the table.
Price guardrails can be defined at any preferred level of granularity based on available customer and product attributes.
In both scenarios, Guardrails can take multiple formats. Guardrails can be defined either as an effective price or as a margin value (absolute value or percentage). If margin values are expected as guardrails, complete cost data is required for future related calculations.
However, only one format will be supported by the table at a time.
User Story Name - Guardrails maintenance
I want to: Be able to maintain price guardrails within PFX system
so I can: Use them throughout the application, especially in quotes for sales guidance
Acceptance Criteria: Ability to manually override guardrails in the guardrails table
Ability to upload a new guardrails file or to add new records directly in the guardrails table.
User Story Name - Guardrails quote logic
I want to: Have a logic that retrieves the proper Price guardrails in the quote
so I can: Get price guidance decisions support for the sales team
Acceptance Criteria: Ability to get visibility on price guardrails for each quote line item.
If price guardrails are defined as price value as per the “Guardrails table” user story, then a lookup logic is configured on the Guardrails table and retrieves the proper guardrails for a given customer/ product combination we are quoting for.
If price guardrails are defined as a margin value as per the “Guardrails table” user story, a logic is configured to back-calculate the corresponding price. With this scenario, complete cost data is required.
Approval Workflow
As a Sales Rep/Pricing Manager I want to set an approval workflow
User Story Name - Approval level definition
I want to: Define the number of approval levels for quotes
so I can: Create a centralized approval process defined by the roles of my team
Acceptance Criteria: The approval workflow meets the approval steps as defined by the business. IE - Deals above the target margin are approved automatically; Deals between the target margin and the target floor will trigger the approval workflow; deals below the floor can be rejected or sent for approval as defined by the customer.
User Story Name - Approver & watcher definition
I want to: Define approvers and/or watchers for each approval level. This can be specific to a user or user group.
so I can: Empower the appropriate users to review deals and approve or deny
Acceptance Criteria: The selected user type receives an email notification as defined in the approval workflow.
The selected user is able approve or deny the quote via the call-to-action in the email.
The selected user can log in to Pricefx and approve or deny the quote.
User Story Name - Approval level conditions
I want to: Define condition(s) for each approval level.
so I can: Direct quotes to the right role for their review and approve/reject decision based on their empowerment levels
Acceptance Criteria: For a quote that falls between the target margin and floor, the approval workflow is triggered, sending a notification to the appropriate party.
The approver is able to approve or deny any notification.
Data Requirements
These are the data requirements for this use case.
The following tables can be either manually loaded in Pricefx via Pricefx Excel Client or can be automatically integrated using CSV files in a Pricefx dedicated SFTP folder:
-
Basic Master Data (CHEM00)
-
Guardrails Data
-
Competitor Data
Out-of-Scope
Out-of-scope business functions and features can be configured, but are not included in the Chemical Industry Catalog.
-
Ability to set up Science based guardrails using Optimization module (CHEM14)
-
Any other quote analytics
-
Notifications and Alerts on quotes
-
Ability to apply rounding rules within each step of the price calculations.
-
Win/loss quote tracking
-
Customer-Facing templates
Solution Design
Quote Type
We need to create a new Quote type with a Quote header logic and a Quote Line-Item Logic
Inputs for the Quote Header Section will be:
· Description field
· Effective Date / Expire Date
· External Reference - Optional free text field.
· User groups (Edit) - Allows the user to set which User Groups can edit the quote.
· User group (View details) - Allows the user to set which User Groups can view the quote.
· Customer picker (one or Group of multiple)
In Quote Line Item we need to create inputs:
· Product Picker
· Quantity
· Price
· Discount
Quote Summary
We need to create in the Header Logic an element with quoteProcessor.isPostPhase().
Then we need to generate the results and quoteProcessor.addOrUpdateOutput and render them.
Calculations
Quote Summary: Sum Total invoice Price of all items
Approval Required: From a Company Parameter we get the required hours needed to approval a quote of a specific Price Range and we compare with the submit time.
Targe Value: Sum Target Price of all items multiplied with the sum of quantities.
Suggested Increase: Targe Value – Current Value (Current value = Sum of all items current value)
Quote Line-Item calculations – Results
To calculate the Quote Line Item-Product Price/discount, we can have a Company Parameter table to hold the discount Strategy.
For example, it can be based on the Quantity, Customer Classification or any other parameter set by customer. Additionally, we have the discount input to override the strategy if needed.
Product history
We need to create a PX table to store the forecasted value of the Target Quantity Total.
Then from the Transactions DataMart we sum the Quantity of the transactions of that products and we calculate:
Target Quantity Gap = Target Quantity Total – Total Quantity Sold
Competitor data
To store Competitor Data we need either to use the existing table of Competition Data, which exists in the partition or if it doesn’t cover our needs, we can create a new Datasource. The best way to establish this process is to receive the inbound files regularly via SFTP and create an inbound interface to map the inbound file and the table we are going to store the Data.
If there is a case that we need to also store Competitor History, we should create 2 data sources, one for current competitor Data and one for the Historical. By doing that we avoid querying a huge table when we just need to compare our price with the current Competitor Price.
Competitor information
Assuming we already store Competitor Data as described above, we can create new elements in Quote line-item logic to show the desired Analytics.
Previous Prices
We need to create new elements in the Quote Line Logic for each.
Previous Unit Price: We need to show Unit Prices of the previous Deal- Quote of that Product.
Previous Margin%: We need to show Margin% of the previous Deal- Quote of that Product.
Pricing details
We need to create for each result an element in the Quote line-item logic to calculate it.
Based on the data availability, the pricing details display the price breakdown meaning all price components details.
In our current case, discount details will be displayed.
Also, we expect to be provided with costs data for margin calculation purposes.
If additional price components need to be taken into consideration, data will need to be provided and corresponding fields will need to be configured as part of the Quote Line-item logic. Only straightforward lookups are part of this design and estimation.
Inline analytics – Benchmark analysis
We need to query the Transactions DM to gather all the required Data
Chart explanation
-
Y axis: Average invoice Price
-
X axis: Quantity
Direct: it shows all the transactions made to Direct customers (customer attribute)
Distributor: it shows all the transactions made to Distributors (customer attribute)
Invoice Price: current invoice price of the Quote
-
Target Price: it shows the current Target Price
-
Floor Price: it shows the current Floor Price
-
Stretch Price: it shows the current Stretch Price
The Optimization Module to calculate Floor Price, Target Price and Stretch Price is not covered in this Use Case, it is covered as part of CHEM14.
Deal Performance
For Price Quality and Deal Score we need to create for each a new element in the Quote Line-item Logic with Format Type type Matrix or Charts. Then we need to create a gauge representation.
Scores can be calculated with a formula provided from the customer.
Range of the chart can be defined by customer.
Guardrails
We need to store the Data for the guardrails and for that we must create a table for the user to load the guardrails data.
There are 3 options to load the Data
-
Direct change on the Partition
-
Excel Client
-
Automated with Inbound File (additional Effort required)
Guardrails can take multiple formats. Guardrails can be defined either as an effective price or as a margin value (absolute value or percentage). If margin values are expected as guardrails, complete cost data is required for future related calculations.
However, only one format will be supported by the table at a time.
We expect 3 levels of guardrails (Floor, target and stretch)
Assumption is that the values of the guardrails will be calculated from the customer and we will just receive them in a ready to use format.
Guardrails quote logic - Line-item Pricing guidance
The Quote Line-Item logic will look up the table to retrieve the Data and display them for each line of the Quote.
Approval workflow
Using the Approval Workflow Package you can get full control and track history of your key pricing decisions through automated approval workflows. You can also define their rules based on your needs and utilize them across your key pricing processes – quotes, rebates, price lists, promotions, Live Price Grid items.
Key Deliverables
· Definition of approval workflow types and approval steps for each of them
· Definition of users, user groups or business roles as approvers
· Definition of conditions to apply in each approval step
· Full execution of workflow process
· Workflow history tracking