← App

Auction Strategy

Calcutta Auction Strategy — Synthesized Findings

Research synthesis for a live, adaptive auction-assistant tool. Tailored to our format (README.md): ~120 teams in 20 flights of 6, member-member golf calcutta, random auction order across flights, $200 start / $100 increments / $2,000 cap per team, each team has first right of refusal to buy itself at the cap, buy up to half your own team allowed.

Payouts: - 10% of the TOTAL pot → shootout: overall winner 50% / runner-up 30% / shootout finalist 20%. - 90% of EACH FLIGHT'S OWN money stays in that flight: flight winner 70% / runner-up 30%.

This payout split is the single most important structural fact and drives most of the tailored conclusions below. Each section gives Takeaway → Reasoning → Implication for the live tool.


0. The format's defining structural quirk: a per-flight pot plus a global tax

Takeaway. Money is not one big pool. 90% of a flight's dollars are redistributed only within that flight (70/30 to that flight's top two), and 10% of every dollar everywhere is skimmed into a global shootout pool (50/30/20). So a team's value has two independent components:

Reasoning. Generic calcutta advice assumes one shared pool where "growing the pot helps everyone who owns a team" (unabated, oddsjam). Here that's only ~10% true. Driving up prices in other flights barely helps you — it only feeds the 10% shootout slice. Driving up prices in your own flight directly grows the 90% local pot the flight-winner collects.

Implication for the live tool. Maintain 21 running pot totals: one per flight, plus a grand total. Value every team as EV = flight_EV(local_pot_f) + shootout_EV(0.10·grand_total). When the user owns a team, the marginal value of bidding up another team in the same flight is materially positive (grows local_pot_f); bidding up a team in a different flight only grows the shootout slice (×0.10) and should almost never be done deliberately.


1. Calcutta fundamentals & how pools/payouts shape value

Takeaway. A calcutta is an open ascending (English) auction where bidders "own" entrants and share a prize pool funded entirely by the auction proceeds; payout structure dictates which finishes you're actually buying (liveabout, wikipedia, actionnetwork).

Reasoning. Because the pool is the sum of bids, you are buying a claim on a fraction of a pot you and your rivals are simultaneously creating. With a flighted + shootout structure, "winning" isn't binary — there are five distinct payout events (flight 1st, flight 2nd, shootout 1st/2nd/3rd), each a different probability and dollar slice.

Implication for the live tool. Encode the payout structure as data. For each team compute and display the five component probabilities and their dollar contributions so the user sees why a team is worth what it is (e.g., "Team X: $310 flight-win, $90 flight-2nd, $140 shootout-equity").


2. Valuation — fair price = EV, and the pot is ENDOGENOUS

Takeaway. Fair price = expected payout = Σ P(payout event) × dollar payout for that event. The universally repeated formula is EV = P(finish) × payout% × total_pot (sportsbookreview, bettoredge, oddsjam). Worked example: 12.5% chance × 15% payout slice × $1,000 pot = $18.75 fair price (sbr).

The hard part — the pot is endogenous. "You don't know how much the pot will be in the end, which is why sophisticated bidders track the pot as it grows throughout the auction and adjust their valuations in real time" (oddsjam). "The total pot grows and evolves as the auction goes on" (bettoredge). The very first sale "sets the relative value for every other asset auctioned after it" — if an asset goes for X and you think it's p% of the pool, implied total pool is X/p, cascading into every later bid (unabated).

Reasoning. A fixed-point problem: each team's fair price depends on the total pot, but the pot is the sum of all fair prices. Early the pot is maximally uncertain (widest error bars); late it's nearly known. This asymmetry is the core reason late decisions are easier and often cheaper. For our format the endogeneity is two-layered: value depends on (a) how much the team's own flight attracts (90% of value) and (b) the grand total (10% shootout slice) — both unknown early, resolving at different rates under random draw order.

Handicaps/seedings → win probability. Use net-score simulation: ~10k-round sims give, e.g., a 9-handicap beating a 14-handicap ~67% of the time (golf.com sim). In a 6-team net flight, convert each team's expected net score + round-to-round SD into P(best net) and P(2nd) via Monte Carlo; chain to the shootout. Where you have a market-style line, remove the vig: divide each implied probability by the sum of all implied probabilities so they total 100% (unabated).

Implication for the live tool. - Keep a live two-layer pot estimator: per-flight projected final pot and grand projected final pot. Seed from priors; after each sale blend prior with realized (Bayesian shrink toward realized as more of a flight sells). Re-price every unsold team after every sale. - Represent each team's probabilities from a handicap→net-score Monte Carlo, vig-normalized so flight probabilities sum to 1. - Display fair price with an uncertainty band (early = wide, late = tight), not a point. - Compute fair price against the projected final pot, not the current partial pot — else early teams look far too cheap.


3. "Buy your own team" / first right of refusal — the price ceiling & the half-hedge

Takeaway. The owner's right to buy at the $2,000 cap, plus the agreement to buy up to half from the winning owner, anchors and caps prices and changes optimal bidding.

