CHEM08: Identify and eliminate underperformance via customer/product insights analytics KPIs

πŸ“½οΈ A video demonstration for this use case will be made available soon.

Use Case Situation Description

In this use case, our primary objective revolves around the attainment of our margin objectives. This is a challenge that can be overcome through meticulously formulating optimized pricing directives for your sales team.

PriceFx offers an opportunity to streamline optimization allowing the creation and implementation of models for optimized pricing. This results in substantial profit margin growth and increased sales team confidence in your pricing suggestions.

User Role(s) and Business Objective

Pricing Analyst/Manager, Product Manager

Business Objective:

Our business strives to maintain prices and sales processes that generate sufficient margin from each of our customers. Our pricing and our discounting processes take into consideration product costs, customer volume commitments, customer cost to serve, rebate scenarios, and other cost items to generate an expected margin. Our goal is to have all customers and products meet certain margin thresholds, sometimes based on volume, but also absolute values of margin.

Complication
  • Outsized discounts to certain customers, result in lower-than-expected margins.

  • Monitoring systems today are not capable of quickly identifying margin performance of a customer or product against their peers or against plans or expectations for that customer or product group.

Capability Needed

Analytics capabilities that analyze margin performance against the other customers and products and against the plan for that customer or product that is linked to an execution system that can change parameters.

Benefit(s)

Company overall margin will improve.

KPIs

Contribution margin (preferred) or gross margin change.  This can be measured at the account level, or at higher levels in the enterprise (product, market, geography, or total business).

Calculations

Contribution margin = revenue – variable cost of goods sold

Gross margin = revenue – total cost of goods sold

Value Projections

1.a Sales Insights Revenue and Margin (identify underperformance by 4-box-model)

image-20230823-132541.png

1.c Sales Insights Outlier Dashboard (identify underperformance by quartile)

image-20230823-132614.png

Prescriptive Design Requirements

As a Pricing Manager/ Product Manager, I aim to maintain prices and sales processes that generate sufficient margin from each of our customers.

I want to generate an expected margin, taking into consideration:

Β·       product costs

Β·       customer volume commitments

Β·       customer cost to serve

Β·       rebate scenarios

Β·       other cost items

I aim to have all customers and products meet certain margin thresholds, sometimes based on volume, but also absolute values of margin.

The overall design requirements are summarized in these articles.

Functional and Non-functional Requirements

LEARN MORE: This use case requires the Sales Insights Package. Check out in depth documentation here.

Complications:

During sales negotiations, we sometimes give outsized discounts to certain customers, resulting in lower-than-expected margins. Monitoring systems today are not capable of quickly identifying margin performance of a customer or a product against their peers, plans and expectations for that customer or product group. Additionally, even when problems are uncovered, it is not straightforward to know what actions to take or specifically how to execute those quick actions.

Capability Needed:

Analytics system, linked to an execution system that can change parameters, measuring margin performance against:

Β·       other customers

Β·       other products

Β·       plan for that customer

Β·       plan for that product

Benefit:

Β·       Company’s overall margin improves.

KPI: 

Β·       Contribution margin change

Β·       Gross margin change

Β·       Measured at the account level

Β·       Measured at higher levels in the enterprise: product, market, geography, or total business

Calculations:

  • Contribution margin = revenue – variable cost of goods sold

  • Gross margin = revenue – total cost of goods sold

Non-functional requirements

  • This solution is designed to support ~500 customers, ~10,000 products and <20MM transactions

Reporting and Dashboards

Includes 9 dashboards:

  1. Revenue and Margin Dashboard

7 portlets: 7 charts

  1. Regional Revenue and Margin Dashboard

1 portlet: 1 chart

  1. Outliers Dashboard

4 portlets: 2 charts, 2 tables

  1. Waterfall Dashboards

1 portlet: 1 chart

  1. Comparison Waterfall Dashboard

1 portlet: 1 chart

  1. Revenue Breakdown Dashboard

1 portlet: 1 chart

  1. Margin Breakdown Dashboard

1 portlet: 1 chart

  1. Causality Dashboard

2 portlets: 2 charts

  1. Period Over Period Dashboard

1 portlet: 1 chart

Measures, Calculation and Decision-making KPIs

Revenue and Margin Dashboard

(using the Advanced Configuration field notation)

  • Revenue = SUM( revenue )

  • Margin = SUM( grossMargin )

  • Margin % = SUM( grossMargin ) / SUM( revenue ) * 100

There are some default filters put on various fields to ensure proper calculations. These are:

  • Only entries with not null grossMargin are considered.

  • Only entries with not null invoicePrice are considered.

  1. Regional Revenue and Margin Dashboard

 

Fields displayed on the dashboard are calculated in the following manner:

Β·       Revenue = SUM(revenue)

Β·       Margin = SUM(grossMargin)

Β·       Quantity = SUM(quantity)

Β·       Margin % = SUM(grossMargin) / SUM(revenue) * 100

Β·       Deviation WAP = (item revenue / item quantity) - (total revenue / total quantity)

Β·       Revenue per Customer = (item revenue) / (number of customers in a given area)

Β·       Margin per Customer = (item grossMargin) / (number of customers in a given area)

Β·       Revenue per X People = X * (item revenue) / (population in given area)

Β·       Margin per X People = X * (item grossMargin) / (population in given area)

 

By default X is set to 1000.

The following default filters are put on various fields to ensure proper calculations:

Β·       Only entries with not null grossMargin are considered.

Β·       Only entries with not null invoicePrice are considered.

Β·       Only entries with not null quantity are considered.

Β·       Only entries with not null continent are considered (if applicable).

Β·       Only entries with not null country are considered (if applicable).

Β·       Only entries with not null region are considered (if applicable).

Outliers Dashboard

The current implementation provides three calculation models. These models differ in how items are distributed to buckets.

There are always 4 buckets: High, Medium, Low, Negative. The threshold calculations assign each item to a proper bucket based on the selected KPI value.

The following rules apply for all models when placing an item into one of these 4 buckets. Each item whose running total KPI value is:

  • negative – gets assigned to the Negative bucket.

  • below the Low threshold – gets assigned to the Low bucket.

  • above the High threshold – gets assigned to the High bucket.

  • in neither of previous buckets – gets assigned to the Medium bucket.

The models are:

 (Max - Min) Split Model

Allowed KPI values:

Β·       Revenue (selected by default)

Β·       Revenue Contribution %

Β·       Margin

Β·       Margin %

Β·       Margin Contribution %

Thresholds are calculated in the following manner:

  • High = MAX(KPI) - ((MAX(KPI) - MIN(KPI)) / 3)

  • Low = MIN(KPI) + ((MAX(KPI) - MIN(KPI)) / 3)

Split Equally Model (Placeholder name)

Allowed KPI values:

  • Revenue (selected by default)

  • Margin

This model uses the running total for bucket assignment. All items are sorted descending depending on the selected KPI. A running total is calculated along with each item assignment.

Thresholds are calculated in the following manner:

  • High = SUM(KPI) / 3

  • Low = SUM(KPI) / 3 * 2

Contribution Model (Placeholder name)

Allowed KPI values:

  • Revenue Contribution % (selected by default)

  • Margin Contribution %

This model also uses the running total for bucket assignment. Again, all items are sorted descending depending on the selected KPI. A running total is calculated along with each item assignment.
Thresholds are fetched from the OutliersContributionModelThresholds PP.

Default Filters
There are some default filters put on various fields to ensure proper calculations. These are:

  • Only entries with not null grossMargin are considered.

  • Only entries with not null invoicePrice are considered.

  • Only entries with not null quantity are considered.

  • Only entries with SUM(invoicePrice) > 0 are considered.

  • Only entries with SUM(quantity) > 0 are considered.

