Segments

Distribution intensive supply chains can be quite large, with many thousands of products to be planned across tens of locations. Segments provide a intuitive and efficient way to manage the planning policies when the number of planned item-locations goes into the hundred thousands.

Segments represent a collection of item + location combinations that matches the criteria of the segment. They are used to a) easily filter a certain set of item-locations in reports, and b) they are used in combination with business rules to define a common inventory policies for all item-locations belonging to the segment.

To define a segment, a unique name for that segment and a query are required, an optional description can also be provided. The query is an SQL-like query that can use fields from both item and location objects. Note that segment are dynamic in the sense that whether an item-location belongs to a segment or not is automatically recomputed during a plan execution. Therefore item-locations can get in (and out) of a segment if it matches (or no more matches) the segment query.

Available fields for item table are:

  • name
    category
    subcategory
    description
    cost
    owner_id : owner_id should be used though owner keyword is displayed in frePPLe.

Available fields for location table are:

  • name
    category
    subcategory
    description
    owner_id : owner_id should be used though owner keyword is displayed in frePPLe.

Example

Excel spreadsheet segment

In this example, we have defined four segments:
  • All parts in RDC : This segment is composed of all item-locations in RDC.
    The query to define the segment is the following:
    location.name = ‘RDC’
  • Cheap parts in Paris : This segment is composed of parts having a cost less than 20 in the Tennis shop Paris location.
    The query to define the segment is the following:
    item.cost <= 20 and location.name = ‘Tennis shop Paris’
  • Expensive parts in Brussels : This segment is composed of parts with a price higher than 50 in Tennis shop Brussels location.
    The query to define the segment is the following:
    item.cost > 50 and location.name = ‘Tennis shop Brussels’
  • All parts in shops : This segment is composed of all parts in both Tennis shop Brussels and Tennis shop Paris.
    The query to define the segment is the following (Note that the % character should be used as wildcard):
    location.name like ‘%shop%’

Any of the segments can be used for filtering purpose. For instance, in the Inventory Planning screen, a drop-down menu appears with the list of the defined segments to only display the collection of item-locations belonging to that segment.