Reasoning. - First-right-of-refusal at the $2,000 cap = a hard ceiling. No team costs more than $2,000, and a team worth near/above $2,000 will simply be self-bought. The most valuable teams (high flight-win + shootout equity) are effectively removed from the open market. Exploitable value lives in the middle tiers — consistent with "value is in the middle of the pack" (liveabout, bettoredge). - The half-buyback is a hedge and an anchor. "You can buy back some or all of your own team" (theleftrough, livetourney). Example: team sells $400, half-buyback $200; win $2,000 → split $1,000/$1,000 (theleftrough). For the owner-bidder, buying half is +EV whenever half the clearing price < half the EV — lower-variance skin in the game. For an outside winner, the buyback right means you may keep only ~half the upside on a team you "won," reducing effective EV on won teams. - Game theory of defense. A rational owner of a strong team bids up to min($2,000, private EV). Rivals know this, so fighting an owner to the cap rarely pays — you'd pay full freight against someone with information and loyalty motives. Let the owner have it; hunt elsewhere.

Implication for the live tool. - Cap-aware valuation: clamp every fair price at $2,000; flag teams whose uncapped EV exceeds ~$1,700 as "owner will likely self-buy at cap — deprioritize." - Buyback-adjusted EV for won teams: discount post-win upside by the expected buyback share (default: strong player reclaims ~50%, weak ~0%). Surface "effective EV after expected buyback." - Owner-mode: if the user owns the team on the block, recommend buy-half when (clearing_price/2) < (EV/2); full self-buy only when EV ≥ ~$2,000. - Treat the $2,000 cap and $200/$100 grid as hard constraints on proposed increments.


4. Budget management across a sequential, random-order auction

Takeaway. With random order you never know what's coming, so pace spend against a projected final pot and a target portfolio share, not against teams currently on the block. Reserve dry powder for late bargains.

Reasoning & transferable theory. - Inflation factor (from auction-draft theory) = (remaining dollars / remaining unsold value) − 1 (fangraphs). Dollars outrun value → prices inflate, be patient; value outruns dollars (rooms tapped out) → bargains, pounce. - Pacing heuristics: "save 20% of budget for the final 50% of nominations"; don't blow >40–50% on one asset; three-bucket caps ~15/12/8% of budget per tier (fantasypros, bettoredge, sportsbookreview). - Dollars-left-in-the-room is a tradeable signal. A near-tapped rival can't contest the next team → its clearing price falls. The documented declining-price / "afternoon effect" in sequential auctions is driven precisely by budget-constrained bidders running dry (afternoon effect, budget-constrained sequential). - Overspend-early vs. late-bargain. Early FOMO inflates prices; "as participants run out of money or lose interest late, you might snag a [team] at a bargain" (bettoredge, unabated). With random order an undervalued team can appear anytime — hold reserve to exploit it whenever it lands.

Implication for the live tool. - Track per-bidder remaining budget (infer from spend if not public); maintain room-wide remaining_dollars and remaining_unsold_value; surface the live inflation factor. - Convert bankroll into a target portfolio and a pacing curve (recommended cumulative spend vs. fraction-elapsed) with an explicit reserve (default ≥20–25%) for the late phase. - After each sale recompute "how many remaining target buys can I still afford at projected prices?" and warn if on pace to be priced out or to finish with idle cash. - Flag when key rivals are tapped → "buying power falling; upcoming teams should clear cheaper."


5. LATE-GAME / ADAPTIVE tactics (the core of the tool)

Takeaway. Optimal bids shift as information is revealed. Early = bid under wide pot uncertainty and shade down for the winner's curse; late = pot and relative values are nearly known, rival budgets are visible, undervalued teams appear when the room is tapped — pounce.

Reasoning — what changes over the auction (unabated, bettoredge):

