Pro-rata matching
Pro-rata matching is an exchange allocation rule that splits an incoming order among the resting orders at the best price in proportion to their size, rather than by arrival time. Allocations are rounded down and the leftover lots are distributed first-in-first-out, so on pro-rata products size, not speed, decides most of each fill.
Senzoukria · Glossary · Updated September 2026
How allocation works
Under pure pro-rata, each resting order at the best price receives the incoming quantity multiplied by its share of the total resting size at that price. Databento's summary of CME's algorithms describes the rounding: allocations are rounded down to the nearest integer, including zero, and excess lots are allocated FIFO. Many implementations combine pro-rata with other steps, such as a priority allocation for the first order to improve the price, minimum allocation sizes, or a fixed split between a FIFO part and a pro-rata part.
A worked example
Three bids rest at the best price: A for 100 contracts, B for 300 and C for 600, 1,000 in total. An incoming sell of 50 contracts is split 5 to A, 15 to B and 30 to C. With a sell of 47 instead, the exact shares are 4.7, 14.1 and 28.2; rounded down they become 4, 14 and 28, which is 46, and the one remaining lot is allocated by time, to whichever of the three arrived first.
| Resting bid | Size | Share | Sell of 50 | Sell of 47 (before leftover) |
|---|---|---|---|---|
| A | 100 | 10% | 5 | 4 |
| B | 300 | 30% | 15 | 14 |
| C | 600 | 60% | 30 | 28 |
Where it is used
Per Databento's summary, SOFR futures outrights on CME use an allocation algorithm, several interest-rate and agricultural products use configurable mixes of FIFO and pro-rata, and options such as 10-year Treasury note options and corn options use threshold pro-rata variants, while ES, NQ, ZN, ZF, ZB and CL are FIFO. Algorithms are set per product and can change; the exchange's reference data is the authority.
Why it changes how the book reads
- On a pro-rata product, posting more size than one wants to trade can be a way to receive a larger allocation, so displayed depth there says less about genuine interest than on a FIFO product.
- Queue position loses most of its meaning; the share of the resting size matters instead.
- Small orders can receive zero on a given trade because of rounding, and fill only through the leftover step.
In Senzoukria
The DOM ladder and the heatmap display resting size the same way whatever the product's matching rule, and the application does not label the algorithm a contract uses. Before reading a thick level as committed interest, or reasoning about queue position, check which algorithm the exchange applies to that contract.
Related
In the same section
- PBO
- Prior session levels
- Profile modes
- Profile shapes
- Price level grouping
- Profit factor
- Price discovery
- Profit split
Sources
- Databento: CME matching algorithms explained (2026-09-25)
This page in other languages
Frequently asked questions
- Why would an exchange use pro-rata instead of FIFO?
- Allocation rules are product design choices. Pro-rata spreads fills across all resting orders at a price instead of rewarding only the earliest, which changes the incentives of liquidity providers on contracts where the price rarely moves and queues would otherwise be won purely on speed. Exchanges often mix it with FIFO or priority steps rather than using it alone.
- Does pro-rata matching affect retail traders on ES or NQ?
- Not on the futures themselves: according to Databento's summary of CME's algorithms, ES and NQ are matched FIFO. It matters for traders of products that use allocation or pro-rata rules, such as SOFR futures, where a small resting order may receive little or nothing from an incoming trade.