Skip to content

Experiment report: mechanisms

Four market designs on the same synthetic market: pay-as-bid and second-price reverse auctions with lowest-price selection, and pay-as-bid with quality-weighted and risk-adjusted selection.

Hypothesis

With bidders whose strategy does not react to the mechanism (cost-plus 20%), second-price payments raise buyer cost relative to first-price without changing allocation, while risk-adjusted selection raises completion rate at some cost.

Experimental setup

  • Replications: 30 per arm (common random numbers across arms)
  • Seed: 2026
  • AuctionSI 0.1.1, Python 3.12.15, git commit 0162c05e54894a8575355e5fb4d3f5d47dd18a08+dirty
  • Baseline arm: first_price
  • Confidence level: 95%; alpha: 0.05

Parameters

  • Agents: {'count': 40, 'capabilities': ['research', 'data_analysis', 'sql', 'optimization'], 'capability_distribution': 'mixed', 'capabilities_per_agent': (1, 3), 'cost_distribution': 'lognormal', 'variable_cost_ratio': 0.01, 'quality_distribution': 'beta', 'quality_spread': 0.05, 'latency_distribution': 'lognormal', 'reliability_distribution': {'name': 'uniform', 'low': 0.6, 'high': 1.0}, 'capacity_distribution': 1, 'strategy': 'cost_plus', 'quality_report_bias': 0.0}
  • Tasks: {'count': 400, 'task_types': ['research', 'data_analysis', 'sql', 'optimization'], 'arrival_rate': 1.0, 'budget_distribution': 'lognormal', 'deadline_distribution': 'uniform', 'complexity_distribution': 'lognormal', 'min_quality': 0.6, 'value_multiplier': 1.5}
  • Defaults: mechanism=first_price_reverse, policy=lowest_price, reputation=multi_dimensional, settlement=pay_on_pass

Arms

  • first_price: {'mechanism': 'first_price_reverse', 'policy': 'lowest_price'}
  • second_price: {'mechanism': 'second_price_reverse', 'policy': 'lowest_price'}
  • quality_weighted: {'mechanism': 'first_price_reverse', 'policy': {'name': 'weighted_score', 'price_weight': 0.5, 'quality_weight': 0.5, 'latency_weight': 0.0}}
  • risk_adjusted: {'mechanism': 'first_price_reverse', 'policy': {'name': 'risk_adjusted_cost'}}

Results

total_cost

arm n mean 95% CI sd median
first_price 30 8.268 [7.923, 8.613] 0.9233 8.171
second_price 30 9.881 [9.471, 10.29] 1.097 9.969
quality_weighted 30 8.849 [8.449, 9.248] 1.07 8.82
risk_adjusted 30 9.479 [9.087, 9.871] 1.05 9.235

average_cost

arm n mean 95% CI sd median
first_price 30 0.02672 [0.02568, 0.02775] 0.002779 0.02681
second_price 30 0.03193 [0.03069, 0.03317] 0.003312 0.0321
quality_weighted 30 0.02803 [0.02695, 0.02911] 0.002899 0.02824
risk_adjusted 30 0.02918 [0.02804, 0.03033] 0.003064 0.02904

average_quality

arm n mean 95% CI sd median
first_price 30 0.8268 [0.8188, 0.8347] 0.02127 0.8258
second_price 30 0.8268 [0.8188, 0.8347] 0.02127 0.8258
quality_weighted 30 0.8653 [0.8581, 0.8724] 0.01913 0.8684
risk_adjusted 30 0.8296 [0.8223, 0.8369] 0.01949 0.8291

completion_rate

arm n mean 95% CI sd median
first_price 30 0.7742 [0.7578, 0.7907] 0.04405 0.7737
second_price 30 0.7742 [0.7578, 0.7907] 0.04405 0.7737
quality_weighted 30 0.7888 [0.7732, 0.8045] 0.04183 0.7875
risk_adjusted 30 0.8126 [0.7977, 0.8275] 0.03991 0.8037

cost_efficiency

arm n mean 95% CI sd median
first_price 30 0.9327 [0.9031, 0.9622] 0.07919 0.9567
second_price 30 0.9327 [0.9031, 0.9622] 0.07919 0.9567
quality_weighted 30 0.8611 [0.8307, 0.8915] 0.08144 0.8915
risk_adjusted 30 0.8098 [0.7807, 0.8389] 0.07787 0.825

buyer_utility

arm n mean 95% CI sd median
first_price 30 49.98 [48.8, 51.16] 3.153 50.02
second_price 30 48.37 [47.19, 49.54] 3.155 48.42
quality_weighted 30 50.48 [49.45, 51.51] 2.763 50.31
risk_adjusted 30 51.74 [50.69, 52.78] 2.8 51.74

Statistical tests

Paired t-tests on per-replication differences (treatment - baseline). Effect size is Cohen's d_z.

