Skip to main content

IcmChopNegotiationAnalysisResult

Returned by icmChopNegotiationAnalysis.

FieldTypeMeaning
chipChopnumber[]Chip-proportional split of total prize pool
icmnumber[]Harville ICM expected payouts
surplusnumber[]chipChop[i] - icm[i] per seat
totalPrizePoolnumberSum of payout ladder
paretoPairsIcmChopParetoPair[]Directed surplus-transfer edges

Semantics

chipChop[i] = (stacks[i] / Σ stacks) × totalPrizePool. icm is the standard Harville vector from the same stacks and payouts. Positive surplus[i] means a chip chop would overpay seat i relative to ICM; negative surplus means underpay. paretoPairs lists feasible transfers from surplus seats to deficit seats.

Example

const poker = require('poker-calculations');

const { chipChop, icm, surplus, paretoPairs } = poker.icmChopNegotiationAnalysis(
[12000, 8000, 5000, 2000],
[10000, 6000, 3000, 1000],
);

surplus.forEach((s, i) => {
console.log(i, s > 0 ? 'surplus' : s < 0 ? 'deficit' : 'flat', s);
});
console.log(paretoPairs);

See also

IcmChopParetoPair · icmExpectedPayouts · icmChopNegotiationAnalysis