The Unprofitable Product Agent identifies and quantifies products with negative or sub-benchmark margins, prioritizing remediation by revenue impact to address hidden margin leakage.
List of Required Fields
The following table lists the set of transaction fields required for the Unprofitable Product 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 |
|---|---|---|
|
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. |
|
LocalListPrice |
Local List Price |
The standard list price applicable in the customer's local market, before any discounts or adjustments. |
|
PricingDate |
Pricing Date |
The date on which the transaction or pricing event occurred. |
|
ProductGroup |
Product Group |
A category grouping products by type, business line, or market segment. |
|
ProductId |
Product Id |
A unique identifier for the product or SKU. |
|
ProductName |
Product Name |
The display name of the product or SKU. |
Definition
Series 1 (Revenue and Margin by Product)
|
Item |
Value |
Description |
|---|---|---|
|
Data Label |
Revenue and Margin by Product |
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] Transactions (Transactions) |
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 |
|
ProductGroup |
Level 3 |
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 |
Revenue |
∑ |
Revenue |
The aggregated sum of invoice price for all included transactions. |
|
Margin |
Profit |
∑ |
Profit |
The total profit earned from a product, calculated as the difference between the realized price and the cost for all transactions. It represents the absolute profit contribution. |
|
Margin |
Avg Margin % |
{ } |
AvgMarginPct |
The product’s average margin rate, computed as total margin divided by total revenue. For more information see Average Margin Percentage. |
|
List Price |
Local List Price |
{ } |
LocalListPrice |
The weighted average unit price over the selected period. For more information see Local List Price. |
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.
-
Constrain the analysis period by applying a relative date rule, which limits the dataset to transactions occurring within a configurable period prior to the current date.
Example
Pricing Date > custom N months ago 3 (11/09/2025)
Summary Table
|
Product ID |
Product Name |
Product Group |
Revenue |
Profit |
Avg Margin % |
Local List Price |
|
DSTI-0001 |
Self-Seal Bubble Mailers #5, 10-1/2" x 16" Golden Kraft, 100 Pack |
Envelopes & Mailers |
686394.349 |
193485.369 |
0.2818866 |
46.76298318 |
|
DSTI-0002 |
6.75" x 9" Self-Sealing Bubble Mailer, #0, White, 25/Carton |
Envelopes & Mailers |
108925.939 |
30364.6159 |
0.278763866 |
7.40392468 |
-
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.
-
Product Group – The Product Group level that further specifies each grouped row.
-
Revenue – The aggregated sum of invoice price for all included transactions.
-
Profit – The total profit earned from a product, calculated as the difference between the realized price and the cost for all transactions. It represents the absolute profit contribution.
-
Avg Margin % – The product’s average margin rate, computed as total margin divided by total revenue.
-
Local List Price – The weighted average unit price over the selected period.
Series 2 (Avg Margin by Product Group)
|
Item |
Value |
Description |
|---|---|---|
|
Data Label |
Avg Margin by Product Group |
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] Transactions (Transactions) |
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 |
|---|---|
|
ProductGroup |
Level 1 |
Measures
|
Measure |
Label |
Aggregation |
Name |
Description |
|---|---|---|---|---|
|
Gross Margin |
Avg Margin % |
{ } |
AvgMarginPct |
The product’s average margin rate, computed as total margin divided by total revenue. For more information see Average Margin Percentage. |
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.
-
Constrain the analysis period by applying a relative date rule, which limits the dataset to transactions occurring within a configurable period prior to the current date.
Example
Pricing Date > custom N months ago 3 (11/09/2025)
Summary Table
|
Product Group |
Avg Margin % |
|
Envelopes & Mailers |
0.279820574 |
-
Product Group – The Product Group level that specifies each grouped row.
-
Avg Margin % – The product’s average margin rate, computed as total margin divided by total revenue.
Join Series (Join Series)
|
Item |
Value |
Description |
|---|---|---|
|
Data Label |
Join Series |
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 |
|---|---|---|---|
|
Revenue and Margin by Product |
Product Group |
Avg Margin by Product Group |
Product Group |
Measures
|
Label |
Description |
|---|---|
|
MarginVariance |
The difference between an account’s margin rate and the relevant benchmark (e.g., segment or portfolio average), quantifying the degree of underperformance. For more information see Margin Variance. |
|
Margin Uplift |
The potential profit uplift for a customer if their margin rate were increased to the average of their own margin rate and the segment average. For more information see Margin Uplift. |
|
Revenue |
The aggregated sum of invoice price for all included transactions. |
|
MarginLiftPotentialPct |
The potential profit uplift (percentage) per product if their margin rate were raised to the relevant benchmark. For more information see Margin Lift Potential Percentage. |
|
Revenue Uplift |
The estimated additional profit that could be realized if the subject’s margin rate were improved to the average of its current margin rate and the relevant benchmark (such as a segment average). For more information see Revenue Uplift. |
|
Current Margin % |
The weighted gross margin percentage for the current period, computed as total margin divided by total revenue (invoice price). For more information see Current Margin Percentage. |
|
Suggested Margin % |
The recommended interim margin rate set at the midpoint between the current margin rate and the benchmark/target margin rate (e.g., segment average). For more information see Suggested Margin Percentage. |
|
Segment Average Margin % |
The weighted average gross margin rate for a given segment over the selected period, computed as total margin divided by total revenue across all entities in that segment. For more information see Segment Average Margin Percentage. |
|
Current List Price |
The standard list price for a product in the current period. For more information see Current List Price. |
|
Suggested List Price |
A recommended list price for a product. For more information see Suggested List Price. |
Summary Table
|
Product ID [Revenue and Margin by Product] |
Product Name [Revenue and Margin by Product] |
Product Group [Revenue and Margin by Product] |
MarginVariance |
Margin Uplift |
Revenue |
MarginLiftPotentialPct |
Revenue Uplift |
Current Margin % |
Suggested Margin % |
Segment Average Margin % |
Current List Price |
Suggested List Price |
|
DSTI-0001 |
Self-Seal Bubble Mailers #5, 10-1/2" x 16" Golden Kraft, 100 Pack |
Envelopes & Mailers |
-0.002066026 |
-709.0543013 |
686394.349 |
-0.00366464 |
-709.0543013 |
0.2818866 |
0.280853587 |
0.279820574 |
46.76298318 |
46.69581081 |
|
DSTI-0002 |
6.75" x 9" Self-Sealing Bubble Mailer, #0, White, 25/Carton |
Envelopes & Mailers |
0.001056708 |
57.5514742 |
108925.939 |
0.001895347 |
57.5514742 |
0.278763866 |
0.27929222 |
0.279820574 |
7.40392468 |
7.409352531 |
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.
The rule targets two distinct scenarios. First, it highlights products that demonstrate a significant positive margin variance, defined as greater than 0.04, combined with a positive margin uplift. This combination signals that these products have the potential for margin improvement, making them prime candidates for optimization efforts.
Example
|
Series |
Rules |
|---|---|
|
Join Series (Join Series) |
|
Schedule
Set the preferred start date and frequency that you want the Agent to run.
Example
|
Start Date |
Period |
Interval |
|---|---|---|
|
11/12/2025 11:48 |
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 |
|---|---|---|---|
|
Unprofitable Product Agent |
The list below shows Products with profitability issues. |
in 7 Days |
|
Similar Case Handling
-
Period – Defines the time period between potential similar action. Similar case will not be recreated before the defined period. Time unit for the duplicate-prevention window.
-
Interval – Number of periods between similar actions. Similar case will not be recreated before the defined interval. Prevents creating a very similar case for the same context within the defined interval.
Example
Prevents creating a very similar case for the same context within a 3-month period.
|
Item |
Value |
|---|---|
|
Period |
Month |
|
Interval |
3 |
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 |
50 |
1 |
|
Margin Uplift |
Profit |
40 |
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.