Waterfall + 5. Comparison waterfall

Each field value defined in the Advanced Configuration "waterfall-configuration" retrieved by querying its SUM from the Datamart.
The exceptions are fields marked as isSum – these are calculated based on previous field values.

LEARN MORE: For additional information about the configuration, see Platform Manager Configuration.

Datamart Selection
The initial step to start the waterfall configuration is selection of the source Datamart from which data will be fetched. SIP uses its own Datamart called Standard_Sales_Data.

image-20230824-075000.png

Preloaded Template

If the Standard_Sales_Data DM is selected, the user will be presented with a predefined structure that can be used as a guide for further operations.

Any fields that are not defined in the selected DM will be automatically removed from the predefined template.
If configuration of the waterfall step is already present on the partition, it will be loaded instead of the the default template.

Waterfall Definition Glossary

Β·       Source – Field from Datamart used to retrieve a value for a given waterfall field.

Β·       Label – Allows to define a custom label to the field that is going to be displayed on the chart.

Β·       Sum – Defines the field as a sum, i.e. the value of this field will be calculated by summation of all previous fields. The first field cannot be a sum, the last one however must be.

Β·       Percent Base – Marks the given field as a percentage base for percentage model calculations.
There can be only one percentage base field.

Β·       Reverse – Allows to reverse the value of a given field. Useful for creating subtractions if the data is stored in positive values.
! For elements with a sub-level, the fields in the sub-level are used for calculation and they should be reversed, not the parent field.

Β·       Disabled – Marks the field as disabled. Disabled fields are not shown on the dashboard.

Form Controls

Β·       Source selection – This input is used to select Datamart fields.

  • Remove – This button allows you to remove the waterfall field definition.

Β·       Radio buttons – These buttons allow you to select appropriate field parameters. Keep in mind they have conditions (for example only one radio button with Percent Base can be selected).

Β·       Move button – This button allows you to move fields up and down. You need to click and hold it for 1 or 2 seconds before the move can happen.

Β·       Add sub-level – Allows you to add sub-level fields for the drilldown functionality. Keep in mind that fields with sub-levels (parents) cannot have Datamart representations, but the sub-level fields can (children).

  • Add row – Allows you to add a new waterfall field.

Configuration Deployment

After setup the configuration will be deployed to the partition in the Advanced Configuration section under the name β€œwaterfall-configuration”.

Revenue Breakdown

There are 8 columns displayed in the dashboard:

  • Revenue in {T1} β€“ Provides a revenue summary from the first period.

  • Volume Effect β€“ Difference in revenue between T1 and T2 is attributed to a difference in volume only (the impact of changes in volume). Total change in volume multiplied by the difference of the inter-period weighted average price and cost. This can be positive or negative.

  • Price Effect β€“ Difference in revenue between the T1 and T2 that can be attributed solely to changes in price (the impact of changes in specific prices). The average volume multiplied by the weighted average change in prices where the weighting uses the average volume weighting across the two periods. The result can be negative or positive.

  • Portfolio Mix Effect β€“ Difference in revenue between T2 and T1 for transactions for customers that appear in both T1 and T2 but are not yet included in the Price Effect nor Volume Effect categories (impact of changes in the product portfolio mix). It is defined by the average volume and the sum of the differences in individual products of their average price across the two periods multiplied by their change in portfolio mix contribution between the two periods.

  • New Business β€“ Total revenue from transactions in T2 from customers that did not buy anything in the T1, expressed as a positive number. Always positive.

  • Lost Business β€“ Total revenue from transactions in T1 from customers that did not buy anything in the T2, expressed as a negative number. Always negative.

  • Other Effects β€“ Other effects that may influence the revenue that are none of the above.

  • Revenue in {T2} β€“ Provides a summary of revenue from the second period.

Effects are calculated in the following way:

Effect

Calculations

Volume

