The pay-as-bid algorithm can be used by Storage System Operators (SSOs) to allocate storage products.
The pay-as-bid algorithm is applied during storage auctions with a predetermined runtime consisting of an offer start time and an offer end time. The SSO chooses the allocation algorithm to be used while creating the offer. Shippers may place bids during that runtime. Once the auction ends, the algorithm allocates the available capacity according to the price that the shippers are willing to pay, as stated in their respective bids.
The process is shown below and explained in detail in the following sections.
Once the auction has ended, all bids placed are sorted in descending order by bid price (similar to the uniform price evaluation). The algorithm validates against the maximum bid amount and then allocates the maximum requested capacity to the highest bid in the list, as long as it is lower than or equal to the total available capacity. The algorithm will then follow down the list to the next highest bid, using the same logic to allocate further capacity, if available.
When the available capacity is lower than the requested maximum bid amount, the available capacity is instead validated against the minimum bid amount. If the available capacity is higher than the minimum bid amount of the next-highest bid in the list, the total capacity is allocated to that bidder (see Example 1 below). If the available capacity is lower than the minimum bid amount, no capacity is allocated and the next highest bid is considered (see Example 2).
If multiple bids were placed for the same bid price, they are all grouped together into one price group. The maximum amount validated by the algorithm is then the sum of all maximum bid amounts in the price group. If the maximum amount cannot be fulfilled, the algorithm allocates the available amount pro-rata (see Example 3).
Bids where the bid price is lower than the reserve price are excluded from the allocation procedure.
- Shippers can place bids while the auction is in the OPEN status
- Each bid must specify a minimum capacity amount, a maximum capacity amount, and a bid price
- Evaluation of the placed bids and the allocation of capacity begins once the auction status is set to FINISHED
- Shippers do not see the reserve price set by the SSO
Bid consolidation and ranking
- Once the auction has closed, all received bids are evaluated
- Only bids that are above the reserve price are considered valid
- The auction algorithm ranks all valid bids in descending order according to the bid price of each individual bid
- Depending on the valid bids, the allocated amount is determined by either the fill-or-kill procedure or the pro-rata procedure
- Both procedures are described below:
Example 1: Fill procedure
- Bid B2 is the filling bid since the sum of the maximum amounts of A1, B1, A2, and B2 would exceed the available capacity
- The “fill” procedure is used, because the sum of the maximum amounts of A1, B1, A2, and the minimum amount of B2 do not exceed the available capacity
- B2 is “filled” until the sum of the maximum amounts of A1, B1, and A2, and the B2 partial allocation equal the available capacity
- Successful bids are charged with the bid price indicated by the shipper
- Due to over-demand and the comparatively lower bid price, B3 is not considered
Example 2: Kill procedure
- The minimum amount of B2 exceeds the available capacity, therefore it cannot be a filling bid
- B2 is taken out of allocation (“killed”)
- The auction algorithm then considers the next bid in the descending list, given the B3 minimum amount added to the sum of maximum amounts for A1, B1, and A2 does not exceed the available capacity
- B3 is the lowest considered bid, since the sum of the maximum amounts of A1, B1, A2, and B3 does not exceed the available capacity
- B3 is fully allocated, and shippers are charged according to their bidding price
Example 3: Pro-rata procedure
- As they have the same bid price, B2 and A3 are equally ranked
- In this case the pro-rata procedure is used for the allocation
- The pro-rata key is calculated by dividing the available capacity by the sum of maximum bid amounts for B2 and A3
- The potential capacity allocation amount is then calculated by multiplying the individual maximum bid amount by the pro-rata-key
- B2 and A3 are allocated pro-rata as long as the minimum amount is fulfilled for both bids
- If not, the bid for which the minimum bid amount is higher than the potential capacity allocation is excluded, and the capacity allocation is recalculated