Heavily discounted bid (R058)

The percentage difference between the winning bid and the second-lowest valid bid is a high outlier.


For each contracting process, the difference is calculated as \((secondLowestValidBidAmount - winningBidAmount) \over winningBidAmount\).

A contracting process is flagged if the difference is greater than or equal to the upper fence of \(Q_3 + 1.5(IQR)\), where \(Q_3\) is the third quartile and \(IQR\) is the interquartile range for the set of differences.

The winner is also flagged.


In 25% (\(Q_1\)) of contracting processes in Atlantis, the second-lowest valid bid is at most 5% greater than the winning bid. In 75% (\(Q_3\)) of contracting processes, it is at most 7% greater. This yields an upper fence of 10% (0.1).

In a contracting process, Lemon Industries won with a bid of $100,000, and FairDeal Enterprises lost with the second-lowest bid of $115,000. The difference is 15% (0.15). This is greater than the upper fence of 10%. Therefore, the process is flagged.

Why is this a red flag?

An unethical bidder can offer defective goods (“lemons”) if the buyer has inadequate quality criteria.

Based on “The price offered by the winning bidder is significantly lower than the price offered by the rest of the bidders” in Fraud in Public Procurement: A collection of Red Flags and Best Practices, “Difference between lowest and second lowest bid prices” in Assessing the potential for detecting collusion in Swedish public procurement, and The Market for “Lemons”: Quality Uncertainty and the Market Mechanism.


The indicator’s value for the contracting process is the difference, as a decimal.

The indicator’s value for the tenderer is always 0.0.

If the --map command-line flag is set, the Maps key contains:


The flagged tenderers for each flagged ocid.


All configuration is optional. To override the default upper fence, add to your settings file, as a decimal:

threshold = 0.50

See also

no_price_comparison_procurement_methods and price_comparison_procurement_methods in Global configuration


A contracting process is excluded if:

  • An award’s status is pending or invalid.

  • The winning bid is not the lowest bid.

  • There are multiple active awards (a.k.a. winning bids). #14

  • A bid is submitted by multiple tenderers. #17

  • An award is made to multiple suppliers. #17


Do you want to eliminate an exclusion? Please contributed to the linked GitHub issue.


This indicator assumes that the tenderer of the winning bid didn’t submit another valid bid.





$ ocdscardinal indicators --settings docs/examples/settings.ini --no-meta docs/examples/R/058.jsonl