SUM((T2.Volume + T1.Volume) / 2) * SUM((T2.Mix + T1.Mix) / 2 * (T2.InvoicePerUnit - T1.InvoicePerUnit)

Price

SUM((T2.Volume + T1.Volume) / 2) * SUM((T2.Mix + T1.Mix) / 2 * (T2.InvoicePerUnit - T1.InvoicePerUnit

Portfolio Mix

SUM((T2.Volume + T1.Volume) / 2) * SUM((T2.Mix - T1.Mix) * (T2.InvoicePerUnit + T1.InvoicePricePerUnit) / 2)

Other

T2.InvoicePrice - (T1.InvoicePrice + lostBusinessEffect + priceEffect + volumeEffect + mixEffect + newBusinessEffect)

Mix defintion:

  • the ratio of volume for the particular product in the scope of all products volume within the period = volume per product / volume per all products

  • T1.Mix = T1.Volume/T1Volume

  • T2.Mix = T2.Volume/T2Volume

Margin Breakdown Dashboard

There are 9 columns displayed in the dashboard:

  1. Margin in { T1 } β€“ Provides a margin summary from the first period.

  2. Volume Effect β€“ Difference in margin between T1 and T2 is attributed to a difference in volume only (the impact of changes in volume). Total change in volume multiplied by the difference of the inter-period weighted average margin. This can be positive or negative.

  3. Price Effect β€“ Difference in margin between the T2 and T1 that can be attributed solely to changes in price (the impact of changes in specific prices). The average volume multiplied by the weighted average change in prices where the weighting uses the average quantity weighting across the two periods. The result can be negative or positive.

  4. Portfolio Mix Effect β€“ Difference in margin between T2 and T1 for transactions for customers that appear in both T1 and T2 but are not yet included in the Price Effect nor Volume Effect categories (impact of changes in the product portfolio mix). It is defined by the average volume and the sum of the differences in individual products of their average price and cost across the two periods multiplied by their change in portfolio mix contribution between the two periods.

  5. New Business β€“ Total margin from transactions in T2 from customers that did not buy anything in the T1, expressed as a positive number. Always positive.

  6. Lost Business β€“ Total margin from transactions in T1 from customers that did not buy anything in the T2, expressed as a negative number. Always negative.

  7. Cost Effect β€“ Difference in margin between T1 and T2 is attributed to a difference in cost only (the impact of changes in specific costs). The average volume multiplied by weighted average change in costs where the weighting uses the average quantity weighting across the two periods.

  8. Other Effects β€“ This value should always be zero. If it is not, the relationship "Invoice - Cost = Gross Margin" is not fulfilled. Hence this component does not need a bar to be represented.

  9. Margin in { T2 } β€“ Provides a margin summary from the second period.

Effects are calculated in the following way:

Effect

Calculations

Volume

SUM(T2.Volume - T1.Volume) * SUM((T2.Mix * T2.MarginPerUnit + T1.Mix * T1.MarginPerUnit) / 2)

Price

SUM(T2.Volume + T1.Volume) / 2) * SUM((T2.Mix + T1.Mix) / 2 * (T2.InvoicePerUnit - T1.InvoicePerUnit)

Portfolio Mix

SUM((T2.Volume + T1.Volume) / 2) * SUM((T2.Mix - T1.Mix) * (T2.MarginPerUnit + T1.MarginPerUnit) / 2)

Other

SUM(T2.Volume + T1.Volume) / 2) * SUM((T2.Mix + T1.Mix) / 2 * (T2.CostPerUnit - T1.CostPerUnit)))

Mix definition:

  • Quantity ratio for the particular product in the scope of all products quantity within the period = quantity per product / quantity per all products

  • T1.Mix = T1.Volume/T1Volume

  • T2.Mix = T2.Volume/T2Volume

Default Filters

There are some default filters put on various fields to ensure proper calculations. These are:

  • Only entries with not null grossMargin are considered.

  • Only entries with not null invoicePrice are considered.

  • Only entries with not null quantity are considered.

  • Only entry sets with SUM(quantity) > 0 are considered (aggregation "having" filter is applied).

Causality Dashboard

In the tables below the following abbreviations are used*:

Β·       T1 β€“ First period data

Β·       T2 β€“ Second period data

There are several columns displayed on the dashboard:

  1. Revenue/Margin in {T1} β€“ Provides a revenue/margin summary from the first period.

  2. User selected product aggregation | User selected customer aggregation – Total revenue/margin of a given product/customer group.

  3. Other effects (number of entries) – Total revenue/margin contribution of all the other groups that are not displayed in the top X groups.

  4. New/Lost Business – Total contribution of entries that are not in the common business for given periods.

  5. Revenue/Margin in {T2} β€“ Provides a revenue/margin summary from the second period.

The fields are calculated in the following way:

Β·       Revenue/Margin in {T1}/{T2} = SUM(invoicePrice)/SUM(grossMargin)

Β·       Product/Customer group entries = SELECT {productIdField}, {customerIdField}, SUM(T2.{measure} - T1.{measure}) AS 'Delta' FROM T2 INNER JOIN T1 ON {joinFields} {groupBy} ORDER BY SUM(T2.{measure} - T1.{measure}) {orderStyle}

Β·       New/Lost Business = T2 - T1 - {top elements measure summed up} - {common business}

o   Common business = All entries - Top entries summed up

There are some default filters put on various fields to ensure proper calculations. These are:

Β·       Only entries with not null grossMargin are considered.

Β·       Only entries with not null invoicePrice are considered.

Β·       Only entries with SUM(invoicePrice) > 0 are considered.

Β·       Only entries with SUM(grossMargin) > 0 are considered.

Period over period dashboard Dashboard

Ratio Types and formulas used (by default) to calculate the output measure:

Β·       Gross Margin % = Gross Margin / Invoice Price

Β·       Price Leakage % = (Local List Price – Net Price) / Local List Price

Β·       Price Realization % = Invoice Price / Global List Price

Β·       Incentive % = Net Sales Column / Local List Price Column

Β·       Average Price Per Unit = Invoice Price / Quantity

Β·       Average Profit Per Unit = Gross Margin / Quantity

Β·       Custom = input values are provided manually as numerator and denominator in the formula

Scope Validation and Project Readiness

During the scope validation process we are ensuring that the project deliverables are completed according to the agreed scope and quality standard by asking the following questions.

Scope Validation and Project Readiness Workshop – Validation Questions & Answers:

Q1: What transaction volume do you have?

A1:

Q2: How many years do you want to report on? (1-2-3 years)

A2: 

Q3: How many products do you have?

A3:  

Q4: How many customers do you have?

A4:


User Stories

These are the user stories and epics that make up this use case.

Epic: Revenue and Margin

As a Pricing Analyst, I want to set up master and transactional data and data mart to perform analysis using Pricefx capabilities.

User Story Name - Datamart setup

I want to: Set up Product & Customer Master and a Transactional Data source & Data mart.

so I can: Perform analysis using Pricefx PriceAnalyzer.

Acceptance Criteria:

  1. Product Master available

  2. Customer Master available

  1. Transactional Data source available

  2. Transactional Data mart available


User Story Name - Revenue & Margin % over Time chart

I want to: Analyze revenue and margin % achieved during a given period, with the possibility to change the time dimension for aggregation.

so I can: Understand the revenue and margin trends for the business and decide on corrective actions.

Acceptance Criteria:

  1. Two measures time chart, with Revenue as a bar on left Y-Axis and Margin % as line on right Y-Axis

  2. Able to filter data by Product or Customer attributes


User Story Name - Revenue & Margin by Customer or Product charts

I want to: Analyze revenue and margin % achieved by a Customer/Product with visualization of the lowest 10%.

so I can: Understand the lowest performing products and decide on corrective actions.

Acceptance Criteria: Scatter plots with Revenue on X-Axis and margin % on Y-axis. Reference percentile lines (percentile to be defined).


User Story Name - Revenue & Margin Contribution by Customer or Product charts

I want to: Analyze contribution of Customers/Products to the total revenue and margin split into 10 buckets (from 10% to 100%), with the option to drill down to see the top 10 contributing Customers/Products in each bucket.

so I can: Understand the lowest performing products and decide on corrective actions if needed.

Acceptance Criteria: Charts display Revenue and Margin split into ten buckets to visualize the number of products/customers needed to cover each bucket (cumulative contribution). 
Each data point displays the number of product/customer in the bucket, the total revenue/margin of the product/customer in the bucket and the revenue/margin representing the bucket. 


User Story Name - Revenue Pareto by Customer or Product charts

I want to: See the Pareto analysis for Customers/Products contribution to revenue, split into 10 buckets showing the number of Customers/Products in each bucket and cumulative contribution to the total revenue.

so I can: Understand which product line contributes the most/least toward the revenue and derive corrective actions.

Acceptance Criteria: Charts display Revenue and Margin % split into some bins to visualize the number of products/customers needed to cover each bin (cumulative contribution). 

Epic: Regional and Revenue Margin

As a Pricing Manager I want to access data so I can analyse it.

User Story Name - Regional Revenue and Margin

I want to: See revenue and margin distribution in the world map on the Continent/Country/State level.

so I can: Analyze the relationship between different regions, countries or states based on a KPI distribution.

Acceptance Criteria: Selected KPI (revenue or margin) is displayed in the world map per geographical unit defined by user configuration (Region, Country), each geohraphical unit has an appropriate color shade depending on the KPI.
The values are aggregated on the customer, product, date from/to level with the configurable currency conversion allowed.
Beside the selected KPI, information on other KPIs for each region is displayed (by hint) as well.

Epic: Outliers

As a Pricing Manager I want to access transactional and historical data so I can use it to analyze how my customers and products are performing.

User Story Name - Key Performance Indicators by Customer or Product

I want to: See the Customers/Products performance based on the selected KPI (revenue, revenue contribution %, margin, margin %, margin contribution %), split into three groups (low, medium, high) with the possibility to drill down for each group and see the top 10 (high and medium) or worst (low) 10 Customers/Products.

so I can: Analyze low performing customers/products and derive corrective actions.

Acceptance Criteria: Pie charts will display a breakdown of products into high, medium and low performers based on the KPI selected.


User Story Name - Best & Worst Performers by Customer or Product

I want to: See the best/worst Customers/Products (5, 10, 25, 50, 100) for the selected KPI (revenue, revenue contribution %, margin, margin %, margin contribution %).

so I can: Understand the least performing product/product line by KPI and derive corrective actions.

Acceptance Criteria: Table chart shows best/worst products using the (Revenue, Revenue Contribution %, Margin, Margin % and Margin Contribution %)

Epic: Waterfall + Comparison Waterfall

As a Pricing Analyst I want to see a standardized price and comparison waterfall so I can understand profitability and take corrective action.

User Story Name - Price Waterfall & Comparison Waterfall

I want to: See a standardized Price waterfall chart and waterfall comparison charts by time/Customers/Products.
Pricefx standard Price Waterfall definition

so I can: Understand the customer/product profitability and take corrective action.

Acceptance Criteria: Shows the waterfall analysis with grouped adjustments.

Epic: Revenue breakdown + Margin Breakdown

As a Pricing Manager/ Analyst I want to analyze revenu/margin and display analysis percentage so I can adjust strategy to improve performance in each bucket.

User Story Name - Revenue & Margin Breakdown

I want to: Analyze revenue/margin causality for two time periods with a breakdown into several categories (Lost Business, New Business, Price Effect, Volume Effect, other effects) and the possibility to display analysis in percentage.

so I can: Understand revenue/margin drives, and adjust strategy to improve performance in each bucket.

Acceptance Criteria: Revenue Breakdown waterfall chart
Show total revenue dollars by selecting Quarter over Quarter or Month over month as the outer bars of the chart
Show breakdown of revenue by grouping the data into:
"Lost Business" vs "New Business" *Change to revenue due to "Price Effect"
Change to revenue due to "Volume Effect"
Change to revenue due to "Portfolio Mix Effect"
Change to revenue due to "Other Effect"

Margin Breakdown waterfall chart
Show total margin dollars by selecting Quarter over Quarter or Month over month as the outer bars of the chart
Show breakdown of margin by grouping the data into:
Change to margin due to "Volume"
Change to margin due to "Price"
Change to margin due to "Mix"
Change to margin due to "New products"
Change to margin due to "Lost products"
Change to margin due to "Cost"
Change to margin due to "Intersection"
Can filter the waterfall chart by product or product line

Epic: Causality

As a Pricing Manager I want to identify change between two periods so I can pinpoint problematic areas of business.

User Story Name - Revenue & Margin Causality

I want to: Identify the change in contribution of Product/Customer groups to Total Revenue or Margin between two periods

so I can: Easily identify problematic parts of the business

Acceptance Criteria:

Revenue causality ($ or %) displays a waterfall chart starting with the comparison period results as the baseline and ending with the target period results, showing the change in contribution per selected product and customer groups to total revenue.

Margin causality ($ or %) displays a waterfall chart starting with the comparison period results as the baseline and ending with the target period results, showing the change in contribution per selected product and customer groups to total margin.

In both portlets:

  • the number of price points is limited to the selected number of top products/customers to be displayed

  • loss is shown in red, gain in green

Epic: Period over Period

As a Pricing Manager I want to identify change between two periods so I can pinpoint degree of business improvement.

User Story Name - Period Over Period Chart

I want to: See the difference in a selected measure between two periods to assess the most recent status of any financial or volume measure and compare its performance to the same time period in the past

so I can: Quantify how much I improved or did not improve.

Acceptance Criteria:

Chart Series:
Actual Performance – Trailing period whose end is defined by the Final Interval input (typical the last whole/finished interval), while its length is defined by the Number Of Intervals counted backwards from the Final Interval.

Trailing period – The latest period whose end is defined by an offset from the Final Interval specified in the Trailing Offset input, while its length is defined by the Number Of Intervals counted backwards from this offset.

Change – Difference between Actual Performance and Trailing period showing the progress of the measure from Trailing to Actual.
The granularity of the periods (displayed calendar units) is defined by the Interval Size.


Data Requirements

Data Sets

Data set

Mandatory

Optional

 

Transactional Data mart (usually named Standard Sales Data)

Β·       Transaction Id (String)

Β·       Product Id (String)

Β·       Customer Id (String)

Β·       Pricing Date (Date)

Β·       Invoice Price (Money/Number)

Β·       Gross Margin (Money/Number)

Β·       Quantity (Quantity/Number)

Β·       Currency (if currency conversion is required, then the exchange rates for each time period for each combination of currencies must be provided)

Β·       UoM (if UoM conversion is required, then the factor for each unit of measure combination must be provided)

Β·       Waterfall fields. Each price point and adjustment must be provided, this includes but is not limited to: index, segment, local, packaging, and warehousing adjustments; competitor, customer, promotion, standard, volume discounts; freight, installation/customization/service, support/warranty, fixed, and variable costs; as well as any rebates.

Other optional data (mandatory for specific dashboards):

Β·       Period Over Period:

o   List price

o   Net price

Β·       Regional Revenue and Margin:

o   Continent

o   Country

o   City / Region

 

Product

Β·       Product Id

Β·       Product Name

Up to 30 custom attributes. Typically, you’d like to include following fields to improve Filtering capabilities and also to use them as Dimensions when aggregating data in your analysis:

Β·       Product Hierarchy

Β·       Product Group

Β·       Brand

Β·       Product performance markers

o   Product Class

o   Competitive / Captive

o   Product Lifecycle

o   Basic / Premium Products

 

Customer

Β·       Customer Id

Β·       Customer Name

Up to 30 custom attributes. Typically, you’d like to include following fields to improve Filtering capabilities and also to use them as Dimensions when aggregating data in your analysis:

Β·       Regional Data / Org Data

o   Country

o   Region

o   Sales Office

o   Sales Org

Β·       Customer performance markers

o   Loyalty

o   Size / Classification

 

Advanced Configurations:

Β·       SIP_AdvancedConfiguration - JSON with configuration settings in key-value format. Mainly used to identify the Transactional Data mart and to map Customer and Product attributes as well as their dimension fields.

Β·       SIP_Commons_AdvancedConfiguration - JSON with configuration settings in key-value format. Mainly used to identify the Currencies Data source.

Β·       WaterfallConfiguration - JSON representation of the waterfall price points and adjustments 

Company Parameters:

Β·       PFXTemplate_DB_RevenueAndMargin – key-value format. Available parameters are bucketStartPercent, bucketEndPercent, and numberOfBuckets for contribution charts, histogramBins for Pareto charts, and scatterPlotPercent to define at which percentage to draw the lines in Revenue and Margin % charts.

Β·       OutliersContributionModelThresholds – key-value format. Used to define High and Low performance buckets thresholds.

Β·       SIP_MapHierarchyConfig – allows to define which hierarchy levels are to be used in the regional dashboard: World; Continent; Country; and Region. In case data is available only at the continent level, then country and region must be disabled.

Β·       SIP_MapCodeOverrides – maps Continent, Country and Region values to ISO codes and allows to set custom display labels for them, useful in case the regional information is not stored in ISO code format in the Transactional Data mart.

Β·       SIP_GeoOverrides – allows to move country entries between continents. For example, users use the EMEA business region which leads to Oman being included in the EU data, but since it is not on the map it cannot be displayed. Users can then set the GeoOverride for Oman to be displayed in the Asia data set.

Β·       SIP_Population – stores the estimated population for a given Continent, Country, Region, or Sector. 

LEARN MORE: Accelerate Sales Insights Package (SIP): Installation


Out-of-Scope

Out-of-scope business functions and features can be configured, but are not included in the Chemical Industry Catalog.

  • Pricefx should not be seen as an ETL tool, data must be sent in accordance with the prescriptive data model, any required transformations will be considered custom configuration effort.


Solution Design

This solution is implemented using the Accelerate Sales Insights Package (SIP)

Revenue and Margin Dashboard

Revenue and Margin Dashboard helps you visualize and analyze the relationship between Revenue and Margin % from different perspectives of time, product and customer. You can customize the date range and set of products/customers for analysis.

Filter 

Product(s) β€“ Allows to choose one of product attributes to be used for the analysis

Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

image-20230824-091330.png

Customer(s) β€“  Allows to choose one of customer attributes to be used for the analysis.
Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).
Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

