Technical User Reference (Product Similarity)

This section details the ModelClass and logics that the Product Similarity Accelerator deploys. For each step, its aim, outputs, and the main reasons to modify the logics are explained.

In this section:

 

Product Similarity Model Class

The Product Similarity Model Class organizes a list of logics to create the model architecture. It is a JSON file that refers to some logics and it is transformed into an optimized UI in the Pricefx platform.

The general architecture of the Product Similarity Model Class is:

It defines four steps:

  • Definition – Sets the scope of the products tables and of transactions, and sets parameters for similarity exploration model.

  • Similarity Weighting – Runs similarity measures and screens for more similar products, then lets the user set the weights and threshold for finest comparison of products.

  • Product Similarity – Looks at the outputs of the similarity analysis, the similar products of any product and finally lets the user configure the grouping.

  • Product Grouping – Looks at the groups and products in the groups.

Library

The logic is ProdSimMC_Lib.

ProdSimMC_Lib is used in nearly all the other logics deployed by the accelerator and defines a set of functions needed specifically for this accelerator, but also some constants used to easily change the user interface wording. There are the following elements:

  • Parameters – Contains a function to check the type of the columns when exporting some tables.

  • Utils – Constants definition.

  • Labels– Groups static fields used for naming variables, tables...

  • Definitions – Sets of tools dedicated to the Definition step.

  • DataDefinitions – Sets of tools dedicated to interaction with data and user settings.

  • Configurators – Groups the methods to deal with formatting user inputs.

  • ConfigurationUtils – Groups the methods to deal with initialization of user inputs.

It is accessed via the calls on libs.ProdSimMC_Lib.XXX in the code.

If there is another kind of input to deal with.

Definition Step

There is no calculation logic in this step, and there are three tabs with related dashboard and evaluation logics: ProdSimMC_Prod_Data_Def and ProdSimMC_Trans_Data_Def and ProdSimMC_Model_Def_Eval.

These logics provide the user inputs to define at least a source of product data to map it, and optionally to define a source of transactional data (plus mapping) and to define what kind of text transformer to use, as well as the maximum number of similar products to keep in the following analysis.

A table of the filtered product data and optionally, a table of the filtered transactional data that will be used for the similarity analysis.

  • Some other mappings are needed or would be retrieved.

  • Some customized metrics that will require specific developments.

  • To define pre-set filters.

  • To add a chart to better understand the data. (Caution: it can take long, as the data are not yet stored in the model.)

Similarity Weighting Step

Contains one calculation sequence that chains 4 logics ProdSimMC_LoadData_Calc, ProdSimMC_TextTransformers_Calc, ProdSimMC_ApproxNearestNeighbors_Calc, and ProdSimMC_CoProductMetaData_Calc that are executed when accessing this step. The dashboard is split in two panels, one for user inputs, the other for evaluation.

Calculation: Data Aggregation

The logic is ProdSimMC_LoadData_Calc.

Calculation: Text Transformation

The logic is ProdSimMC_TextTransformers_Calc.

Calculation: Raw Similarity

The logic is ProdSimMC_ApproxNearestNeighbors_Calc.

Calculation: CoProductMetaData

The logic is ProdSimMC_CoProductMetaData_Calc.

Setup Panel

The logic is ProdSimMC_SimWeight_Def_Eval and uses ProdSimMC_SimWeight_Def_Configurator.

EvaluationPanel

The logic is ProdSimMC_SimWeight_Def_Eval.

Product Similarity Step

Starts with one calculation logic ProdSimMC_WavgSimilarity_Calc that is executed when accessing this step which splits in three tabs: Similarity Overview, Similarity Dashboard, and Similarity Grouping. First, this calculation subsets the products' pairs that fulfill the minimum similarity criterion and saves them in a model table. Then, some other model tables are prepared to have the data ready for display in the dashboard’s histograms and tables.

Similarity Overview

The logics is ProdSimMC_OverviewSim_DashBoard.

Similarity Dashboard

The logic is ProdSimMC_Similarity_DashBoard which proposes an interactive dashboard for exploration of one product’s similarities.

Similarity Grouping

The logic is ProdSimMC_Community_Parameters.

Product Grouping Step

Contains one calculation logic named ProdSimMC_WavgCommunity_Calc.

Similarity Grouping Dashboard

The logic is ProdSimMC_Communities_DashBoard.

Product Overview

The logic is ProdSimMC_ProductCom_DashBoard.

Evaluations

The model has one evaluation: ProdSimMC_ModelEvaluation_Eval. That allows you to retrieve for one product or a list of products all the raw similarities that have been computed for it/them. For more details about model evaluations see .