Optimization - Negotiation Guidance 1.1

This document summarizes major improvements and fixes introduced in the Accelerate Negotiation Guidance Package release version.

Version

1.1

Release Date

Feb 16, 2023

Table of contents:

New Features and Improvements

Description

ID

Description

ID

Handling null values in Weight Measure has been improved:

  • Improved error message for null total weight for a segment.

  • Added option to filter out null weight if a weight column is selected in the definition inputs.

  • Added more checks against degenerate cases in Fit when weight is null.

PFUN-14727

Elasticity and optimal price calculations will not produce an error, even if the data in the segment will be out of validity range for those calculations. This can occur e.g. if the customer would like to use target metric of unsupported type (currently supported are Margin% and Discount%), and is not interested in the elasticity-based calculations. Then target metric can attain values out of validity ranges of elasticity calculations (for instance Margin% should be between 0 and 1). The elasticity-based calculations would not produce an error and result in most relevant number even in such cases.
Break-even calculation will not produce a run-time exception even if the input data would lead to an arithmetic error in break-even calculations.

PFUN-15990

It is easier now to filter out transactions that create issues during the negotiation guidance process. In a new section “Data handling” of the Definition tab there are the following options:

  • Filter out transactions with negative or 0 revenue

  • Filter out transactions with negative or 0 quantity

  • Filter out transactions with out of bounds target

  • Define min/mas target values

  • Replace missing dimension values with a defined text

PFUN-16869

Elasticities and optimization results of a large set of data are evaluated now in a single batch query.

PFUN-17156

In the Results step in the Tree View tab, the fields with the optimization value for Floor/Target/Ceiling in the segment detail have now a background color to help users check the status quickly.

 

PFUN-17758

Fixed Issues

Description

ID

Description

ID

Floor Percentile default value is set to 30 instead of 50 in case of Target Type Margin %.

PFUN-16642

Ceiling Percentile default value is set to 70 instead of 50 in case of Target Type Discount %.

PFUN-16643

Result step fails with the error "Query timed out". 

PFUN-17166

Segmentation fails with the error "Division by zero".

PFUN-17385

When using a weight for a model, it is incorrectly applied to sample_count (labelled #Transactions) field from Segments table.

PFUN-17440

Segmentation fails with the error “Ambiguous method overloading for method java.lang.Long#minus”. 

PFUN-17474

When we have dimensions with null values and they are selected as segmentation levels, NG creates duplicated segments. 

PFUN-17641

Segmentation fails with unhelpful error message "CreateSegmentsTable : ERROR(@38): Cannot access tail() for an empty iterable" when all data are filtered out at the segment table creation.

PFUN-17706

When a column selected for quantity in the transactions table contains floating values (and not integers), the Segmentation step fails with an unhelpful error in the UpdateSegmentsTable element. 

PFUN-17715

When running segmentation, the percentile is not well calculated with floor/target/stretch having the same values.

PFUN-17870

Calculation gets stuck in Segmentation.

PFUN-17892

The “Replace missing dimension values with” input in the Definition step no longer has its correct type string, but is now a numeric input instead.

PFUN-18174

When running the segmentation stage, you can occasionally get the "out of range for type double precision" error.

PFUN-18282

Out of the existing functions that can be used to read values in a SQL query none currently works for both api.getDatamartContext.executeSqlQuery (uses JOOQ) and model.loadTable (does not use JOOQ).

PFUN-18285

In the Definition step, if you delete the default value of the "Replace missing dimension values with" user input (the input is left blank), then apply settings and run the model, the user input is then filled with "__missing__" (meaning it is no longer empty).

PFUN-18333

Price Waterfall elasticity from NG model does not work if there are more than 9 segmentation levels.

PFUN-18485

In an NG model, if a segmentation level contains null values, then by default the model will fill the data with a default string. But if you use "null" in a query, you get no result. Instead, you need to use the default string in the join conditions.

PFUN-18486