Date From/To β€“ Filters data for the analysis according to the given time range.
By default Date From is set to one year back.
By default Date To is set to today's date.

Time Period β€“ Allows you to define data aggregation for the "Revenue and Margin % in Time" analysis. The available values are: Week, Month, Quarter (default), Year. 

Product Aggregation β€“ Allows to define a custom grouping dimension to reduce the granularity of the product data. The product dimensions available in this input are defined in Advanced Configuration. Fields must come from the Datamart used for the package.

Customer Aggregation β€“ Allows to define a custom grouping dimension to reduce the granularity of the customer data. The customer dimensions available in this input are defined in Advanced Configuration. Fields must come from the Datamart used for the package.
Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration)

Band By for Products β€“ Allows to define additional grouping of data points in the analysis by a different dimension related to the products.

Band By for Customer β€“ Allows to define additional grouping of data points in the analysis by a different dimension related to the customers.
Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration)

Column chart axis type β€“ Allows to define type of Y axis used on the chart. The available values are: Linear (default), Logarithmic.

Select currency β€“ Allows you to choose the currency used in the dashboard. The exchange rate for the selected currency is fetched from system the "ccy" Data Source, the currency symbol is fetched from the "CurrencySymbols" PP.

Generic Filter β€“ Allows you to set up a generic transaction data filter. For example: display only data from Europe, or Asia.

