11 Size Profiles
This chapter describes the Size Profiles (SP) Cloud Service module.
Overview
Size Profiles (SP) is a module under AIF Profile Sciences and is used to estimate the distribution of demand across different sizes (size profile) for different merchandise and location levels.
Size profile is estimated at different levels of merchandise and location. The lowest level of estimation is style-color (for merchandise) and store (for location). Size profiles may also be estimated at higher levels of aggregation on both the merchandise and location dimensions (for example, at subclass-store or style/color-store cluster), depending on the retailer's requirements. Irrespective of the level of estimation, the final output for size profiles is at the lowest level (style-color/store), and size profiles are shown at the lowest level in the UI.
Data Requirements
Size Profiles relies on the following data elements. These must be provided via text files, which are then loaded.
Hierarchy Data
The three types of hierarchies are Location Hierarchy, Merchandise Hierarchy, and Calendar Hierarchy.
-
Location Hierarchy. An example of location hierarchy is: CHAIN ' COUNTRY ' REGION ' DISTRICT ' STORE.
-
Merchandise Hierarchy. An example of merchandise hierarchy is as follows: CHAIN ' COMPANY/BANNER 'DIVISION ' DEPARTMENT 'CLASS ' SUBCLASS ' STYLE ' COLOR ' SIZE (SKU). The Size Profiles application is used for fashion apparel. Therefore, it is expected that the extended merchandise hierarchy is provided, that is, Style and Color are provided through the relevant interfaces.
The STYLE, COLOR and SIZE SKUs are expected to be provided in the W_PRODUCT_DS interface, while the levels between CHAIN and Subclass are provided via W_PROD_CAT_DHS interface. In addition, there must be consistency between the levels provided when using an extended hierarchy. W_PRODUCT_ATTR_DS is used to indicate the relationship between Style, Style/Color, and Style/Color/Size for an extended hierarchy.
Here are the specific fields:
PRODUCT_ATTR13_NAME = PROD_NUM for the Style (for example, 0000190086820900)
PRODUCT_ATTR14_NAME = PROD_NUM for the Style/Color (for example, 190086834203)
PRODUCT_ATTR15_NAME = PROD_NUM for the Style/Color/Size (for example, 1975699).
The value of PROD_NUMs is the same as the value in the W_PRODUCT_DS.PROD_NUM interface.
Here is what this looks like:
Table 11-1 Hierarchy Data
PROD_NUM PRODUCT_ATTR13_NAME PRODUCT_ATTR14_NAME PRODUCT_ATTR15_NAME STYLE_PROD_NUM
STYLE_PROD_NUM
STY/COL_PROD_NUM
STYLE_PROD_NUM
STY/COL_PROD_NUM
STY/COL_SIZ_PROD_NUM
STYLE_PROD_NUM
STY/COL_PROD_NUM
STY/COL_SIZ_PROD_NUM
Note:
For Size Profiles Cloud Services, the Extended Product Hierarchy must be loaded.
Note:
The mapping of columns and the example mentioned above for product hierarchy can be different, depending on the source of the data. For example, if the data is loaded from RMS Cloud, the mapping will be as follows:
-
PRODUCT_ATTRPRODUCT_ATTR14_NAME = sku ID (a.k.a. style/color/size)13_NAME = sku parent ID (a.k.a.style)
-
PRODUCT_ATTR14_NAME = sku ID (a.k.a. style/color/size)
-
PRODUCT_ATTR16_NAME = differentiator ID (for example color, or any differentiator that is used in-between style and sku).
-
-
Calendar Hierarchy. This is one of the core hierarchies. The retailer can specify the calendar depending on their business requirements (for example, fiscal calendar).
Sales Data
Historical sales data is required at the sku-store-week level. If the sales transaction data is provided, it will be aggregated by the application to the sku-store-level. It is necessary that the sales transaction data be provided at the lowest level of product hierarchy (that is, the level in RSE_HIER_LEVEL that has LEAF_NODE_FLG = 'Y' for HIER_TYPE_ID = 3).
Alternatively, data can be provided directly at this level using the RSE_SLS_PR_LC_WK_STG interface. When the system is in production, the latest incremental sales data is obtained as part of the batch process.
Inventory Data
Two methods are available for generating size profiles. For the Optimization method, historical inventory must be provided at the sku-store-week level. To generate profiles using the Normalize method, inventory data is not required.
Product Images Data
Product images that are available on a customer-hosted web server can be viewed in the Size Profiles UI. The W_RTL_PRODUCT_IMAGE_DS.dat interface contains a column called PRODUCT_IMAGE_ADDR, which can contain the full URL to an image of the product. This URL must be in the following format:
http[s]://servername[:port]/location/filename.extension
For example:
PRODUCT_IMAGE_NAME = imagename.png
PRODUCT_IMAGE_ADDR = http://hostname/url/imagename.png
PRODUCT_IMAGE_DESC= Short description of the image
The Size Profiles application running in the cloud does not directly access these images, so there is no need to expose these images outside of the customer's firewall. As long as the user of the SP application has access to the URL while running the SP application, then the user's web browser will be able to resolve the URL and retrieve the images for display when the user chooses this option. The images must be in a file format that the web browser can display. Since the images shown in the UI are small, these images do not need to be high quality images. The size of the image files will affect the time it takes to render them.
Season
The selected season for the run is used in two ways:The historical data period is set based on the start/end date of the selected season, one year ago. In addition, size profiles are generated for products that are selected for the run and are mapped to the selected season.
The season definition can be loaded through the following interfaces: W_RTL_SEASON_D and W_RTL_PHASE_D. In addition, the W_DOMAIN_MEMBER_LKP_TL should have data for DOMAIN_CODE of SEASON and PHASE. The mapping between items and season is also required and can be loaded through W_RTL_SEASON_PHASE_IT_D.
Size and Size Range Data
The mapping between SKUs and sizes, as well as the mapping between sizes and size ranges, are both required. This data can be provided through W_RTL_ITEM_GRP1_D, W_RTL_DIFF_GRP_D and W_RTL_DIFF_GRP_D_TL. It is also necessary to set the value of SPO_DIFF_TYPE in RSE_CONFIG to be the same as the diff_type that is in W_RTL_DIFF_GRP_D for size attribute.
In addition to these two interfaces, it is expected that the column prod_attr_grp_id will be populated in W_RTL_ITEM_GRP1_D for the PROD_GRP_ TYPE that is associated with Size.
Note:
It is necessary that all attributes, including the Size attribute, are provided at the lowest level of product hierarchy (that is, the level in RSE_ HIER_LEVEL that has LEAF_NODE_FLG = Y).Configurations
The configurations that are used by the Size Profiles science algorithm are set when creating a run In the UI. In addition, a few global configurations can be viewed and overriden using Strategy & Policy Management under Control & Tactical Center. In this dashboard, you navigate to Manage System Configurations, select ALL for application, RSE_CONFIG for table, and filter the table by APPL_CODE=SPO. For details, see the “Control & Tactical Center” chapter in the Oracle Retail AI Foundation Cloud Services User Guide.
Table 11-2 Configurations
PARAM_NAME | PARAM_VALUE | DESCR |
---|---|---|
DEFAULT_APPL_USER | SPO_BATCH_USR | User identifier to be used for batch activities that require user tracking. |
RECENT_RUNS_DAYS_BACK | 30 | Number of days following creation after which successful runs do not appear in corresponding left-hand-side UI panel. |
SPO_DIFF_TYPE | S | Diff Type value to be used for SIZE diff |
SPO_DIFF_TYPE_COLOR | C | Diff Type value to be used for COLOR diff |
SPO_EXPORT_FETCH_SIZE | 1000 | Fetch Size for exporting records using SPO User Interface Export To Excel. |
SPO_EXTRA_PROFS_LOC_MAX_LVL | 3 | Level Identifier for the highest level of the Location Hierarchy to be used in blow-out of profiles routine. Default to 3 Area Level |
SPO_EXTRA_PROFS_LOC_MIN_LVL | 3 | Level Identifier for the lowest level of the Location Hierarchy to be used in blow-out of profiles routine. Default to 3 Area Level |
SPO_EXTRA_PROFS_MAX_LVL | 5 | Level Identifier for the highest level of the Product Hierarchy to be used in blow-out of profiles routine. Default to 5 Class Level |
SPO_EXTRA_PROFS_MIN_LVL | 7 | Level Identifier for the lowest level of the Product Hierarchy to be used in blow-out of profiles routine. Default to 7 Class Level. |
SPO_LOC_HIER_PROCESSING_LVL | 6 | Level Identifier for the level of the Location Hierarchy at which we process Size Profile. Default 6 is to process at STORE Level. |
SPO_LOC_HIER_TYPE | 2 | Hierarchy Type Identifier for the Location Hierarchy Type. |
SPO_PROD_HIER_PARENT_LVL | 8 | Level Identifier for the level of the Product Hierarchy of the SKU-Parent. Default 8 is the STYLE-COLOR Level. |
SPO_PROD_HIER_PROCESSING_LVL | 9 | Level Identifier for the level of the Product Hierarchy at which we process Size Profile. Default 9 is to process at SKU Level. |
SPO_PROD_HIER_TYPE | 3 | Hierarchy Type Identifier for the Product/Merchandise Hierarchy Type. |
SPO_PROF_EXP_LOC_LVL | 4 | Mark USER_BY_AIP=Y Where active Season Size Profiles created at Store level in Export DB view |
SPO_PROF_EXP_MERCH_LVL | 6 | Mark USER_BY_AIP=Y Where active Season Size Profiles created at Subclass level in Export DB view. |
SPO_PURGE_ALL_RUNS | N | Indicates to clean up all run data. |
SPO_PURGE_RETENTION_DAYS | 30 | Number of days to wait before permanently deleting run data. |
SPO_SALES_TYPE | RPC | Indicates the type of historical sales that goes into all stages of size profile generation. Valid values are RPC(regular+promo+clearance) |
Data Output
The following exports are available under ORASE_WEEKLY_EXTRACT.ZIP. The content of the export files will depend on the source of data (whether it’s according to the data format in RMS or not).
Table 11-3 Data Output Exports
Export File Name | Value of EXTENDED_HIERARCHY_SRC in RSE_CONFIG | View Name | Content |
---|---|---|---|
spo_size_profile.csv | RMS | SPO_SZ_PROF_EXPORT_VW | Approved profiles at higher level. This can be used by external applications such as Product Lifecycle Management (PLM). The DIFF type and DIFF group data in MFCS is used in this file. |
spo_size_profile.csv | NON-RMS | SPO_SZ_PROF_EXPORT_VW | Approved Profiles at lowest level (style-color/location) and higher level(s). |
d1itpt.01 | RMS | SPO_EXPORT_ALLOC_VW | Approved Profiles at lowest level (style-color/location). The DIFF type and DIFF group data in MFCS is used in this file. This file is integrated into Oracle Retail Allocation Cloud Service |
spo_gid_label | RMS | SPO_EXPORT_ALLOC_GID_FILE_VW | The GID information which is required for integration with Oracle Retail Allocation Cloud Service. |
spo_custom_export.csv | NON-RMS | SPO_EXPORT_DATA_VW | Size profiles at product group level as defined in rse_prod_attr_group. |
Batch and Ad-Hoc Jobs
The following batch and ad-hoc jobs are responsible for loading the size, size range, and season data into SPO.
Table 11-4 Data-Loading Batch and Ad-Hoc Jobs
JobName | Description | RmsBatch | ParameterValue | Modules |
---|---|---|---|---|
SPO_MASTER_ADHOC_JOB | Description Run SPO master script | spo_master.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SIZE_ETL_START_JOB | Start job for size related ETLs | rse_process_state_update.ksh | SPO_SIZE_ETL_PROCESS Start | SPO_Batch |
SPO_SIZE_ETL_SETUP_JOB | Setup job for size ETL | spo_size_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SIZE_ETL_PROCESS_JOB | Process job for size ETL | spo_size_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SIZE_ETL_END_JOB | End job for size related | rse_process_state_update.ksh | SPO_SIZE_ETL_PROCESS End | SPO_Batch |
SPO_PROD_LOC_SIZE_ETL_START_JOB | Start job for product/location/size ETLs | rse_process_state_update.ksh | SPO_PROD_LOC_SIZE_ETL_PROCESS Start | SPO_Batch |
SPO_SIZE_RANGE_ETL_SETUP_JOB | Setup job for size range ETL | spo_size_range_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SIZE_RANGE_ETL_PROCESS_JOB | Process job for size range ETL | spo_size_range_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SUB_SIZE_RANGE_ETL_SETUP_JOB | sub size range ETL | spo_sub_size_range_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SUB_SIZE_RANGE_ETL_PROCESS_JOB | Process job for sub size range ETL | spo_sub_size_range_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SIZE_MAP_ETL_SETUP_JOB | Setup job for size map ETL | spo_size_map_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SIZE_MAP_ETL_PROCESS_JOB | Process job for size map ETL | spo_size_map_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SUB_SIZE_MAP_ETL_SETUP_JOB | sub size map ETL | spo_sub_size_map_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SUB_SIZE_MAP_ETL_PROCESS_JOB | Process job for sub size map ETL | spo_sub_size_map_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_PROD_SIZE_ETL_SETUP_JOB | Setup job for product/size ETL | spo_prod_size_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_PROD_SIZE_ETL_PROCESS_JOB | Process job for product/size ETL | spo_prod_size_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SUB_SIZE_RANGE_PROD_LOC_ETL_SETUP_JOB | Setup job for sub size/range/product/location ETL | spo_sub_sz_range_pr_lc_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SUB_SIZE_RANGE_PROD_LOC_ETL_PROCESS_JOB | Process job for sub size/range/product/location ETL | spo_sub_sz_range_pr_lc_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_PROD_LOC_SIZE_ETL_END_JOB | End job for product/location/size ETLs | rse_process_state_update.ksh | SPO_PROD_LOC_SIZE_ETL_PROCESS End | SPO_Batch |
SPO_SIZE_ETL_SETUP_ADHOC_JOB | Ad hoc setup job for size ETL | spo_size_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SIZE_ETL_PROCESS_ADHOC_JOB | Ad hoc process job for size ETL | spo_size_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SIZE_RANGE_ETL_SETUP_ADHOC_JOB | Ad hoc setup job for size range ETL | spo_size_range_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SIZE_RANGE_ETL_PROCESS_ADHOC_JOB | Ad hoc process job for size range ETL | spo_size_range_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SUB_SIZE_RANGE_ETL_SETUP_ADHOC_JOB | Ad hoc setup job for sub size range ETL | spo_sub_size_range_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SUB_SIZE_RANGE_ETL_PROCESS_ADHOC_JOB | Ad hoc process job for sub size range ETL | spo_sub_size_range_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SIZE_MAP_ETL_SETUP_ADHOC_JOB | Ad hoc setup job for size map ETL | spo_size_map_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SIZE_MAP_ETL_PROCESS_ADHOC_JOB | Ad hoc process job for size map ETL | spo_size_map_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SUB_SIZE_MAP_ETL_SETUP_ADHOC_JOB | Ad hoc setup job for sub size map ETL | spo_sub_size_map_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SUB_SIZE_MAP_ETL_PROCESS_ADHOC_JOB | Ad hoc process job for sub size map ETL | spo_sub_size_map_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_PROD_SIZE_ETL_SETUP_ADHOC_JOB | Ad hoc setup job for product/size ETL | spo_prod_size_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_PROD_SIZE_ETL_PROCESS_ADHOC_JOB | Ad hoc process job for product/size ETL | spo_prod_size_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SUB_SIZE_RANGE_PROD_LOC_ETL_SETUP_ADHOC_JOB | Ad hoc setup job for sub size/range/product/location ETL | spo_sub_sz_range_pr_lc_setup.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SUB_SIZE_RANGE_PROD_LOC_ETL_PROCESS_ADHOC_JOB | Ad hoc process job for sub size/range/product/location ETL | spo_sub_sz_range_pr_lc_process.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
RSE_SEASON_PHASE_ITEM_ETL_START_JOB | Start job for season/phase/item ETL | rse_process_state_update.ksh | RSE_SEASON_PHASE_ITEM_ETL_PROCESS Start | SPO_Batch |
RSE_SEASON_PHASE_ITEM_ETL_LOAD_JOB | Load job for season/phase/item ETL | rse_season_phase_item_load.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
RSE_SEASON_PHASE_ITEM_ETL_END_JOB | End job for season/phase/item ETL | rse_process_state_update.ksh | RSE_SEASON_PHASE_ITEM_ETL_PROCESS End | SPO_Batch |
SPO_SEASON_LOAD_START_JOB | SPO_SEASON_LOAD_START_JOB | rse_process_state_update.ksh | SPO_SEASON_LOAD_PROCESS Start | SPO_Batch |
SPO_SEASON_LOAD_JOB | SPO_SEASON_LOAD_JOB | spo_season_load.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_SEASON_LOAD_END_JOB | SPO_SEASON_LOAD_END_JOB | rse_process_state_update.ksh | SPO_SEASON_LOAD_PROCESS End | SPO_Batch |
The following jobs are for exporting the outputs.
Table 11-5 Output Exporting Batch and Ad-Hoc Jobs
JobName | Description | RmsBatch | ParameterValue | Modules |
---|---|---|---|---|
SPO_EXPORT_START_JOB |
SPO_EXPORT_START_JOB |
rse_process_state_update.ksh |
SPO_PROD_SIZE_LOAD_PROCESS Start |
SPO_Batch |
SPO_EXPORT_PREP_JOB |
SPO_EXPORT_PREP_JOB |
spo_export_prep.ksh |
SPO_Export | |
SPO_SZ_PROF_EXPORT_JOB |
SPO_SZ_PROF_EXPORT_JOB |
spo_sz_prof_export.ksh |
#Sys-Opt.SPO_HOME/data/outfile/spo_sz_prof_export.csv |
SPO_Export |
SPO_SZ_PROF_EXPORT_ADHOC_JOB |
SPO_SZ_PROF_EXPORT_ADHOC_JOB |
spo_sz_prof_export.ksh |
#Sys-Opt.SPO_HOME/data/outfile/spo_sz_prof_export.csv |
SPO_Export |
SPO_EXPORT_END_JOB |
SPO_EXPORT_END_JOB |
rse_process_state_update.ksh |
SPO_PROD_SIZE_LOAD_PROCESS End |
SPO_Batch |
SPO_EXPORT_PREP_ADHOC_JOB |
SPO_EXPORT_PREP_ADHOC_JOB |
spo_export_prep.ksh |
SPO_Export |
|
SPO_ALLOC_EXPORT_JOB |
Export data for allocation |
spo_alloc_export.ksh |
||
SPO_ALLOC_EXPORT_ADHOC_JOB |
Ad hoc job to export data for allocation |
spo_alloc_export.ksh |
SPO_Export |
|
SPO_ALLOC_GID_FILE_EXPORT_JOB |
Generate a GID file |
spo_alloc_gid_file_export.ksh |
||
SPO_ALLOC_GID_FILE_EXPORT_ADHOC_JOB |
Ad hoc job to generate a GID file |
spo_alloc_gid_file_export.ksh |
SPO_Export |
|
SPO_CUSTOM_EXPORT_JOB | Extract customized export data | spo_custom_export.ksh | SPO_Export | |
SPO_CUSTOM_EXPORT_ADHOC_JOB | Ad hoc job to extract customized export data | spo_custom_export.ksh | SPO_Export |
Table 11-6 Purge Run Jobs
JobName | Description | RMSBatch | ParameterValue | Modules |
---|---|---|---|---|
SPO_PURGE_RUN_START_JOB | Start job for purging SPO run data | rse_process_state_update.ksh | SPO_PURGE_RUN_PROCESS Start | SPO_Batch |
SPO_PURGE_RUN_JOB | Purge job for SPO run data | spo_purge_run_data.ksh | SPO_Interfaces||SPO_Interfaces_CNE | |
SPO_PURGE_RUN_END_JOB | SPO run data | rse_process_state_update.ksh | SPO_PURGE_RUN_PROCESS End | SPO_Batch |
SPO_PURGE_RUN_ADHOC_JOB | Ad hoc purge job for SPO run data | spo_purge_run_data.ksh | SPO_Interfaces||SPO_Interfaces_CNE |