Angling Match

Peg Draw

What is this? Settings
FREE TO USE


Match Details Customise Details?


Fisherman icon Number of Anglers:


Fishing icon Peg Numbers:


Lottery icon Drawing Mode:

Use Sections
AnglerPeg
Is it random? Is it fair? Learn More

Analysis of MatchDraw™ Fairness

1. Randomness of the draw:

We use a standard Fisher-Yates shuffle in the shuffle() function:

function shuffle(arr) {
	for (let i = arr.length - 1; i > 0; i--) {
		const j = Math.floor(Math.random() * (i + 1));
		[arr[i], arr[j]] = [arr[j], arr[i]];
	}
}

This is a well-known unbiased shuffling algorithm, widely accepted as fair and random.

The drawManualPeg() picks a peg with:

const index = Math.floor(Math.random() * pegPool.length);
currentManualPeg = pegPool[index];
		

This is a uniform random selection among remaining pegs.

Once a peg is drawn and confirmed, it’s removed from pegPool, so there will be no duplicate or repeat pegs in any given draw.

2. Visual randomness:

Balls are rendered randomly inside the circle with random starting positions and velocities, so visually they move unpredictably.

The animation is independent of the peg drawn (ball position/velocity isn’t linked to peg selection), so it cannot bias the choice.

3. Key observations:

  • Randomness source: This depends on JavaScript’s Math.random(), which is not cryptographically secure but sufficient for casual fairness. Multiple shuffles are performed throughout the draw process to further increase randomness.
  • Difficult to manipulate: If the script is running client-side, and users access console or developer tools, they could manipulate Math.random() or pegPool before the draw to bias outcomes. This can be mitigated by remembering to refresh the page before using this tool (ensuring nobody with technical knowledge has tampered with the client-side code prior to starting).
  • Timing of draw: Because the peg is randomly picked from the current pool at draw time, and the pool is shuffled once at start, the outcome is pretty unpredictable.
  • Draw is Anonymised: Angler names are not known to the script prior to drawing. Names are only requested once a peg number has been randomly selected. This makes it impossible for the script to know who it is assigning pegs to.
  • NO risk of physical gimmicks or rigging: As our script randomises your match draws using coded logic and algorithms; it eliminates the possibility of marked/scuffed tokens, weighted counters or other potentially gimmicked match draws. Removing variables such as this improves fairness and increases unpredictability of the draw.

Summary

MatchDraw™ uses trusted web-standard randomisation techniques and prevents duplicate peg allocations, ensuring each draw is fair and transparent — delivering impartial results every time. MatchDraw™ is perfect for angling clubs, associations or fisheries — a faster, fairer and unbiased way to perform your match day peg draw(s).