Portlet 1

image-20230824-091428.png

This chart helps you analyze the relationship between Revenue and Margin % in the time aggregated per the defined time dimension. 

  • X axis displays the time period aggregation as defined by the Time Period input. 

  • Left hand side Y axis shows the Revenue scale.

  • Right hand side Y axis shows the Margin % scale. 

 What to look out for:

  • Generally, if the revenue is low at a certain period, at least we want to keep the margin high.

  • Pay attention to those periods where both margin and revenue are low and make sure it does not stay this way.

  • This chart helps you discover whether there is any seasonal pattern in your data. You can use this as an input for price decisions (e.g. lower the price in less busy periods). See an example:

image-20230824-091458.png

Portlet 2

image-20230824-091530.png

Helps you analyze the relationship between Revenue and Margin % on the product level using the selected aggregation. The data points in the analysis can be colored by the product dimensions set by 'Band By For Product' which helps visualize the correlation per the chosen product attribute. 

  • X axis displays the sum of Revenue per chosen product aggregation.

  • Y axis displays the sum of Margin % per chosen product aggregation.

  • The first line is horizontal and at a defined percent value of the lowest margin (typically 10%), the second line is vertical and at a defined percent value of the lowest revenue. This divides the chart in four sections.

What to look out for:

  • Bottom left section β€“ Shows products with low margin % & low revenue. For these products consider raising their price, so that they move up to the top (their margin increases) or work on increasing the volume of sold products (and thus move right towards a bigger revenue). The optimal move here is to go with the product to the top right sections (i.e. increase both margin and revenue).

  • "Risky business" in top right section β€“ This may mean that a customer buys large quantities for a high price. There is a risk of losing such a customer if they find out that others get the same product for a lower price. The optimal scenario is to have the dots grouped around some average price value.

Due to performance reasons this chart is limited to display only top 50 products. These product values are used to calculate the plot lines.

Portlet 3

image-20230824-091609.png

Helps you analyze the relationship between Revenue and Margin % on the customer level using the selected aggregation. The data points in the analysis can be colored by the customer dimensions set by 'Band By For Customer' which helps you visualize the relationship per the chosen customer attribute. 

  • X axis displays the sum of Revenue per chosen customer aggregation.

  • Y axis displays the sum of Margin % per chosen customer aggregation.

  • The first line is horizontal and at defined % of the lowest margin, the second line is vertical and at defined % of the lowest revenue. This divides the chart in four squares: the bottom left square shows low margin %, low revenue customers. It can be worthwhile to look into raising prices for these customers.

What to look out for:

  • The chart shown above illustrates that it may happen that large customers generating large revenue may not reach the optimal margin, yet it pays off to keep these customers.

  • On the other hand, small customers get the products for higher prices and generate larger margin. 

Due to performance reasons this chart is limited to display only top 50 customers. These product values are used to calculate the plot lines.

Portlet 4+ Portlet 5

image-20230824-091708.png
image-20230824-091731.png

These two charts display Revenue and Margin split into defined buckets to visualize the number of product/customer aggregation levels needed to cover each bucket (cumulative contribution).

Each data point displays the number of items in the bucket, the total revenue/margin of the items in the bucket and the revenue/margin representing the bucket.

In the screenshot below, 80% of the revenue and margin is covered by 8 products, whereas the remaining 20% are covered by 6 products.

There is also a possibility to preview each of the bucket contents by clicking on the percentage labels. It displays which particular customers/products contribute to the bucket.

image-20230824-091753.png

What to look out for:

  • It is good to have the buckets filled in evenly, i.e. not to rely on just one product/customer contributing most.

 

Customer Revenue and Margin Contribution are displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).

Portlet 6 + Portlet 7

image-20230824-091845.png
image-20230824-091855.png

These two charts display Revenue and Margin % split into some bins to visualize the number of product/customer aggregation levels needed to cover each bin (cumulative contribution).

Customer Revenue and Margin Pareto are displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration). 

Regional Revenue and Margin Dashboard

Filters

 

image-20230824-092000.png

For this dashboard you can set the following inputs: 

Product(s) β€“ Allows you to choose one of the product attributes to be used for the analysis.

Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

Customer(s) β€“  Allows you to choose one of the customer attributes to be used for the analysis.

Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).

Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

Date From/To β€“ Filters data for the analysis according to the given time range.

By default Date From is set to one year back.

By default Date To is set to today's date. 

KPI – Allows you to choose from the following KPIs for the analysis:

Β·       Quantity

Β·       Revenue (selected by default)

Β·       Margin

Β·       Margin %

Β·       Deviation from Weighted Average Price (WAP)

Β·       Revenue per Customer

  • Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).

Β·       Margin per Customer

  • Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).

Β·       Revenue per 1000 people (see the note on population)

Β·       Margin per 1000 people (see the note on population)

Region Configurator – Allows you to choose which hierarchy level to display on the map.

Depending on what is selected, the map behaves differently:

Β·       If you select to display world β†’ The map will show Level 1: World (continents of the world shown).

Β·       If you choose Continent and do not choose Country. β†’ The map will show Level 2: Continent (countries of this continent shown).

Β·       If you choose Continent, Country and do not choose Region. β†’ The map will show Level 3: Country (regions of this country shown).
See the Supported Maps page for more details.

Β·       If you choose Continent, Country, Region. β†’ The map will show Level 4: Region (sectors of this region shown). There is no sector support for now.

The world level is displayed by checking the β€œDisplay World map” checkbox.

If the world level is unchecked, the selection boxes come up and allow users to select other defined hierarchy levels.

Select currency β€“ Allows you to choose a currency to be used in the dashboard. The exchange rate for the selected currency is fetched from the system"ccy" Data Source, the currency symbol is fetched from the "CurrencySymbols" PP.

Generic Filter β€“ Allows you to set a generic transaction data filter. For example: display only data from Europe, or Asia. 

The Regional Revenue and Margin Dashboard presents KPIs distribution on the world map. It helps you analyze relationships between different continents, countries or regions based on a KPI distribution.

The dashboard provides four levels of a view based on the available Datamart data and configuration:

Β·       World

Β·       Continent

Β·       Country

Β·       Region

 

World map helps you analyze the selected KPI (in this case Revenue) distribution between different continents. Beside the selected KPI, it also shows information on other KPIs for each continent.

image-20230824-092040.png

 

Continent map helps you analyze the revenue distribution between different countries of a selected continent. Beside the selected KPI, it also shows information on other KPIs for each country.

image-20230824-092111.png

