Panel | ||
---|---|---|
| ||
📽️ Check out a video demonstration for this use case, here. |
Panel | ||
---|---|---|
| ||
Use Case Situation Description |
In this use case, pricing practitioners have the ability to configure formula-based agreements to improve contract business contribution margin, eliminate manual errors and increase customer trust, and reduce margin compression due to out-of-date pricing.
Expand | ||
---|---|---|
| ||
User Roles: Pricing or Product Manager or Pricing Analyst Business Objective: Contract pricing is utilized to lock-in a margin % by using a formula that tracks the changes of product cost or market price against a fixed margin base. This eliminates risk and volatility for the chemicals manufacturer because the price will increase and decrease with the periodic changes in cost and market pricing. Automating this process eliminates human errors and time-consuming manual processes. New contract pricing is automatically generated per the contract triggers (e.g. change in raw materials, market index, or other costs). |
Expand | ||
---|---|---|
| ||
|
Expand | ||
---|---|---|
| ||
|
Expand | ||
---|---|---|
| ||
|
Expand | ||
---|---|---|
| ||
|
Expand | ||
---|---|---|
| ||
|
Expand | ||
---|---|---|
| ||
Panel | ||
---|---|---|
| ||
Prescriptive Design Requirements |
As a [Pricing Manager/Sales Rep], I want to have the ability to configure formula-based agreements, so I can:
Improve contract business contribution margin.
Eliminate manual errors and increase customer trust.
Reduce margin compression due to out-of-date pricing
The overall design requirements are summarized in these articles:
Expand | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Functional Requirements For this use case, the functional requirements are:
Non-Functional Requirements For this use case, the non-functional requirements are:
|
Expand | ||
---|---|---|
| ||
The following are the primary KPIs for this use case:
|
Expand | ||
---|---|---|
| ||
These requirements for reporting and dashboards are NOT included in the baseline estimate.
|
Expand | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||
|
Panel | ||
---|---|---|
| ||
User Stories |
These are the user stories associated with this use case.
Expand | ||
---|---|---|
| ||
User Story Name - Store Historical Prices I want to: Store prices in a price history table with Pricefx so I can: Use it as the source throughout the downstream processes Acceptance Criteria: Prices will be stored in Pricefx Data Source to allow for growth and scalability. Prices will be stored for up to 2yrs. Pricefx will configure a cleaning task to remove prices beyond 2 yrs. Cleaning Task will run on the weekend. Price History table will include similar key and attributes in the LPG User Story Name - Extract new Price Records I want to: Extract new price records from the Historical Price Record table so I can: Use it use to trigger processes in downstream applications Acceptance Criteria: Prices will be exported using a CSV file placed on an agreed on Pfx SFTP folder. Prices will configure a backend task to run on a nightly basis in order to scan the price record history table for new prices and export them on a single CSV file. CSV file will include per line the Customer ID, Product Code, New Price, Effective Start Date, Valid-to date (agreement end date) Customer will have to configure a task to remove the newly placed outbound files from the SFTP folder into another folder. |
Expand | ||
---|---|---|
| ||
As a Pricing Manager/Pricing Administrator, I want to use an interface to see all formula-based price records at the Product Code / Customer ID level, so I can effectively manage and administer the price updates and ensure prices are calculated and communicated to the customer based on the agreed-on contract terms. User Story Name - Agreement Conditions I want to: Be able to store all agreements conditions a data source so I can: Use it as inputs to or trigger to the automatic price calculation process Acceptance Criteria: N/A User Story Name - Price records Key I want to: See prices at the Product ID / Customer Level in a single interface so I can: Leverage Pricefx out-of-the-box capabilities to efficiently interact with those prices Acceptance Criteria: Leverage the out-of-the-box capabilities of Pricefx Live Price Grid The LPG primary keys are Product Code / Customer ID LPG should automatically include new price records once a new Formula-based agreement is created. The LPG should automatically remove price records for expired or deleted agreement User Story Name - Price Records Product and Customer Attributes I want to: See the key product and customer attributes that describe the price record so I can: Use it to interact with the price records Acceptance Criteria: Product Description and (up to 3 Product attributes) Customer Name and (up to 3 Customer attributes) Formula related attributes (up to 3 Formula attributes) User Story Name - Price Records Formula Attributes I want to: See the key formula parameters so I can: Use it to interact with the price records and understand the variables that influence the new prices Acceptance Criteria: Index Type, and Index Value Index Aggregation Method Periodicity Lag and offset parameters Lower and Upper Price Swing Guardrails User Story Name - Price Records I want to: See the current price and the effective stat date along with the prior price and the prior effective start date so I can: Understand the difference between the old and the new prices Acceptance Criteria: Current Price Current Price Effective Start Date Prior Price Prior Price Effective Start Date User Story Name -Automatic Price Calculation I want to: Automatically trigger the price calculation based on the predefined triggers in the formula contract so I can: Ensure that prices are calculated on a timely manner based on the agreed on contract with the customer and reduce any delay. Acceptance Criteria: Price calculation to be triggered automatically based on an event-based task that will run nightly to determine if any price record should be updated. Price to be calculated based on pre-defined rules. Price will be automatically approved |
Expand | ||
---|---|---|
| ||
As a Sales Rep/Pricing Manager, I want to use an interface that can be used to set up the formula contract parameters, negotiate the parameters with the customer, and approve the formula agreement. Once approved, the parameters will be used as triggers and input to calculate the next period price. User Story Name - Agreement Header I want to: Use an interface that allows me to capture the header level of the formula agreements so I can: Ensure that the first step of the formula agreement is defined appropriately, and become the source and an input to the follow up step (i.e., Step 2: Items) Acceptance Criteria: Pricefx will use the header object of the Agreements and Promotions Module as the interface. Header Inputs: Start Date End Date: This field will be set to 12/31/3999 as a default. Customer(s): provide access to the customer master and ability to select a single customer or multiple customers. User can choose the advanced filter feature to select customers. Product(s): provide access to the product master and ability to select a single customer or multiple customers. User can choose the advanced filter feature to select customers. Agreement Currency: Drop down menu to choose a currency User Story Name - Exchange Rate table I want to: Load the currency conversion data into Pricefx Currency Conversion table so I can: Use it as an input to the next period price calculation Acceptance Criteria: Data to be loaded in Pricefx Data Source table either manually through Pricefx Excel Client, or automatically integrated via using CSV file placed on a Pricefx dedicated SFTP folder on a pre-agreed frequency. Must have column definition: From Currency, To Currency, Periodicity, Values. (Up to 10 customer’s selected fields) User Story Name - Agreement Header – Price Calculation Date I want to: Set up the agreed-on price update date so I can: Ensure price calculation is triggered to calculate the new prices as of that date and set the new price effective start date is calculated based on the calculation date. Acceptance Criteria: Price calculation frequency selection: a drop down menu that will have the following options: will always be trigger on the 1st day of the month, -1st of the quarter, -1st day of the week User Story Name - Agreement Item – Active Status User Story Name - Agreement Item – Final Price Decimal Precision I want to: Define the decimal precision for final calculated price so I can: Set it up based on the agreement with the customer Acceptance Criteria: Prices in Pfx appear in accordance with the decimal precision rule. Rounding will be applied to only the final calculated price. No rounding will be applied to the intermediary calculations required to produce the final price, such as UoM conversion step, currency conversion step, or any intermediate addition or multiplication operation User Story Name - Agreement Item – Price Swing Guardrails I want to: Set a Lower and Upper price swing limits so I can: Ensure that new calculated prices can be only effective if the price swing amount exceeds the pre-determined guardrails Acceptance Criteria: Price Swing Guardrails are set as an absolute value rather than % Price Swing Guardrails are set on formula level Example: If “Lower Limit” <= P2-P1 <= “Upper Limit” then P2 = P1, else, P2-P1 > Upper Limit or P2 – P1 < Lower Limit then P2 = P1 + Price Swing User Story Name - Agreement Item – Periodicity I want to: Determine the price calculation frequency so I can: Use it as: Set up the agreed-on frequency with the customer. Trigger to automatically recalculate the price Acceptance Criteria: Annually, Semi-Annually, Quarterly, Monthly, Weekly User Story Name - Agreement item – Index Value I want to: Assign an aggregation method to the index value so I can: Use it to determine the estimated value of the index based on the agreed-on method of calculation Acceptance Criteria: Average of, Minimum of, Maximum of, Value of. User Story Name - Agreement Item – Lag/offset rules I want to: Define the time-period (Start/End time) that will be considered to calculate the index value so I can: Identify in the contract what index period to use and how frequently to adjust prices Acceptance Criteria: Please refer to Table-1 above for example of Lag and offset Lag and offset can be applied at the product code level or at a raw material level User Story Name - Agreement Item – Adders I want to: Be able to apply adders to the new contract pricing so I can: Add or subtract to the base price either permanently or temporarily for a period of time (i.e. Jan-Feb only - then it reverts back to the normal base price). Acceptance Criteria: (Up to 3 Adders) Adders are considered a manual entry. (Not pulling from a parameter table of from a data source) Adders will be added to the new calculated prices. User Story Name - Agreement Item – Pricing Raw Material I want to: Be able to configure raw material(s) and the associated weight so I can: Use it as input in the new price calculation Acceptance Criteria: Once selecting the Product Code, allow the user to determine the raw material that will be used to make up the product along with the associated weights. It is no necessary that the weights should add up to 100% Ability to map the raw material to an index. -Example: Product Code = X Raw Material 1 = Ammonia -Index 1 = Ammonia IHS Index -Weight = 75% Raw Material 2 = Natural Gas -Index 2 = NYMAX NG Index -Weight = 50% User Story Name - Agreement – Approval Workflow I want to: Be able to submit the agreement for approval so I can: To ensure agreement conditions are accepted by the required level of authority Acceptance Criteria: One level of approval (Pricing Manager or Sales Rep à Product Manager) Approval logic based on metrics from the current agreement on either header or item level |
Expand | ||
---|---|---|
| ||
As a Sales Rep/Pricing Manager/Pricing Administrator, I want to load several data tables into Pricefx tables, so I can use it through out the formula contract configuration, and for the next period price calculation. User Story Name - Index data table I want to: Load the index data into Pricefx Index table so I can: Use it as an input to the next period price calculation Acceptance Criteria: Data to be loaded in Pricefx Data Source table either manually through Pricefx Excel Client, or automatically integrated via using CSV file placed on a Pricefx dedicated SFTP folder on a pre-agreed frequency. Must have column definition: Index Source, Periodicity, Values, UoM, UoM conversion factor. (Up to 10 customer’s selected fields) User Story Name - Exchange Rate table I want to: Load the currency conversion data into Pricefx Currency Conversion table so I can: Use it as an input to the next period price calculation Acceptance Criteria: Data to be loaded in Pricefx Data Source table either manually through Pricefx Excel Client, or automatically integrated via using CSV file placed on a Pricefx dedicated SFTP folder on a pre-agreed frequency. Must have column definition: From Currency, To Currency, Periodicity, Values. (Up to 10 customer’s selected fields) |
Panel | ||
---|---|---|
| ||
Data Requirements |
The following tables can be either manually loaded in Pfx via Pfx Excel Client or can be automatically integrated using CSV files in a Pfx dedicated SFTP folder:
Index table that includes the index source, monthly and weekly values, rate, UoM, Conversion factor
Currency conversion table that includes the from and to currencies, monthly and weekly values, FX rates
Raw Material table: a mapping table between the Product and its constituent raw material along with each raw material contribution/weight to the product.
Adder 1, Adder 2, Adder 3: parameter tables that stores adders that can be added to formula at the product level.
Panel | ||
---|---|---|
| ||
Out-of-Scope |
This represents the out-of-scope business functions and features for this use case. They can be configured, but by default they are not included in the Chemical Industry Catalog.
Ability to assign a Fixed Price to a product within the Complex Formula guided template.
Ability to calculate prices based on Disaster or Severity contract conditions.
Ability to simulate prices based on index forecasted values.
Ability to apply rounding rules within each step of the price calculations.
The Measures and Decision-making KPI’s
Reporting and Dashboards
Notifications and alerts
API method integration
Customer-Facing templates with calculated prices
Panel | ||
---|---|---|
| ||
Solution Design |
The design and the implementation of the Complex Formula Builder is going to utilize the suite of Pricefx out-of-the-box features and capabilities across multiple Pricefx modules, Agreements & Promotions, Price Setting, and Integration Manager modules. The flowchart below illustrates the end-to-end process and mapping of the process components to Pricefx modules and specific capabilities.
The end-to-end Formula Contract agreement setup and price calculation process:
Expand | ||
---|---|---|
| ||
Identify the input data required for this use case, review data requirements here. An important consideration would be the role of the Data Readiness Methodology for managing input data.
|
Expand | ||
---|---|---|
| ||
The design and the implementation of the Complex Formula builder is going utilize the suite of features and out-of-the-box capabilities of Pricefx that Agreements & Promotions Module. This module will be the frontline interface that will be leveraged by either the Sales Representative or in some cases will be utilized by the Pricing Manager in collaboration with the Sales Rep for the purpose of:
The Agreements & Promotion object within the Agreements & Promotions Module consists of 5 sub-objects, the chart below depict the prescribed process with Pricefx Agreements & Promotions module: Header The user interface that will allow the user (Sales Rep, Pricing Manager) to select agreement scope a) Customer(s), b) Product(s), c) Agreement Start and End Dates, d) Agreement Currency. And provide the user with access to descriptive analytics that KPI’s based on the agreement scope. The user interface that will allow the user (Sales Rep, Pricing Manager) to configure and build the component of the customer formula by product or group of produces. The below features illustrate the prescriptive solution within the Items tab:
The configuration of the formula can be applied at the raw materials level (one level below the Product Code). |
Panel | ||
---|---|---|
| ||
Solution Design Process |
This section teaches business users how to apply our solution to this use case or similar ones through a step-by-step process. Follow along to learn and practice.
Expand | ||
---|---|---|
| ||
The use case focuses on automating contract pricing calculations to provide insights and track changes in product cost or market price against fixed margin base. Our solution aims to eliminate human errors and reduce time-consuming manual processes. In the business scenario, as a Pricing Analyst/Manager, you're required to review current contract pricing results, make adjustments, and recalculate the contract. This involves reviewing calculations and conditions tables, the workflow for the approval process, and the customer insights dashboard. Using complex formulas for specific pricing results is central to this process thus showing the need for accuracy and efficiency in contract management. |
Expand | ||
---|---|---|
| ||
The first step for this Use Case is to review current contracts’ status and performance to identify those contracts that are close to expiration and need to be renewed. For this step we will use the Chemical Contracts Renewal Dashboard as our Analytics capability. Login to Pricefx
The window on the left allows you to filter Contract Renewal information. The fields are automatically filled, but you can make changes using the browser and calendar icons. After making changes, click the Apply Settings icon at the bottom.
Under the Contract Performance table, you can click on the contract number to open the Contracts window in a different browser page automatically. These steps are useful to identify contracts opportunities for pricing improvements. You can use the Dashboard contract links to open the contract directly or follow the next steps to search/look for a specific contract under Agreements & Promotions. |
Expand | ||
---|---|---|
| ||
The second step is to review the current contract prices to identify opportunities and make changes for a better profitability. For this step we will use the Agreements and Promotions capability.
You will get a confirmation message at the top of the window. Now you can locate and click on the new duplicated contract. You must change the name of the contract to easily identify it. Click on the pencil icon. |
Expand | ||
---|---|---|
| ||
After you clicked on the pencil icon to rename your contract, provide a name for your contract and click on the OK blue icon. Under the Header tab, notice the validity period is the same as the original contract. Using the Calendar icons you can change the validity of this new contract. Extend the contract validity for the current year. |
Expand | ||
---|---|---|
| ||
You can change the Input Parameters of your contract by adding customers and products at a Header level. You can add products at a Header & Item level. On the right side of the window the Calculations results at a Header level. These results come from the original contract. The blue Show hyperlinks allow to review additional historical information in graphical charts. |
Expand | |||||
---|---|---|---|---|---|
| |||||
You can select the condition by clicking on the checkbox to display more details per item level which you can see under the Items tab where the contract conditions are listed. The blue Show and Open hyperlinks display/enter additional information related to the selected condition. When an item is selected, additional action icons appear at the bottom to maintain the records.
|
Expand | ||
---|---|---|
| ||
When making your changes, you can use different Base values as you have noticed int he previous step. When the conditions have the Include Scales box checked, you can open the listing by checking the Expand icon. To add values, click then on the Base Adder column. To select another product and enter additional scales, click on Duplicate Records icon at the end of the row. Here you will have to enter Targets and Base Adder values. To save the changes, click Apply and close the dialog box. |
Expand | ||
---|---|---|
| ||
This can be helpful in understanding how the condition calculation works, should you need to adjust it. To review the formula, click the Open box under the Formula Configuration. This is what you will see: You can now use the dropdown to add another Formula Element into the calculation. If, for instance, you choose Index value, this will appear automatically and changes will be added to the formula. |
Expand | |||||
---|---|---|---|---|---|
| |||||
You can change the Calculation Period to take advantage of price changes as frequently as you may need them. The dropdown menu will display an array of options from monthly to quarterly to rolling 3 months etc. You can continue and use the Index option to elect appropriate indexes. Note that the system will display a warning message when Contribution percentage values are required. To resolve this error, enter your selected value in the Raw Material Contribution % field and in Index Contribution %. Save changes by clicking Confirm Changes at the bottom. To add extra currencies, use the Calculation Output Types section. Click the Expand icon and using the Currency dropdown, select an option from the listing. You can use the dropdown also to select Unit of Measure from the list. Click on Apply blue icon at the bottom of the dialog box to save changes. To manage surcharges, scroll down and open the Surcharge dropdown list. Here you can select the item you want and enter a value in the Surcharge Amount field.
|
Expand | ||
---|---|---|
| ||
To review previous calculations, click on the Calculations tab → Show. This will display more details to make sure you have all the information before recalculating your changes. To recalculate changes, after you have completed all the adjustments for the existing condition, you can click on the Recalculate box to apply. The system will display a warning notification that products must be selected at Header level as well. To do this, click on the Header tab and under Input Parameters, click on the viewing icon for Products. Now you can filter the main Product Master list using your dedicated industry. In our example we use Chemicals. Click the checkboxes to select the products you have previously selected for the Items conditions, then click the Select Items blue box at the bottom. Now the system will display the selected products at Header level. Click on Recalculate once more to successfully process the calculation. A confirmation message will displayed by the system to notify you that the calculation has been successfully processed. |
Expand | ||
---|---|---|
| ||
You can upload additional files to your contract by using the Upload button under Attachments tab. The button is located in the top right corner of the dialog window. You can also communicate contract-related information with other users allocated to the particular contract, simply by opening the dropdown and selecting the user you want, then type your message and click on the arrow to send it. The system will display the message in the window with date and time for tracking purposes. The recipient will receive an email to review the contract and answer the message. The user can also reply directly under the Message tab using the Reply button. |
Expand | |||||
---|---|---|---|---|---|
| |||||
After completing the previous steps, your current status for the contract will be Draft. The system displays workflows available to complete the approval process. As soon as you click on the Submit icon, the approval process starts. You can now submit the contract for approval. To do so, click the Submit button at the top-right corner of the window. Follow the notifications and submission steps as recommended by the system to complete the approval.
|
Now you can move on to identifying and reviewing the required company parameters. This is the next stage in this use case and it is important for the contract pricing calculations. The company parameters we consider for this are market indexes, raw materials or cost plus factors.
Panel | ||
---|---|---|
| ||
Identify and Review Required Company Parameters |
You can use the Company Parameters to make changes for new calculations. To locate this button, navigate to the top-right corner of the dialog window and click on the Company Parameters icon.
On the left side of the window, you'll see Categories folders for organizing parameters. Use the Add Folder icon at the bottom to create new folders. Find the folder you want and click on it to view the defined parameters on the right side of the window. These parameters are essential for contract pricing calculations. To create new parameters, click on the Add Parameter icon at the top-right corner of the window.
Choose any available parameters by clicking on the checkbox. On the right side of the window, you'll see the defined values, which are calculated based on a combination of dimensions related to Chemicals products. You can modify or create new records/values using the Add Record or Mass Edit icons at the top-right corner of the window. Then, review the parameters to validate the values available for the contract pricing calculations.
Panel | ||
---|---|---|
| ||
Identify Required Data Sources and Datamarts |
The last phase in this use case is to review the fields within the Data Source and Datamart tables that store the Process Industry (Chemicals) data and results forCustomer Insights Dashboards.
To do this, click on the main menu and go the following path: Analytics → Data Manager → Data Sources.
Once the system displays the Data Source tables you will see the rows contained under each table under the #Rows column. You can now click on the table called Customer Insights Aggregated Data Chemicals. You will notice that most of the fields int his table are related to the Customer Insights Dashboard information. some of these fields are defined as key fields. This allows them to connect to other Data Sources (tables) during the creation of Datamarts.
To edit your Data Source tables, you can use the action icons located at the top-right corner of the dialogue window.
If you want to visualise the content of the fields, click on the Data tab. this will allow the system to display the content of the table along with status and results of previous calculations such as invoice prices, gross margins and so on. To return to the main listing, click on the blue arrow in front of the title field.
For information maintenance you can use the function icons in the top-right corner of the widow.
Now you can review other Data Sources related to this industry.
To review Datamarts, you can follow this path: Analytics → Data Manager → Datamarts.
At this point, the process is similar to Data Sources. The system displays a list of existing Datamarts, and the # Rows column shows the number of records.
If you click on the Standard Sales Data Chem datamart, you can see the combination of fields that collect information from different Data Sources. The main source is displayed in the left area (TXStandardData_Chem(DS)). You can see under the Owner column different sources of information as well as under the Field Picker section on the left area of the window.
To collect and connect information from different source tables, the Datamart must have a key to a Data Source that has a mirror key allowing you to connect the two.
To review the information displayed and the status of the Datamart click on the Data tab. This is the information used/displayed in the Dashboards.
If you want to see/display all the available fields, you can use the Settings icon at the top-right corner of the window and chose the Select Fields to Display option. Use the checkboxes to make your selections or use the main checkbox by the Column name to select all. Click on the Apply blue icon.
Now you can see all the pricing calculated values available to be displayed and evaluated in the Dashboards.