metric treatment mean diff CI relative d_z p p (Holm)
total_cost second_price 1.613 [1.447, 1.778] +19.5% 3.64 1.84e-18 3.13e-17
average_cost second_price 0.005214 [0.004686, 0.005742] +19.5% 3.69 1.27e-18 2.29e-17
average_quality second_price 0 [0, 0] +0.0% n/a 1 1
completion_rate second_price 0 [0, 0] +0.0% n/a 1 1
cost_efficiency second_price 0 [0, 0] +0.0% n/a 1 1
buyer_utility second_price -1.613 [-1.778, -1.447] -3.2% -3.64 1.84e-18 3.13e-17
total_cost quality_weighted 0.5808 [0.4421, 0.7194] +7.0% 1.56 1.95e-09 1.56e-08
average_cost quality_weighted 0.001316 [0.001093, 0.00154] +4.9% 2.2 8.15e-13 8.97e-12
average_quality quality_weighted 0.03847 [0.03311, 0.04382] +4.7% 2.68 5.64e-15 7.89e-14
completion_rate quality_weighted 0.01458 [0.0053, 0.02387] +1.9% 0.587 0.00321 0.0193
cost_efficiency quality_weighted -0.0716 [-0.08418, -0.05902] -7.7% -2.13 1.89e-12 1.89e-11
buyer_utility quality_weighted 0.5012 [-0.1387, 1.141] +1.0% 0.292 0.12 0.6
total_cost risk_adjusted 1.211 [1.034, 1.388] +14.6% 2.56 1.93e-14 2.31e-13
average_cost risk_adjusted 0.002469 [0.00211, 0.002827] +9.2% 2.57 1.71e-14 2.22e-13
average_quality risk_adjusted 0.002811 [-0.002134, 0.007756] +0.3% 0.212 0.254 1
completion_rate risk_adjusted 0.03833 [0.03028, 0.04639] +5.0% 1.78 1.22e-10 1.1e-09
cost_efficiency risk_adjusted -0.1228 [-0.1375, -0.1082] -13.2% -3.12 1.1e-16 1.65e-15
buyer_utility risk_adjusted 1.76 [1.248, 2.273] +3.5% 1.28 9.96e-08 6.98e-07

Limitations

  • Bidders use a fixed cost-plus strategy in every arm, so the classic incentive argument for second-price auctions (bidders shading less) is deliberately not modelled here.
  • Results come from a synthetic market; agent costs, quality and reliability are drawn from the configured distributions, not measured from real agents.
  • Agents follow fixed (or simple adaptive) bidding strategies; real strategic agents may respond to the mechanism differently.
  • A non-significant difference is not evidence of equivalence.
  • P-values are Holm-adjusted across the comparisons in this report only.

Conclusion

  • In this simulated environment, second_price produced higher total_cost than first_price (mean difference 1.613, 95% CI [1.447, 1.778]).
  • In this simulated environment, second_price produced higher average_cost than first_price (mean difference 0.005214, 95% CI [0.004686, 0.005742]).
  • No difference in average_quality between second_price and first_price was detected at alpha=0.05 after Holm adjustment (95% CI [0, 0]).
  • No difference in completion_rate between second_price and first_price was detected at alpha=0.05 after Holm adjustment (95% CI [0, 0]).
  • No difference in cost_efficiency between second_price and first_price was detected at alpha=0.05 after Holm adjustment (95% CI [0, 0]).
  • In this simulated environment, second_price produced lower buyer_utility than first_price (mean difference -1.613, 95% CI [-1.778, -1.447]).
  • In this simulated environment, quality_weighted produced higher total_cost than first_price (mean difference 0.5808, 95% CI [0.4421, 0.7194]).
  • In this simulated environment, quality_weighted produced higher average_cost than first_price (mean difference 0.001316, 95% CI [0.001093, 0.00154]).
  • In this simulated environment, quality_weighted produced higher average_quality than first_price (mean difference 0.03847, 95% CI [0.03311, 0.04382]).
  • In this simulated environment, quality_weighted produced higher completion_rate than first_price (mean difference 0.01458, 95% CI [0.0053, 0.02387]).
  • In this simulated environment, quality_weighted produced lower cost_efficiency than first_price (mean difference -0.0716, 95% CI [-0.08418, -0.05902]).
  • No difference in buyer_utility between quality_weighted and first_price was detected at alpha=0.05 after Holm adjustment (95% CI [-0.1387, 1.141]).
  • In this simulated environment, risk_adjusted produced higher total_cost than first_price (mean difference 1.211, 95% CI [1.034, 1.388]).
  • In this simulated environment, risk_adjusted produced higher average_cost than first_price (mean difference 0.002469, 95% CI [0.00211, 0.002827]).
  • No difference in average_quality between risk_adjusted and first_price was detected at alpha=0.05 after Holm adjustment (95% CI [-0.002134, 0.007756]).
  • In this simulated environment, risk_adjusted produced higher completion_rate than first_price (mean difference 0.03833, 95% CI [0.03028, 0.04639]).
  • In this simulated environment, risk_adjusted produced lower cost_efficiency than first_price (mean difference -0.1228, 95% CI [-0.1375, -0.1082]).
  • In this simulated environment, risk_adjusted produced higher buyer_utility than first_price (mean difference 1.76, 95% CI [1.248, 2.273]).