Country map helps you analyze the revenue distribution between different regions of a selected country. Beside the selected KPI, it also shows information on other KPIs for each region.
Note on Population
To calculate Revenue or Margin per 1000 people, we need to work with the continent/country/region/sector population, so we have a Price Parameter table to store it. If you need to update the population, you can update it in the PP table named "SIP_Population".

Outliers Dashboards

Outliers Dashboard helps you analyse the best and worst performing products and customers based on different KPIs and a selected filter.

Filters:

Product(s) β€“ Allows you to choose one of the product attributes to be used for the analysis.
Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.
This input is not taken into account for the summary data.

image-20230824-092155.png

Customer(s) β€“ Allows you to choose one of the customer attributes to be used for the analysis.
Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).
Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.
This input is not taken into account for the summary data.

Date From/To β€“ Filters data for the analysis according to the given time range.
By default, Date From is set to one year back.
By default, Date To is set to today's date.

Product Aggregation β€“ Allows you to define a custom grouping dimension to reduce the granularity of the product data. The product dimensions available in this input are defined in Advanced Configuration. The fields must come from the Product Master table.

Customer Aggregation β€“ Allows you to define a custom grouping dimension to reduce the granularity of the customer data. The customer dimensions available in this input are defined in Advanced Configuration. The fields must come from the Customer Master table.
Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).

Calculation Model β€“ Allows you to select the calculation model for Outliers.
Currently available models are:
(Max - Min) Split (default), Split Equally, Contribution.

KPI β€“ Stands for Key Performance Indicator, a measure which is used to determine the Best/Worst performers. You can choose from the following values (may vary depending on the model selected):

Β·       Revenue

Β·       Revenue Contribution %

Β·       Margin

Β·       Margin %

Β·       Margin Contribution %

Top Product(s)/Customer(s) β€“ Allows you to choose from a predefined list of values how many products/customers should be displayed in Best & Worst performance tables.
In case there is not enough products to display, the results are trimmed and "Best" is favored (in case of only 5 products the division will be 3/2). The default value is 5.

Generic Filter β€“ Allows you to set up a generic transaction data filter. For example: display only data from Europe, or Asia.

Portlet 1+ Portlet 2

image-20230824-092239.png

Pie charts display the count of products/customers in each group, the selected KPI value is highlighted.

What to look out for:

  • If you ever get here products with a negative margin, these are definitely candidates for review. Often, these can be gifts, warranties or other justifiable items but in other cases it may highlight a potential issue.

  • Customers with negative performance are even more questionable (unless they represent internal units or similar cases).

  • Also, this chart allows you to review your strategy when comes to a target customer size – whether to focus on large, medium or small customer; especially if you can support it with data on the total cost of ownership of each customer.

There is also an option to drill down into each category (by clicking the category in the chart or legend) and display additional details. For the High and Medium categories the detailed chart will display 10 best performing items and for Low and Negative 10 worst. The rest will be grouped into the "Others" group.

Portlet 3 + Portlet 4

image-20230824-092328.png

There are separate tables for products and customers showing different KPIs of the best and worst performing products or customers based on the selected filters.

Waterfall

Waterfall Dashboard presents the standardized price waterfall analysis.
The chart helps you understand how an initial value is affected by a series of intermediate positive or negative values. The columns are color-coded for distinguishing between positive and negative values.
There is only 1 Portlet.

Filter:

For this dashboard you can set the following inputs:

Product(s) β€“ Allows you to choose one of product attributes to be used for the analysis.
Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

image-20230824-092409.png

Customer(s) β€“ Allows you to choose one of customer attributes to be used for the analysis.
Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).
Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

Date From/To β€“ Filters data for the analysis according to the given time range.
By default Date From is set to one year back.
By default Date To is set to today's date.

Waterfall Model β€“ Allows you to choose the display model used in the waterfall.

Currently there are 4 models available:

  1. Absolute (selected by default) – Displays raw data with a thousands separator and currency symbol. Includes a drill-down defined in the Advanced Configuration "waterfall-configuration".

  2. Percentage – Displays data converted to percentages. The percentage base is defined by the user in the Advanced Configuration "waterfall-configuration".

  3. Absolute Detail – Displays the same data as Absolute but without the drill-down functionality.

  4. By Absolute Unit – Displays data by unit value. Includes a drill-down defined in the Advanced Configuration "waterfall-configuration".

Select currency β€“ Allows you to choose the currency used in the dashboard. The exchange rate for the selected currency is fetched from system the "ccy" Data Source, the currency symbol is fetched from the "CurrencySymbols" PP.

Generic Filter β€“ Allows you to set up a generic transaction data filter. For example: display only data from Europe, or Asia.

The dashboard provides the following models:

Absolute – Default view

image-20230824-092432.png

Visibility of the waterfall elements depends on availability of data in the transactional data and Price Parameter tables setup.

 

Absolute – Drill down view
Here drill down for on-invoice discounts.

image-20230824-092455.png

Percentage

image-20230824-092515.png

Absolute detail

image-20230824-092538.png

By absolute unit value

image-20230824-092600.png

Understanding waterfall components

image-20230824-092625.png
image-20230824-092646.png
image-20230824-092701.png
image-20230824-092716.png

Comparison Waterfall Dashboard

The Waterfall Comparison dashboard allows you to compare waterfalls of different time periods, products, and customers. The dashboard is built on top of a standardized Waterfall Dashboard and follows the same definition.

Filters:
Comparison Waterfall per Date

image-20230824-092809.png

Comparison Type β€“ Date

Product(s) β€“ Allows you to choose one of the product attributes to be used for the analysis.

Customer(s) β€“ Allows you to choose one of the customer attributes to be used for the analysis.
Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).

Date From/To (Period 1) β€“ Defines a date range for data used in the analysis – the first range.
By default Date From (1) is set to the first day of January one year back.
By default Date To (1) is set to the last day of December one year back.

Date From/To (Period 2) β€“ Defines a date range for data used in the analysis – the second range for comparison.
By default Date From (2) is set to the first day of January two years back.
By default Date To (2) is set to the last day of December two years back.

 

Comparison Waterfall per Product

Comparison Type β€“ Product

Product(s) 1 β€“ Allows you to choose one of the product attributes to be used for the analysis.
Product(s) 2 β€“ Allows you to choose one of the product attributes to be used for the analysis for comparison.

Customer(s) β€“ Allows you to choose one of the customer attributes to be used for the analysis.
Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).

Date From/To β€“ Filters data for the analysis according to the given time range.
By default Date From is set to the first day of January one year back.
By default Date To is set to the last day of December one year back.

Comparison Waterfall per Customer

Comparison Type β€“ Customer
Available for selection only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).

Product(s) β€“ Allows you to choose one of the product attributes to be used for the analysis.

Customer(s) 1 β€“ Allows you to choose one of the customer attributes to be used for the analysis.
Customer(s) 2 β€“ Allows you to choose one of the customer attributes to be used for the analysis for comparison. 

Date From/To β€“ Filters data for the analysis according to the given time range.
By default Date From is set to the first day of January one year back.
By default Date To is set to the last day of December one year back.

Common User Inputs

There are also common inputs that do not change based on the selected Comparison Type:

image-20230824-092905.png

Waterfall Model β€“ Allows you to choose the display model used in the waterfall.

Currently there are 4 models available:

  1. Absolute

(selected by default) – Displays raw data with a thousands separator and currency symbol. Includes a drill-down defined in the Advanced Configuration "waterfall-configuration".

  1. Percentage

– Displays data converted to percentages. The percentage base is defined by the user in the Advanced Configuration "waterfall-configuration".

  1. Absolute Detail

