Managing Multiple Incumbents on Single Lots or Lanes

The business challenges associated with managing multiple incumbents are as follows:

  • Lots (or lanes in a transportation bid) may need to be split across suppliers as volumes may exceed individual suppliers’ capacities or the buyer may wish to split the award as part of a risk management policy.
  • Internal stakeholders may feel dependent upon certain suppliers so there may be a lower tolerance for switching.
  • Prudent risk management demands that supply chain robustness be increased via the inclusion of substitutable supply bases should a failure occur for one supplier.


The purpose of this help article is to highlight:

  • How to capture information pertaining to multiple incumbents
  • How to model constraints on switching
  • How to manage risk in this setting


Information to be Captured:

  • Multiple Historic Rates on Single Lots (or Lanes)
  • Identities of Incumbents
  • Past share of business per incumbent


Worked Example:

Step 1: Upload a Bid Sheet Design with Incumbency Information

Getting started is as easy as uploading a bid sheet design to the Keelvar app. Simply include columns in your bid sheet design to record the identity, share and price for each incumbent on each lot. As shown in the example below, it is possible to have different numbers of incumbents on different lots (or no incumbents at all).

Note that Price ($) is a Bidder Input Field.

[At this point, it will be important to enable Split Award, and nominate the Volume Column as Demand under the Lot Share Capacity Limits section of Event Settings.]


 Figure 1: Firstly, upload and import the incumbency data in the bid sheet design.

Step 2: Insert Carrier Name & Historic Data Columns

In order to leverage this multiple incumbency information, you will need to add three additional columns to from the bid sheet design screen, as shown in Figures 2 (a-c) below.

Bidder Name is a Purchaser Input with Bidder Specific Values which tracks the identity of the bidder in a way that can be by formulas in the next two columns. We will discuss how to populate this field in Step 3.

Bidder Historic Share and Bidder Historic Price ($) are formula fields. They will return (for each bidder-lot combination) the bidder’s Historic Share and Historic Price on that lane, if the bidder is an incumbent. Otherwise, they will return 0. These values will allow us to create scenarios later which take our incumbency information into account.

Note that you should select “Hidden from Bidders” when creating this field in order to prevent Historic Prices being revealed to bidders.


Figure 2(a): Bidder name is a purchaser input with bidder specific values which should be hidden from bidders.

Bidder_Historic_Share.PNG Figure 2(b): Bidder Historic Share uses a formula to find the bidders Historic Share on a given lot. The formula shown can be extended naturally if there are more than 2 incumbent columns.


Figure 2(c): Bidder Historic Price uses a formula to find the bidders Historic Price on a given lot (if it is an incumbent). The formula shown can be extended naturally if there are more than 2 incumbent columns.


Step 3: Filling in the Bidder Name Values:

In order to fill in the Bidder Name column, you must first enable the Starting Bids Option under Design>Event Settings. With this done, navigate to Invite>Starting Bids where you can begin seeding the values for the Bidder Name Column.

For each bidder, you must navigate to their staring bids tab, click Enable Bidding and then fill in their name in each row of the Bidder Name column, as shown below for RoadStar. For events with a large number of lanes, you can enable Offline Bidding and seed these values more easily from an Excel File. Once you have submitted the values, the formula fields for Bidder Historic Share and Bidder Historic Price should update appropriately. Note that these fields will rely on an exact text match so ensure that your names for bidders are consistent throughout your records.

Repeat this for each bidder in the event.


Figure 3(a): Here we see how to fill in the Bidder Name Column in the Starting Bids Tab.


Figure 3(b): If the Bidder Name column is filled in correctly then the Bidder Historic Share and Historic Price columns should update appropriately.


Step 4: Add Secondary Cost Calculations

In order to compute some desirable scenarios (see Step 5), we need to add secondary cost functions based on these new columns.

To achieve this, continue with event setup by adding your standard cost calculation (e.g. Price*Volume), and then, from the cost calculation screen, navigate to Secondary Cost Calculations. From here you can add the two formulas shown in Figures 4 (a) & (b).

The first calculation, “Only Incumbent Bids”, (Fig 4(a)) will exclude bidders who are not incumbent on a given lot and will compute Price*Volume for incumbents. For lots where there is no incumbent this formula will not exclude any bidders.

The second calculation, “Only Historic Prices”, (Fig 4(b)) will again exclude non-incumbent providers and will compute the cost using the historic price on a lot (as opposed current prices).

Note that in either of these cases, “excluded” bidders will have their bids set to 0. Thus, to avoid misleadingly inexpensive outcomes it is important to ensure Minimum Eligible Bid is set to 0.01 for all scenarios relying on these cost calculations.


Figure 4(a): The Cost Calculation "Only Incumbent Bids"


Figure 4(b): The Cost Calculation "Only Historic Prices"


Step 5: Construct Relevant Scenarios:

Having loaded this incumbency data into the Keelvar app and followed the set-up in Steps 1-4, you can now utilize this information to model some valuable scenarios. The following are some examples of scenarios which may meet your business needs.

  1. No or Limited Switching Capacity:

This may arise for particularly risk-sensitive shipping lanes or where maintaining relationships with incumbent suppliers is more important than lowering cost and thus there is no or low “switching capacity” on these lots. To simulate this with the incumbency data provided we can add constraints which force us to stick to the historic incumbents and allocations on some subset of lots.

To do this, create a new scenario, A, and under Settings>Force Allocation select Bidder Historic Share as the forced allocation. Ensure that lots which are not subject to these constraints are withdrawn. Now create a second scenario, B, which lists scenario A as a parent scenario (found under settings). Then setting a Max Allocation Change from the parent scenario allows you to specify the level of switching capacity which exists across these lots.


Figure 5(a): Specifying Forced Allocation of Historic Share.

  1. Only Incumbents Can Compete:

In some cases, there may be no need to insist on the same share as before but new entrants may need be excluded from bidding on lots (for example because of high qualification costs or in order to maintain relations with other suppliers on that lot). This can be done easily via this setup. Simply create a scenario which uses the secondary cost calculation “Only Incumbent Bids” created in Step 4 and ensure that Minimum Eligible Bid is set to (at least) 0.01.


 Figure 5(b): Changing the cost function of a scenario

Have more questions? Submit a request


Please sign in to leave a comment.