The Discount Creep Agent detects gradual increases in discounts over time. It uses time-series trend analysis and period-over-period comparisons of discount changes to identify these incremental increases.
List of Required Fields
The following table lists the set of transaction fields required for the Discount Creep 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 |
|---|---|---|
|
CustomerId |
Customer Id |
A unique identifier for the customer account. |
|
CustomerName |
Customer Name |
The display name of the customer account. |
|
CustomerSegment |
Customer Segment |
A classification grouping customers by size, behavior, or strategic value (e.g., key account, mid-market, long tail). |
|
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. |
|
Quantity |
Quantity |
The number of units sold or transacted in the given period. |
Periods
Definition
Series 1 (Current Period)
|
Item |
Value |
Description |
|---|---|---|
|
Data Label |
Current Period |
Sets a label (name) of the Series1 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 |
|---|---|
|
Customer Segment |
Level 1 |
|
customerId |
Level 2 |
|
Name |
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 |
Current Revenue |
∑ |
CurrentRevenue |
The aggregated sum of invoice price for all included transactions in the current period. |
|
List Price |
Current Discount % |
{ } |
CurrentDiscountRate |
For more information about formula see Current Discount Rate. |
|
Margin |
Current Margin % |
{ } |
CurrentMarginRate |
For more information about formula see Current Margin Rate. |
The specific measures may vary depending on the set of fields in your source Transaction Datamart.
Filters
To ensure the inclusion of only valid transactions for the Current Period, we exclude records with a zero Invoice Price and zero Quantity. Additionally, records are filtered to include only those with an Invoice Date later than a configurable relative date threshold, specified as N months ago from a designated anchor date.
Example
(Invoice Price > 0) AND (Quantity > 0) AND (List Price > 0) AND (Invoice Date > custom N months ago 3)
Summary Table (Current Period)
|
Customer Segment |
customerId |
Name |
Current Discount % |
∑Invoice Price |
|
Cable ties & fasterners |
CID-0053 |
European Distributor NL |
37.217 |
2,912,069.03 |
|
Cooling |
CID-0034 |
SO Company Inc UK Global customer Paddington |
36.453 |
334,060.50 |
|
Electric Vehicles |
CID-0037 |
Gabe Corporation |
49.897 |
274,510.21 |
-
Customer Segment – The top-level grouping dimension selected in the Group By definition. Rows are organized by customer segment.
-
customerId – The customer identifier used as the next grouping level within the table hierarchy.
-
Name – The customer name level that further specifies each grouped row.
-
Current Discount % – The calculated discount rate for the current period, based on the configured measure for discount.
-
Current Revenue – The aggregated sum of invoice price for all included transactions in the current period.
-
Current Margin % – The weighted gross margin percentage for the current period.
The specific field names can vary by the source Transaction Datamart. The selected Group By fields define the table’s grouping hierarchy, while the measures determine which aggregated metrics appear as columns.
Series 2 (Previous Period)
|
Item |
Value |
Description |
|---|---|---|
|
Data Label |
Previous Period |
Sets a label (name) of the Series2 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 |
|---|---|
|
Customer Segment |
Level 1 |
|
customerId |
Level 2 |
|
Name |
Level 3 |
Measures
|
Measure |
Label |
Aggregation |
Name |
Description |
|---|---|---|---|---|
|
List Price |
Previous Discount % |
{ } |
PreviousDiscountRate |
For more information about formula see Previous Discount Rate. |
|
Margin |
Previous Margin % |
{} |
PreviousMarginRate |
For more information about formula see Previous Margin Rate. |
|
Invoice Price |
Previous Revenue |
∑ |
PreviousRevenue |
The aggregated sum of invoice price for all included transactions in the previous period. |
Filters
To ensure the inclusion of only valid transactions for the Previous Period, we exclude records with a zero Invoice Price and zero Quantity. Additionally, records are filtered to include only those with an Invoice Date within a specific date threshold, specified as N months ago in a designated anchor date.
Example
(Invoice Price > 0) AND (Quantity > 0) AND (List Price > 0) AND (Invoice Date between custom N months ago 12 (13/10/2024) AND custom N months ago 9 (13/01/2025))
Summary Table (Previous Period)
|
Customer Segment |
customerId |
Name |
Previous Discount % |
|
Cable ties & fasterners |
D-0029 |
KD Fasteners |
-11.21605801 |
|
Cooling |
D-0001 |
Mahle GmbH |
-12.81463801 |
|
Electric Vehicles |
D-0007 |
Mitsubishi Electric |
-13.19063988 |
-
Customer Segment – The top-level grouping dimension selected in the Group By definition. Rows are organized by customer segment.
-
customerId – The customer identifier used as the next grouping level within the table hierarchy.
-
Name – The customer name level that further specifies each grouped row.
-
Previous Discount % – The calculated discount rate for the current period, based on the configured measure for discount.
-
Previous Margin % – The weighted gross margin percentage for the previous period.
-
Previous Revenue – The aggregated sum of invoice price for all included transactions in the previous period.
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 |
|---|---|---|---|
|
Current Period |
customerId |
Previous Period |
customerId |
The specific measures may vary depending on the set of fields in your source Transaction Datamart.
Measures
|
Measure |
Description |
|---|---|
|
Discount % change |
For more information about formula see Discount % Change. |
|
Revenue impact |
For more information about formula see Revenue impact. |
Summary Table (Join Series)
|
Customer Segment [Current Period] |
customerId [Current Period] |
Name [Current Period] |
Customer Segment [Previous Period] |
Name [Previous Period] |
Discount% change |
Revenue impact |
|
Cooling |
D-0001 |
Mahle GmbH |
Cooling |
Mahle GmbH |
-0.180831358 |
9184624.446 |
|
Cable ties & fasterners |
D-0029 |
KD Fasteners |
Cable ties & fasterners |
KD Fasteners |
0.131913707 |
32688952.16 |
|
Electric Vehicles |
D-0007 |
Mitsubishi Electric |
Electric Vehicles |
Mitsubishi Electric |
0.452948893 |
19094153.51 |
-
Customer Segment – Grouping dimension used to present results per segment, consistent with the series’ Group By configuration for alignment across periods.
-
customerId – The customer identifier that aligns rows across periods for the joined output.
-
Name – The customer name shown for readability within each grouped row.
-
Discount % change – The computed period-over-period change in discount derived from joining the current and previous period series.
-
Revenue impact – The quantified effect on revenue associated with the observed discount change for the joined row.
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.
-
Series selection and conditions – Select which series to evaluate and specify the conditions that constitute a detection. Use Preview Rules to validate the rows that match before proceeding.
-
Tuning and iteration – Refine the rule definitions to fit your business context and the number of detected cases.
Example
|
Series |
Rules |
|---|---|
|
Join Series (Join Series) |
|
Schedule
Configure when and how often the Agent runs as part of this step so detections are evaluated on a cadence.
Example
|
Start Date |
Period |
Interval |
|---|---|---|
|
13/10/2025 8:55 |
Day |
7 |
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 |
|---|---|---|---|
|
Discount creep Action |
Discounts increase over time, review of the account could reveal some opportunities |
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 Impact |
Revenue |
20 |
1 |
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.