– Displays the same data as Absolute but without the drill-down functionality.

  1. By Absolute Unit

– Displays data by unit value. Includes a drill-down defined in the Advanced Configuration "waterfall-configuration".

Select currency β€“ Allows you to choose the currency used in the dashboard. The exchange rate for the selected currency is fetched from system the "ccy" Data Source, the currency symbol is fetched from the "CurrencySymbols" PP.

Generic Filter β€“ Allows you to set a generic transaction data filter. For example: display only data from Europe or Asia.

For all three comparisons which are Product, Customer, and Date, there are the Waterfall Model types Absolute, Percentage, and By Absolute Unit. With enabled drill-down for adjustments.

There is only 1 Portlet.

Comparison Waterfall per Time Period

When the Waterfall Model is Absolute:

image-20230824-093030.png

When the Waterfall Model is Percentage:

image-20230824-093118.png

When the Waterfall Model is By Absolute Unit:

image-20230824-093207.png

Comparison Waterfall per Product(s)

When the Waterfall Model is Absolute:

image-20230824-093315.png

When the Waterfall Model is Percentage:

image-20230824-093350.png

When the Waterfall Model is By Absolute Unit:

image-20230824-093415.png

Comparison Waterfall per Customer(s)

When the Waterfall Model is Absolute:

image-20230824-093443.png

When the Waterfall Model is Percentage:

image-20230824-093514.png

When the Waterfall Model is By Absolute Unit:

image-20230824-093538.png

 

Revenue Breakdown Dashboard

Filters:

image-20230824-093628.png

Period Type β€“ Allows you to select the period type for both comparison periods.
Available time units: Week, Quarter, Month, YTD, Custom
According to the selection of this input the relevant inputs are displayed to allow for the particular time units values definition.
Defaults to MAX(pricingDate) and if not found, fallbacks to the current year.

Year β€“ Allows you to select the year for the first comparison period. Data for this input are fetched from the "pricingDate" field from SIP_AdvancedConfiguration.  Note: The "pricingDate" field must be marked as "Pricing Date" in Transaction DM to allow for the system year field generation.
Defaults to MAX(pricingDate) and if not found, fallbacks to the current year.
Time unit definition - a relevant input according to the Period Type selection is displayed. Allows you to select the value for both comparison periods of a relevant time unit.
Available inputs:

  1. Quarter, Month, Week, YTD, Date From, Date To

In case of no or β€œNone” selection, the whole year is taken into comparison
Defaults to the current (latest available) time unit.
or

  1. Comparison Quarter, 

Comparison Month, Comparison Week, Comparison Date From, Comparison Date To

Comparison Year β€“ Allows you to select the year for the second comparison period.
Defaults to MIN(pricingDate) and if not found, fallbacks to the previous year.

Product(s) β€“ Allows you to choose one of product attributes to be used for the analysis.
Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

Customer(s) β€“ Allows you to choose one of customer attributes to be used for the analysis.
Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration). Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

Product Aggregation β€“ Allows you to define a custom grouping dimension to reduce the granularity of the product data. The product dimensions available in this input are defined in Advanced Configuration. Fields must come from the Datamart used for the package.

Customer Aggregation β€“ Allows you to define a custom grouping dimension to reduce the granularity of the customer data. The customer dimensions available in this input are defined in Advanced Configuration. Fields must come from the Datamart used for the package.
Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).

Show Percentage (%) β€“ Allows you to select whether the values should be displayed as percentage.
Defaults to false.

Select currency β€“ Allows you to choose the currency used in the dashboard. The exchange rate for the selected currency is fetched from the system "ccy" Data Source, the currency symbol is fetched from the "CurrencySymbols" PP.

Generic Filter β€“ Allows you to set up a generic transaction data filter. For example: display only data from Europe, or Asia.

image-20230824-093647.png

This chart shows revenue in two periods and tries to associate the difference to categories such as volume, price, new/lost business. For better guidance, loss is shown in red, gain in green. For example, the second column Lost Business shows what amount in revenue was lost due to customers not buying particular products in the first period.

For details on how each column is calculated, refer to page 7, section Revenue Breakdown of the Calculations. 

Margin Breakdown Dashboard

The Margin Breakdown dashboard shows you what the difference in margin between two periods can be attributed to. It allows you to compare two years or quarters and optionally filter for only certain products and/or customers.

Filters:

image-20230824-093740.png

Period Type β€“ Allows you to select the period type for both comparison periods.
Available time units: Week, Quarter, Month, YTD, Custom
According to the selection of this input the relevant inputs are displayed to allow for the particular time units values definition.

Year β€“ Allows you to select the year for the first comparison period. Data for this input are fetched from the "pricingDate" field from SIP_AdvancedConfiguration. 
Note: The "pricingDate" field must be marked as a "Pricing Date" in Transaction DM to allow for the system year field generation.

Time unit definition β€“ Relevant input according to the Period Type selection is displayed. Allows you to select a value for the first comparison period of a relevant time unit.
Available inputs:

  1. Quarter, Month, Week, YTD, Date From, Date To
    In case of no or β€œNone” selection, the whole year is taken into comparison.
    Defaults to the current (latest available) time unit.
    or

  2. Comparison Quarter, Comparison Month, Comparison Week, Comparison Date From, Comparison Date To

Comparison Year β€“ Allows you to select the year for the second comparison period.

Product(s) β€“ Allows you to choose one of product attributes to be used for the analysis.
Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

Customer(s) β€“ Allows you to choose one of customer attributes to be used for the analysis.
Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).
Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

Product Aggregation β€“ Allows you to define a custom grouping dimension to reduce the granularity of the product data. The product dimensions available in this input are defined in Advanced Configuration. Fields must come from the Datamart used for the package.

Customer Aggregation β€“ Allows you to define a custom grouping dimension to reduce the granularity of the customer data. The customer dimensions available in this input are defined in Advanced Configuration. Fields must come from the Datamart used for the package.

Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).

Calculation Type β€“ Allows you to select the calculation type to be used for the dashboard. Available values are:

Β·       Net

Β·       Gross

Β·       Averages

Β·       Most Used

Show Percentage (%) β€“ Allows you to select whether the values should be displayed as percentage.

Select currency β€“ Allows you to choose the currency to use in the dashboard. The exchange rate for the selected currency is fetched from system "ccy" DS, the currency symbol is fetched from "CurrencySymbols" PP.

Generic Filter β€“ Allows you to set up a generic transaction data filter. For example: display only data from Europe, or Asia.

For details on how each column is calculated, refer to page 8, section Margin Breakdown of the Calculations. 

image-20230824-093810.png
Causality Dashboard

The Causality Dashboard allows you to identify the change in contribution of Product/Customer groups to Total Revenue or Margin between two periods, so you can easily identify problematic parts of the business.

Filters:

image-20230824-093912.png

For this dashboard you can set the following inputs: 

Year β€“ Allows you to select the year for the first comparison period. Data for this input are fetched from the "pricingDate" field from SIP_AdvancedConfiguration. 

Note: The "pricingDate" field must be marked as "Pricing Date" in Transaction DM to allow for the system year field generation.

Defaults to MAX(pricingDate) and if not found, fallbacks to the current year.

Quarter β€“ Allows you to select the quarter for the first comparison period. In case of no or β€œNone” selection, the whole year is taken into comparison.

Defaults to the current quarter.

Comparison Year β€“ Allows you to select the year for the second comparison period.

Defaults to MIN(pricingDate) and if not found, fallbacks to the previous year.

Comparison Quarter β€“ Allows you to select the quarter for second comparison period.

