Skip to main content

icmChopNegotiationAnalysis

Compare chip-proportional chop dollars to Harville ICM, per-seat surplus/deficit, and feasible Pareto transfer edges between seats.

icmChopNegotiationAnalysis(stacks: F64VectorInput, payouts: F64VectorInput): IcmChopNegotiationAnalysisResult

See Float64 ICM input.

Import

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

ESM (Node):

import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const poker = require('poker-calculations');

When to use

Players are negotiating a deal and you want to show who gains or loses vs ICM under a chip chop, plus directed surplus transfers that keep everyone at least as well off as ICM.

How to use

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

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

console.log('Total prize pool:', totalPrizePool);
surplus.forEach((s, i) => {
console.log(i, s > 0 ? 'surplus' : s < 0 ? 'deficit' : 'flat', s);
});
console.log('Pareto transfer edges:', paretoPairs.length);

Positive surplus[i] means a chip chop would overpay seat i relative to Harville ICM.

Return type

IcmChopNegotiationAnalysisResult — nested IcmChopParetoPair.

See also

icmShapleyValues · icmExpectedPayouts · Tournament, runouts, and bots