Phase What's known What to do
Early Pot maximally uncertain; first sales set the implied pool. Shade bids down (winner's curse + pot error). Don't overpay to "anchor." Don't let one buyer run away with the best teams, but don't fight an owner to the cap.
Middle Pot estimate sharpening; you see who's spending. Overbidding here is recoverable. Drain rivals on teams you don't want. In our format, only bid up teams in your own flights to grow the 90% local pot.
Late Pot ~known; relative values certain; budgets visible. Exploit auction fatigue (owners sated) and tapped-out rivals. "Late... the relative value is more certain... take advantage of both auction fatigue and FOMO" → step up on deflated bidding (unabated).

Implication for the live tool — make these the live recommendations: 1. After every sale, update (a) that flight's pot + grand pot, (b) selling team's realized-vs- expected price (calibrate the model), (c) rival remaining budgets, (d) the inflation factor. 2. Re-rank all unsold teams by value-over-projected-price (EV − expected clearing price); show top "best remaining values." 3. Set a walk-away (max) price per unsold team = min($2,000 cap, buyback-adjusted EV × confidence-scaled aggression). Aggression rises late (→1.0 of EV), falls early (~0.8) to absorb pot uncertainty and the winner's curse. 4. Bargain flag (POUNCE): current_bid < EV lowerband AND user has reserve AND likely contesters tapped → recommend bidding up to walk-away. 5. Reserve guard: never spend reserve earmarked for higher-value teams still expected to appear (estimate from the unsold pool).


6. Market efficiency & behavioral biases to exploit

Takeaway. Calcuttas are inefficient in predictable ways; bet against the crowd's biases.

Implication for the live tool. Bake in a bias-correction layer: down-weight crowd-implied probabilities for longshots, up-weight favorites toward the model's net-score probabilities; detect likely emotional/loyalty premiums (own-team, prior winner, popular member) and label "likely to clear above EV — let it go." Keep anchoring in check by shrinking model updates from any single sale.


7. Auction-theory & parimutuel parallels worth borrowing


8. Sandbagging / handicap-integrity adjustment

Takeaway. Inflated handicaps distort net-score win probabilities; buyers must adjust priors for likely sandbaggers (golf.com, golfdigest).

Reasoning. "The format was tailor-made for the modern sandbagger: keep your handicap comfortably inflated... then 'discover' your swing when money is on the line" (golf.com). A team whose posted handicap overstates true ability is underpriced by a naive net-score model — real P(win flight) is higher than the handicap implies. Safeguards (verified current handicaps, capping partner stroke differential to ~5–8) reduce but don't eliminate it (livetourney).

Implication for the live tool. Allow a per-team "sandbag adjustment" (manual flag or data-driven: recent net scores far better than handicap; handicap rising pre-event). Apply as a downward shift to expected net score (raising win probability and EV). Surface "model says cheap, flagged likely sandbagger — true value higher" so the user exploits teams the room under-prices on stale handicaps.


9. Live / Adaptive Algorithm Sketch (concrete rules for the assistant)

State maintained (updated after every sale): - pot_flight[f] for f=1..20 and pot_grand — realized $ so far. - pct_sold[f] — fraction of each flight's 6 teams sold. - proj_pot_flight[f], proj_pot_grand — Bayesian blend of prior and realized, shrinking toward realized as pct_sold rises. - budget_remaining[bidder]; room_remaining = Σ. - unsold_value = Σ EV(team) over unsold; inflation = room_remaining/unsold_value − 1. - user_spent, user_reserve (≥20–25% until late), user_target_portfolio.

Per-team valuation (recomputed each sale):

P_winf, P_2ndf = MonteCarlo(net handicaps in flight f)   # vig-normalized to sum to 1
P_shoot, P_s1, P_s2, P_s3 = chain(P_winf, shootout model)
EV_local   = (P_winf*0.70 + P_2ndf*0.30) * 0.90 * proj_pot_flight[f]
EV_shoot   = (P_s1*0.50 + P_s2*0.30 + P_s3*0.20) * 0.10 * proj_pot_grand
EV_raw     = EV_local + EV_shoot
EV_eff     = EV_raw - expected_buyback_share * post_win_upside   # for teams user would own
EV_capped  = min(EV_eff, 2000)                                   # first-right-of-refusal ceiling
band       = EV_capped * uncertainty(pct_sold[f], frac_auction_elapsed)  # wide early, tight late

Confidence-scaled aggression (max bid):

aggression = lerp(0.80, 1.00, frac_auction_elapsed)    # shade for winner's curse early
walkaway   = min(2000, EV_capped * aggression)
if contesting_rivals_tapped: aggression *= 1.05 (cap at EV_capped)   # declining-price effect

Decision rules surfaced live: 1. Re-rank unsold teams by EV_capped − expected_clearing_price; show top values. 2. Bargain flag (POUNCE): current_bid < EV_capped lowerband AND user_reserve sufficient AND likely contesters tapped/sated → recommend bidding up to walkaway. 3. Pass flag: uncapped EV ≥ ~$1,700 (owner self-buys at cap) OR clear emotional/loyalty/longshot premium → "let it go." 4. Own-flight lever: if user owns a team in flight f, note bidding up other teams in f grows pot_flight[f] (90% local) and is mildly +EV; other flights only feed the 10% shootout slice — discourage. 5. Owner mode: if user owns the team on the block → buy-half when clearing_price/2 < EV_capped/2; full self-buy only if EV_capped ≥ ~2000. 6. Pacing guard: project remaining target buys × expected clearing prices; warn if on pace to be priced out (overspending early) or to end with idle cash (too passive). Enforce reserve until late phase, then release it. 7. Sandbag overlay: apply handicap-integrity adjustments before valuation; surface "cheap per market, higher true value." 8. Anchor damping: update proj_pot modestly from any single sale (shrinkage), strongly only as pct_sold accumulates — don't let one aggressive opener reprice the board.

One-line philosophy: Early — bid below EV under wide pot uncertainty and never chase favorites to the cap. Late — the pot is known, rivals are tapped, fatigue deflates bids; hold reserve, then strike near full EV on the best remaining values.


Sources

← Back to Calcutta Live