If neither year nor quarter are selected but the first comparison period is selected, the year before that period is selected.

If only Comparison Quarter is selected but Comparison Year is empty, the quarter of the year before the first period is selected.

Product(s) β€“ Allows you to choose one of product attributes to be used for the analysis.

Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

Customer(s) β€“ Allows you to choose one of customer attributes to be used for the analysis.

Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).

Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

Product Aggregation β€“ Allows you to define a custom grouping dimension to reduce the granularity of the product data. The product dimensions available in this input are defined in Advanced Configuration. Fields must come from the Datamart used for the package.

Customer Aggregation β€“ Allows you to define a custom grouping dimension to reduce the granularity of the customer data. The customer dimensions available in this input are defined in Advanced Configuration. Fields must come from the Datamart used for the package.

Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).

Top Product(s)/Customer(s) β€“ Allows you to choose from a predefined list of values how many product/customer groups should be displayed in between the periods.

Show Percentage (%) β€“ Allows you to select whether the values should be displayed as percentage.

Defaults to false.

Select currency β€“ Allows you to choose the currency used in the dashboard. The exchange rate for the selected currency is fetched from the system "ccy" Data Source, the currency symbol is fetched from the "CurrencySymbols" PP.

Generic Filter β€“ Allows you to set up a generic transaction data filter. For example: display only data from Europe, or Asia.

image-20230824-093956.png
image-20230824-094008.png

For better guidance, loss is shown in red, gain in green. 

Period over period Dashboard

The Period Over Period Dashboard shows the difference in a selected measure between two periods to assess the most recent status of any financial or volume measure and compare its performance to the same time period in the past.

Filter:

image-20230824-094057.png

For this dashboard you can set the following inputs:

Customer(s) β€“ Allows you to choose one of customer attributes to be used for the analysis.

Displayed only when Customer data is used in the package (customerId must be mapped in the SIP_AdvancedConfiguration).

Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

Product(s) β€“ Allows you to choose one of product attributes to be used for the analysis.

Note: Keep in mind that only columns present in the Transaction Datamart can be used for filtering.

Measure Type – Allows you to define the measure type for further measure selection.

Available values:

  1. Single Column

– Allows you to select a Datamart field containing a metric.
If selected, these new inputs are available:
Measure Column – Measure (presented in the Datamart) which is used for the comparison.

  1. Ratio

– The output measure is calculated by a formula using two input values (measures) defined in further selection.
If selected, these new inputs are available:

a) Ratio Type

Available values:

Β·       Gross Margin %

Β·       List-to-Invoice Realization %

Β·       Incentive %

Β·       Price Realization %

Β·       Price Leakage %

Β·       Average Price Per Unit

Β·       Average Profit Per Unit

Β·       Custom

b) 1st formula input), labeled according to the Ratio Type selection, typically the numerator.

c) (2nd formula input), labeled according to the Ratio Type selection, typically the denominator.

Display Delta as Percent – Affects whether the Change series in the chart are displayed as an absolute value or as a relative one (Actual Performance as % of Trailing period).

Display Z Axis – Affects whether the Change series in the chart are equipped with a separate (Z) axis using its own scale or whether it uses a common (Y) axis shared with the Actual Performance and Trailing period series.

Measure Aggregation – Defines how the measure is aggregated.

Available values:

Β·       SUM

Β·       AVG

Interval Size – Defines the time granularity of the displayed output.

Available values:

Β·       Day

Β·       Week

Β·       QuadWeek

Β·       Month

Β·       Quarter

Β·       Year

When the interval size changes, values of Number Of Intervals and Trailing Offset input are automatically converted to respect the scope of the original interval size (the number of intervals is first converted from the original interval size to days and then back to the new interval size using basic coefficients).

Number of Intervals – Allows you to set the length of the period by defining the number of intervals included.

Trailing Offset By [X Intervals] – Allows you to set an offset of the trailing period from the Final Interval backwards.

Final Interval – Definition of the final interval of the Actual (most recent) period.

Available values:

  1. Last Whole Interval

  2. X Whole Intervals Ago

If selected, this additional input is displayed:

Final Interval: X Whole Intervals Ago – Allows you the set the final interval by the number of whole intervals ago.

  1. Manual Entry

If selected, this additional input is displayed:

Final Interval: Manual Entry – Allows you to set the final interval manually by the exact name of the period relevant to the interval size. E.g. β€œ2022-W10”, ”2021-Q1”, ”2020-QW3”,…
Format:

Interval Size = Day β†’ YYYY-DXXX (E.g. 2020-D123)

IntervalSize = Week β†’ YYYY-WXX (E.g. 2020-W30)

IntervalSize = QuadWeek β†’ YYYY-QWXX (E.g. 2020-QW3)

IntervalSize = Month β†’ YYYY-MXX (E.g. 2020-M12)

IntervalSize = Quarter β†’ YYYY-QX (E.g. 2020-Q3)

IntervalSize = Year β†’ YXXXX (E.g. Y2020)

 

This chart shows the difference in a selected measure between two periods to assess the most recent status of any financial or volume measure and compare its performance to the same time period in the past.

The comparison subjects are the Actual Performance and Trailing Period (both of the same length) supplemented with Change (delta) defining the value of difference between these two.

The granularity of the periods (displayed calendar units) is defined by the Interval Size.

Chart series:

Β·       Actual Performance – Trailing period whose end is defined by the Final Interval input (typical the last whole/finished interval), while its length is defined by the Number Of Intervals counted backwards from the Final Interval.

Start: (Final Interval) – ((Number Of Intervals) * Interval Size)

End: calendar unit defined by Final Interval

Β·       Trailing period – The latest period whose end is defined by an offset from the Final Interval specified in the Trailing Offset input, while its length is defined by the Number Of Intervals counted backwards from this offset.

Start: (Final Interval – Trailing Offset) – ((Number Of Intervals) * Interval Size)

End: calendar unit defined by (Final Interval – Trailing Offset)

Β·       Change – Difference between Actual Performance and Trailing period showing the progress of the measure from Trailing to Actual.

image-20230824-094127.png
Filter setting: Interval Size: Month, Number Of Intervals: 24, Trailing Offset: 12, Final Interval: Last Whole Interval

In the example above it is clearly visible that the most positive progress took place in January 2021 while the opposite happened in January 2022.

Sales Insights Architecture Components

Sales Insights Dashboard

Logic

Configurations/Parameters

01 – Revenue and Margin

SIP_Dashboard_RevenueAndMargin

CP PFXTemplate_DB_RevenueAndMargin

02 - Regional Revenue and Margin

SIP_Dashboard_RegionalRevenueAndMargin

CP SIP_MapHierarchyConfig

CP SIP_MapCodeOverrides

CP SIP_GeoOverrides

03 - Outliers

SIP_Dashboard_Outliers

CP OutliersContributionModelThresholds

04 - Waterfall

SIP_Dashboard_Waterfall

AP WaterfallConfiguration

05 - Comparison Waterfall

SIP_Dashboard_ComparisonWaterfall

SIP_Configurator_ComparisonWaterfall

AP WaterfallConfiguration

06 – Revenue Breakdown

SIP_Dashboard_RevenueBreakdown

 

07 – Margin Breakdown

SIP_Dashboard_MarginBreakdown

 

08 - Causality

SIP_Dashboard_Causality

 

09 - Period over Period

SIP_Dashboard_PeriodOverPeriod

SIP_Configurator_PeriodOverPeriod

 

Good to know: CP stands for Company Parameter; AP stands for Advanced Configuration.

LEARN MORE: Accelerate Sales Insights Package (SIP): Documentation| Dashboards