Constraints in assortments

What are Constraints? 

In assortments, you can allocate units at scale, either evenly or based on Targets, from the Assortment, Delivery, or Attribute Totals level by manually keying in these units at the Totals cells or pasting them  in from an external source. This means with a single action, units can be efficiently allocated across many products, locations, and deliveries.

Constraints are per-product rules that help further control that allocation. For example, you can allocate a product in multiples of 3, or never allocate more than 5 sweaters to the Southeast stores. These Constraints help remove the need for buyers to remember, check, and manually adjust units accordingly to ensure each Door or group of Doors is receiving the correct quantities.

Manage Constraints

There are two types of Constraints: a multiple (called “multi-of”) and a “limit” (either a minimum or maximum). The Manage Constraints modal allows users to enter values in these types of constraints. Multi-of unit Constraints can be entered at the product level for all doors, whereas minimum and maximum Constraints can be entered at the individual Door, Attribute, Delivery, or Assortment  level. Minimum and maximum constraints that are entered at a grouping level will be written to all Doors belonging to that group.

To get to this modal in your assortment, select the Doors dropdown menu, then select Manage Constraints.

When the Constraints grid opens, it inherits the configuration of your assortments grid including any applied filters (attributes, deliveries, etc.), though you will be able to make some configuration updates to door columns and filters from within the grid as well.

Since multiples apply to a product across all doors and deliveries, Multi Of values only need to be entered once per product. In the Multi Of column, you can enter a number of units for that product. If you’d like to apply that multiple to more products, right-click and select Copy to All to fill all products in the entire column with that number. To reset the Multi Of column, enter 1, then right-click and select Copy to All

Minimums and Maximums, however, can vary per door and per delivery so they must be entered at each dimension level. Minimums will dictate the smallest number of units a door must receive from the allocation, whereas Maximums will dictate the largest number of units a door can receive. To use the minimum and maximum Constraints, enter a number of minimum or maximum units in the appropriate column for each door. For efficiency when working with multiple similar locations, you can enter a Minimum/Maximum in the All Doors/Deliveries column or into a  grouping level such as a door attribute or delivery, so all active doors within that grouping inherit that value.  Keep track of which Deliveries contain constraints at the bottom of the window.

When you’re done setting Constraints, select Done

Note: Setting constraints will not impact the units on your main assortments grid. Managing Constraints is a way to set rules, but won’t change the distribution of units until you choose to do so with the Manage Distribution option.  

Manage Distribution

Manage Distribution allows you to configure and control how your units are allocated across doors and deliveries. You will also be able to see which Doors have Constraints and which Doors have errors (units don’t meet Constraints) in the assortment grid. For more information on this feature, see Manage distribution of bulk units

In your assortment, select the Doors dropdown menu, then select Manage Distribution

Here, you have the following options: 

  • Distribution type: This selection controls the methodology for dividing units across your doors after you enter in a total bulk value at a grouping level.
    • Even distribution (default) will divvy up the total units evenly across all active doors in that group.
    • Distribute then constraint is the default option, and finds a solution for each Door that matches the Target (if being used), the Constraints (if set), and the bulk units keyed.

  • Distribution order: The sequence for how a solution is found when distributing with Constraints. 
    • Distribute and constrain is the default option, and finds a solution for each Door that matches the Target (if being used), the Constraints (if set), and the bulk units keyed. 
    • Minimum then distribute finds a solution that allocates minimum units to all applicable Doors first, then finds a solution for the remaining units that respects Targets (if used), all other Constraints (if set), and the bulk units being keyed.

  • Distribution tolerance:  When distributing with Constraints, the tolerance controls the range of allowed solutions for the bulk units being distributed. Since distributing with constraints requires maintaining specific rules (minimums, maximums or multiples) while allocating bulk units across doors, it’s possible that the bulk units keyed in will not align perfectly with the results of the distribution calculations. Tolerance allows the user to control the acceptable range above or below the total bulk units that are keyed into the grouping. This prevents unexpected distribution results that are much larger or much smaller than the user requested and will provide the user with an error message if those inputs are too far apart.
    • For example, when distributing 1,000 units, a tolerance of 10% would allow the total units distributed to be between 900-1,100 while satisfying both Targets and Constraints. Whereas a tolerance of 0% would require the logic to find a result of exactly 1,000 and might leave you without a viable solution.
  • Use Constraints when distributing: This toggle turns on the Constraints you’ve set up so that when you distribute they are factored into the allocation calculations. When this is enabled you will be able to set a Distribution order and tolerance as well.

  • Redistribute without constraints if constrained distribution fails: Once all inputs are entered, it is still possible that the algorithm will not be able to find a valid solution. In this scenario, when this option is selected it will rerun distribution without the entered constraints so you can get a solution and review the allocations manually.
    • If this is not selected and a distribution solution cannot be found, you will see an error pop up letting you know that we were Unable to Distribute Units for select product(s).

  • Highlight Constraints on grid: Shows which doors have Constraints in the assortments grid by applying a “chip” (triangle) in the applicable cells. Hover over the chip to see the specific Constraints rules that are set for that door.

  • Highlight when units are outside of constraints: Shows which doors contain units that break one or more Constraints rules, such as a value is greater than the Maximum. Enabling these highlights will turn the affected cells yellow so you can easily spot them at a glance for review. These highlights will work regardless of how the units were distributed or entered.

When you’re done, select Apply. After these configurations have been applied, you can proceed with entering your bulk units for distribution and your selections will be put into action. Note that selecting apply will not impact any values that are already on your grid.

Troubleshooting distribution with Constraints

When Use Constraints when distributing is selected, the distribution algorithm tries to find a distribution that A) satisfies all constraints across all doors, B) meets the Targets being used in distribution (if any), and C) matches the bulk units keyed or pasted in for each product within the entered tolerance.

When entering units across multiple products, the solution for each product is generated independently. If a valid solution cannot be found for certain products, the Unable to Distribute Units modal will list those products that had no valid solution. For these products, we were unable to distribute the units as you intended so you will either need to adjust one or more of your inputs or manually allocate yourself. This list of products can also be exported to excel.

Inputs that may be adjusted to impact your distribution logic:

  • Tolerance – increase your tolerance to allow for the logic to search for a wider range of valid solutions
  • Constraints – confirm the multi-of, minimums and/or maximums make sense for these products
  • Units – confirm the units you entered make sense and are sufficient to meet the constraint rules

You can also enable the option to distribute without constraints by selecting Redistribute without constraints if constrained distribution fails. Then when you redistribute, the constraints will be ignored to find you a solution.

Apply Constraints

Applying Constraints allows you to constrain units that have been already distributed on your grid, no matter how the units were initially distributed, and follows the same rules as Manage Distribution, applying only to visible Deliveries, Attributes, and Doors.

In your assortments, select the Doors dropdown menu, then select Apply Constraints

Choose how you want to apply Constraints. You can choose to apply all Constraints, or apply any combination of Multi-of, Minimums, or Maximums. In doing so, you will apply the Constraints to selected products or filtered products only, or all products if there are no filters. 


Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request