Fluent Commerce Logo
Docs
Sign In

Enable Batch Pre-Processing

How-to Guide

Authors:

Girish Padmanabha, Randy Chan

Changed on:

29 July 2024

Key Points

  • Batch Pre-Processing (BPP) occurs before batch inventory updates reach the inventory workflows. This means if you have any configurations within the workflows that rely on every update reaching the workflow, it is best to opt-out of BPP, make sure to read through this article before toggling this setting off via settings (Read the 'Disabling Batch Pre-Processing' callout shown later)
  • BPP is by default enabled at an ACCOUNT and RETAILER context level, to turn it off see the callout 'Disabling Batch Pre-Processing' below
  • If enabled at an ACCOUNT level, every retailer under that ACCOUNT will have their batch inventory updates pre-processed
  • If enabled at RETAILER levels, it will only pre-process updates for that specific retailer
  • The RETAILER context setting overrides the ACCOUNT context setting. This allows you to enable for the whole account and disable for specific retailers. 

Steps

Setting up Batch Pre-Processing

Step arrow right iconWorkflow Comparison

To ensure that Batch Pre-Processing works correctly and won’t impact your inventory accuracy, the first step is to ensure your inventory workflows are compatible with Batch Pre-Processing.

Batch Pre-Processing is based on the logic within the inventory module. This diagram details the high-level view of the logic.

No alt provided
Signs of a compatible workflow
  • It uses the inventory module reference workflow and reference plugin
  • The types of transient quantities are in line with the standard examples
  • There’s no customisation in the first few rulesets (specifically between InventoryChanged and NotifyVirtualCatalogues)
    • CheckOnHandChanged is a key ruleset to compare logic
Signs of an incompatible workflow
  • The workflow executes logic on unchanged inventory records
  • Usage of new and custom transient quantity types
  • Custom rules and custom rulesets within the Inventory workflow

Step arrow right iconEnable required setting

Batch Pre-Processing is enabled by default, you will see that the setting

`fc.enable.batch.preprocessing`
has been set to TRUE at your desired context level. (Account or Retailer).

Once the setting is updated, the new value will take effect within 5 minutes. Once this time has elapsed, all traffic will either be routed through BPP or be directly processed, depending on whether the setting is enabled or not.

Step arrow right iconPost enablement analysis

Due to the way Batch Pre-Processing works, it is most efficient with large amounts of updates and a significant unchanged rate. Through our Metrics API we provide metrics to track the total number of batch items processed and the ratio of unchanged items.

Desired volumes

For the total amount of batch inventory updates, you should be aiming for the following:

  • At least 1 million total per day
  • Grouped in batches of at least 100,000

For the unchanged rate of batch inventory updates, you should be aiming for the following:

  • Ideally, the unchanged rate should be greater than 50%
    • Once the unchanged rate falls below 50% (the majority of submitted changes are considered updates), Batch Pre-Processing loses its efficiency gains vs batch inventory updates going straight into workflows
    • Most retailers have an unchanged rate of greater than 80%
Using the Metrics API to analyse
Finding total amount

The metric to use here is bpp_records_processed_total. This will return the total count of all batch inventory updates processed through Batch Pre-Processing for the given time period

Find the unchanged rate

This will use an additional metric. To calculate the unchanged rate you will want to divide the total unchanged records by the total records. The metric for unchanged records is bpp_records_unchanged_total.

E.g. (bpp_records_unchanged_total / bpp_records_processed_total)

Girish Padmanabha

Girish Padmanabha

Contributors:
Randy Chan

Copyright © 2024 Fluent Retail Pty Ltd (trading as Fluent Commerce). All rights reserved. No materials on this docs.fluentcommerce.com site may be used in any way and/or for any purpose without prior written authorisation from Fluent Commerce. Current customers and partners shall use these materials strictly in accordance with the terms and conditions of their written agreements with Fluent Commerce or its affiliates.

Fluent Logo