An independent lens on 100 JILI games
Jili777JILI777SLOT RESEARCH / PHILIPPINES

Two games can reuse a round ID without sharing one event

Published — UTC

Blue and green slot cabinets each carry a distinct game receipt labelled R-7, with a faint duplicate of the Blue receipt.
Original AI-generated concept art; not a game screenshot or evidence of a payout.

A round identifier can be unique within one game or data system without being unique across every export. Removing rows by the printed ID alone can delete a different event that happens to use the same label.

Two R-7 records

Consider these original fictional records. The game labels and amounts are invented.

SourceGame IDRound IDReturn
Feed AG-BlueR-73
Feed AG-GreenR-79
Feed AG-BlueR-73
Three rows show Blue R-7 return three, Green R-7 return nine, and a duplicate Blue R-7 return three; distinct returns sum to twelve.
The repeated Blue row is one duplicate. Green has the same short R-7 label but a different complete key, so its 9-unit return remains.

Under this example's stated identity scheme, the first and third rows describe one event; the middle row describes another. Their combined settled return is 12, not 3, 9 or 15. A key of source + game ID + round ID preserves the distinction.

Ask the exporter which fields identify an event

Do not impose that key on a real export without its field definition. A supplier may use account, session, transaction type or another namespace. A refund can also be a separate transaction associated with a round, so matching its round ID does not automatically make it a duplicate of an award.

Python's set reference provides the basic distinct-value operation. The choice of fields supplied to that operation is the editorial decision being illustrated here.

Retain a duplicate log

Record the key definition and keep removed source rows in an audit copy. If two rows share the full defined key but disagree on amount or status, mark a version conflict instead of selecting the larger return.

Three shortcuts produce three different errors

Summing all rows gives 3 + 9 + 3 = 15, counting Blue twice. Keeping the first row for the short label R-7 gives only 3; keeping the last distinct amount for that label might give only 9. Both lose a real event under this example's stated key. The correct two-event sum is 3 + 9 = 12.

Save the duplicate relationship explicitly: row 3 is a copy of row 1, with the same source, game, round and settled fields. Retaining it in a raw audit file is compatible with excluding it from the calculated total.

A second source can be a copy, not another namespace

The example key assumes Feed A owns its event identifiers. In a real workflow, Feed B might republish Feed A's records. Prefixing every row with a different download source could then count one event twice. Use the documented originating-event identity or a verified mapping between exports; do not infer independence merely from two filenames.

Separate a revision from an extra credit

If a later version changes Blue's settled return from 3 to a final total of 2, the two-event total becomes 2 + 9 = 11. A linked −1 adjustment produces the same total from the earlier 12. Applying the replacement and adjustment together would incorrectly reduce it to 10. The export's field definition must say which representation it uses.

A stake debit, award credit and refund may each have a unique transaction ID while sharing one round. Deduplicate at the level being measured. A count of rounds and a sum of monetary transactions require different keys. If equal full keys carry conflicting amounts without version information, stop the merge for those rows and preserve the conflict rather than selecting an amount arbitrarily.