Per Unit Cost Pass-Through Agent computes a cost pass‑through rate between recent and prior periods, highlights customers/products with low recovery, and targets recovering the same per‑unit cost increase in price, optionally estimating impact using prior absolute profit per unit.
List of Required Fields
The following table lists the set of transaction fields required for the Per Unit Cost Pass-Through Agent to compute its metrics and detection rules. Ensure these fields or equivalent are available and consistently populated in your source Transaction Datamart before deploying the Agent. Those exact field names are not required, but a similar fields with that data is required.
|
Name |
Label |
Description |
|---|---|---|
|
CurrentRevenue |
Current Revenue |
The revenue generated in the current period, used to measure performance against prior periods. |
|
CustomerId |
Customer Id |
A unique identifier for the customer account. |
|
CustomerName |
Customer Name |
The display name of the customer account. |
|
GrossMargin |
Gross Margin |
The absolute margin in value terms (Revenue minus Cost of Goods Sold), before overhead allocation. |
|
InvoicePrice |
Invoice Price |
The price actually charged to the customer on the invoice. The realized transaction price. |
|
PreviousRevenue |
Previous Revenue |
Revenue generated in a prior comparable period, used as a baseline for trend and pass-through analysis. |
|
PricingDate |
Pricing Date |
The date on which the transaction or pricing event occurred. |
|
ProductId |
Product Id |
A unique identifier for the product or SKU. |
|
ProductName |
Product Name |
The display name of the product or SKU. |
|
ProjectedMargin |
Projected Margin |
An estimated future margin based on current cost structures and pricing, used to model the impact of price changes. |
|
Quantity |
Quantity |
The number of units sold or transacted in the given period. |
|
TotalCosts |
Total Costs |
The sum of all costs attributable to a transaction or product line, including product cost and associated expenses such as freight. |
Definition
Series 1 (Current Period)
|
Item |
Value |
Description |
|---|---|---|
|
Data Label |
Current Period |
Sets a label (name) of the Series 1 data series (data set). Data label can be freely customized and renamed according to your preferences. |
|
Data Source |
[DM] Standard Sales Data (Standard_Sales_Data) |
Selected Transaction Datamart. For more information see Required Customer Data. |
|
Currency |
USD |
Defines which currency the money data will be converted into. |
Group By
|
Group By |
Level |
|---|---|
|
ProductId |
Level 1 |
|
ProductName |
Level 2 |
|
CustomerId |
Level 3 |
|
CustomerName |
Level 4 |
The specific field names may vary depending on the set of fields in your source Transaction Datamart. The selected fields will be utilized to establish the grouping hierarchy in the Summary Table of the Current Period Series. For additional information about grouping, see the Group section
Measures
|
Measure |
Label |
Aggregation |
Name |
Description |
|---|---|---|---|---|
|
Invoice Price |
Current Revenue |
∑ |
CurrentRevenue |
The aggregated sum of invoice price for all included transactions within the Current Period. |
|
Total Costs |
Current Cost |
∑ |
CurrentCost |
The aggregated sum of costs for all included transactions within the Current Period. |
|
Gross Margin |
Current Margin |
∑ |
CurrentMargin |
The difference between the realized price and the cost within the Current Period. |
|
Quantity |
Current Quantity |
∑ |
CurrentQuantity |
The aggregated sum of quantity for all included transactions within the Current Period. |
|
Gross Margin |
Current Margin % |
{ } |
CurrentMarginRate |
The weighted current gross margin percentage. Total margin divided by total revenue. For more information see Current Margin Rate. |
|
Invoice Price |
Current Price |
{ } |
CurrentPrice |
The average unit price in the current period. Sum of invoice price divided by sum of quantity. For more information see Current Price. |
|
Total Costs |
Current Cost Per Unit |
{ } |
CurrentCostPerUnit |
The average unit cost in the current period. Per‑unit cost derived by dividing the cost by quantity. For more information see Current Cost Per Unit. |
The specific measures may vary depending on the set of fields in your source Transaction Datamart.
Filters
Filters are criteria applied to transactional data to ensure only valid records are analyzed, commonly excluding zero-value transactions and constraining invoice dates using relative ranges computed from a configurable anchor date, specified as N months ago.
-
This rule restricts transactions to those with a pricing date within a recent, configurable time window.
-
This rule excludes records with negligible or zero invoice price.
-
This rule excludes records with negligible or zero quantity
Example
Pricing Date >= custom N days ago 30 (9/23/2025) AND Invoice Price > 0.01 AND Quantity > 0.01
Summary Table
|
Product ID |
Product Name |
customerId |
Name |
Current Revenue |
Current Cost |
Current Margin |
Current Quantity |
Current Margin % |
Current Price |
Current Cost Per Unit |
|
DSTI-0001 |
Self-Seal Bubble Mailers #5, 10-1/2" x 16" Golden Kraft, 100 Pack |
D-0035 |
Procter & Gamble |
37852.54897 |
27354.9856 |
10497.56337 |
696 |
0.27732778 |
54.38584622 |
39.30314022 |
-
Product Id – The top-level grouping dimension selected in the Group By definition. Rows are organized by Product Id.
-
Product Name – The Product Name used as the next grouping level within the table hierarchy.
-
Customer Id – The Customer Id level that further specifies each grouped row.
-
Customer Name – The Customer Name is the last level of grouping dimension.
-
Current Revenue – The aggregated sum of invoice price for all included transactions within the Current Period.
-
Current Cost – The aggregated sum of costs for all included transactions within the Current Period.
-
Current Margin – The difference between the realized price and the cost within the Current Period.
-
Current Quantity – The aggregated sum of quantity for all included transactions within the Current Period.
-
Current Margin % – The weighted current gross margin percentage. Total margin divided by total revenue.
-
Current Price – The average unit price in the current period. Sum of invoice price divided by sum of quantity.
-
Current Cost Per Unit – The average unit cost in the current period. Per‑unit cost derived by dividing the cost by quantity.
Series 2 (Previous Period)
|
Item |
Value |
Description |
|---|---|---|
|
Data Label |
Previous Period |
Sets a label (name) of the Series 2 data series (data set). Data label can be freely customized and renamed according to your preferences. |
|
Data Source |
[DM] Standard Sales Data (Standard_Sales_Data) |
Selected Transaction Datamart. For more information see Required Customer Data. |
|
Currency |
USD |
Defines which currency the money data will be converted into. |
Group By
|
Group By |
Level |
|---|---|
|
ProductId |
Level 1 |
|
ProductName |
Level 2 |
|
CustomerId |
Level 3 |
|
CustomerName |
Level 4 |
Measures
|
Measure |
Label |
Aggregation |
Name |
Description |
|---|---|---|---|---|
|
Invoice Price |
Previous Revenue |
∑ |
PreviousRevenue |
The aggregated sum of invoice price for all included transactions within the Previous Period. |
|
Total Costs |
Previous Cost |
∑ |
PreviousCost |
The aggregated sum of costs for all included transactions within the Previous Period. |
|
Gross Margin |
Previous Margin |
∑ |
PreviousMargin |
The difference between the realized price and the cost within the Previous Period. |
|
Quantity |
Previous Quantity |
∑ |
PreviousQuantity |
The aggregated sum of quantity for all included transactions within the Previous Period. |
|
Gross Margin |
Previous Margin % |
{ } |
PreviousMarginRate |
The weighted current gross margin percentage. Total margin divided by total revenue. For more information see Previous Margin Rate. |
|
Invoice Price |
Previous Price |
{ } |
PreviousPrice |
The average unit price in the previous period. Sum of invoice price divided by sum of quantity. For more information see Previous Price. |
|
Total Costs |
Previous Cost Per Unit |
{ } |
PreviousCostPerUnit |
The average unit cost in the current period. Per‑unit cost derived by dividing the cost by quantity. For more information see Previous Cost Per Unit. |
Filters
Filters are criteria applied to transactional data to ensure only valid records are analyzed, commonly excluding zero-value transactions and constraining invoice dates using relative ranges computed from a configurable anchor date, specified as N months ago.
-
Restricts transactions to those with a pricing date within a recent, configurable time window, ensuring the analysis focuses on a specific historical period.
-
Excludes records with negligible or zero invoice price, so only meaningful, billable transactions are considered.
-
Excludes records with negligible or zero quantity, further ensuring data quality and relevance.
Example
Pricing Date between custom N days ago 60 (8/24/2025) and custom N days ago 31 (9/22/2025) AND Invoice Price > 0.01 AND Quantity > 0.01
Summary Table
|
Product ID |
Product Name |
customerId |
Name |
Previous Revenue |
Previous Cost |
Previous Margin |
Previous Quantity |
Previous Margin % |
Previous Price |
Previous Cost Per Unit |
|
DSTI-0001 |
Self-Seal Bubble Mailers #5, 10-1/2" x 16" Golden Kraft, 100 Pack |
D-0035 |
Procter & Gamble |
63534.87033 |
46988.05287 |
16546.81746 |
1184 |
0.260436786 |
53.66120805 |
39.68585547 |
-
Product Id – The top-level grouping dimension selected in the Group By definition. Rows are organized by Product Id.
-
Product Name – The Product Name used as the next grouping level within the table hierarchy.
-
Customer Id – The Customer Id level that further specifies each grouped row.
-
Customer Name – The Customer Name is the last level of grouping dimension.
-
Previous Revenue – The aggregated sum of invoice price for all included transactions within the Previous Period.
-
Previous Cost – The aggregated sum of costs for all included transactions within the Previous Period.
-
Previous Margin – The difference between the realized price and the cost within the Previous Period.
-
Previous Quantity – The aggregated sum of quantity for all included transactions within the Previous Period.
-
Previous Margin % – The weighted current gross margin percentage. Total margin divided by total revenue.
-
Previous Price – The average unit price in the current period. Sum of invoice price divided by sum of quantity.
-
Previous Cost Per Unit – The average unit cost in the current period. Per‑unit cost derived by dividing the cost by quantity.
Join Series (Cost Pass Through Analysis)
|
Item |
Value |
Description |
|---|---|---|
|
Data Label |
Cost Pass Through Analysis |
Sets a label (name) of the Join Series data series (data set). Data label can be freely customized and renamed according to your preferences. |
Definition
Set up the relationship between the series by mapping the matching data columns/dimensions that you would like to include in the definition.
|
Series |
Dimension |
Series |
Dimension |
|---|---|---|---|
|
Current Period |
Product Id |
Previous Period |
Product Id |
|
Current Period |
Customer Id |
Previous Period |
Customer Id |
Measures
|
Label |
Description |
|---|---|
|
Cost Change Abs |
The period-over-period absolute change in average unit cost (current minus previous). For more information see Cost Change Abs. |
|
Price Change Abs |
The period-over-period absolute change in average unit price (current minus previous). For more information see Price Change Abs. |
|
Pass Through Ratio |
The ratio of the period-over-period price change to the period-over-period cost change. For more information see Pass Through Ratio. |
|
Margin Potential |
The monetary amount of margin that could be recovered in the current period if the margin rate were restored to the previous period’s margin rate (apply previous margin % to current revenue). For more information see Margin Potential. |
|
Margin Delta (pp) |
The period-over-period change in gross margin rate, expressed in percentage points (pp). For more information see Margin Delta (Percentage Points). |
|
Current Price |
The average unit price in the current period. Sum of invoice price divided by sum of quantity. |
|
Previous Price |
The average unit price in the previous period. Sum of invoice price divided by sum of quantity. |
|
Current Cost |
The aggregated sum of costs for all included transactions within the Current Period. |
|
Previous Cost |
The aggregated sum of costs for all included transactions within the Previous Period. |
|
Cost Delta |
The period-over-period absolute change in average unit cost (current minus previous). For more information see Cost Delta. |
|
Price Delta |
The period-over-period absolute change in average unit price (current minus previous). For more information see Price Delta. |
|
Current Quantity |
The aggregated sum of quantity for all included transactions within the Current Period. |
|
Revenue Uplift |
Estimates the monetary impact resulting from the difference between the change in unit cost and the change in unit price between the current and previous periods. For more information see Revenue Uplift. |
|
Suggested Price |
Calculates the sum of the current period’s average unit price and current period’s average unit cost, then subtracts the previous period’s average unit cost. For more information see Suggested Price. |
Summary Table
|
Product ID [Current Period] |
Product Name [Current Period] |
customerId [Current Period] |
Name [Current Period] |
Product Name [Previous Period] |
Name [Previous Period] |
Cost Change Abs |
Price Change Abs |
Pass Through Ratio |
Margin Potential |
Margin Delta (pp) |
Current Price |
Previous Price |
Current Cost |
Previous Cost |
Cost Delta |
Price Delta |
Current Quantity |
Suggested Price |
Revenue Uplift |
|
DSTI-0001 |
Self-Seal Bubble Mailers #5, 10-1/2" x 16" Golden Kraft, 100 Pack |
D-0035 |
Procter & Gamble |
Self-Seal Bubble Mailers #5, 10-1/2" x 16" Golden Kraft, 100 Pack |
Procter & Gamble |
-0.382715242 |
0.724638166 |
0 |
0 |
0.016890993 |
54.38584622 |
53.66120805 |
39.30314022 |
39.68585547 |
-0.382715242 |
0.724638166 |
696 |
54.00313097 |
0 |
Detection Rules
Detection Rules defines the Agent’s alert conditions and includes scheduling. When conditions are met, actions are triggered during the next Agent run.
-
This rule is designed to flag situations where price adjustments have not sufficiently reflected underlying cost changes, even when those cost changes are meaningful.
-
The intent is to highlight product and customer combinations where cost increases (or decreases) are not being adequately passed through to prices, potentially signaling margin risk or missed recovery opportunities.
Example
|
Series |
Rules |
|---|---|
|
Join Series (Cost Pass Through Analysis) |
|
Schedule
Set the preferred start date and frequency that you want the Agent to run.
Example
|
Start Date |
Period |
Interval |
|---|---|---|
|
08/12/2025 10:28 |
Month |
1 |
Start Date – The date when the scheduled task will run for the first time.
Period – Period which represents the offset between each run.
Interval – Interval which represents the number of repetitions in a selected period. Allowed characters are 0-9. 0 means one-off run.
Action Definition
Notifications assigned to specific users (The assignment must be made to a genuine system user). For more information see Action Definition.
Example
|
Summary |
Description |
Due Date |
Assign to |
|---|---|---|---|
|
Cost Pass Through Gap |
Increased costs that not resulted in increased prices
|
in 7 Days |
|
Impact Calculation
You can define specific metrics to compute the foreseen impact of the actions. Please only use total absolute value (and not relative values) as those metrics will be aggregated.
Impact Definition
|
Measure |
Impact Type |
Realization Rate (%) |
Order |
|---|---|---|---|
|
Revenue Uplift |
Revenue |
80 |
1 |
|
Margin Potential |
Profit |
60 |
2 |
Summary
Review the setup of the Agent, here you can see all the set parameters in one place.
If you are happy with the setup, click Submit for Approval. Once the Agent is approved, it becomes active and starts monitoring your data based on the schedule.
Review the final results in the Summary step.