Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Summary

This document explains how GTS Bet Assessment assesses bets, and how it calculates its responses.

...

  • Singles, Multis and System bets with Static Stake Apportionment

  • Separate liabilities and limits for PreMatch and InPlay

  • Liability Reservation

  • Multiple Number of Winner Markets

  • Dynamic Number of Winner Markets

  • Bet Delay

  • Assess a bet against the current status of the selection(s)

  • Assess a bet against the current price of the selection(s)

  • Assess a bet against per-player liability limits - limit set per user on a liability or risk that punter can have per one selection of the market. If the limit is exceeded every further bet on that selection by the punter will be rejected. The punter risk is multiplied by the punters individual Bet Factor. Example: With a punter risk limit of 100 Euros, the punter risk stands at 100 Euros on the market with a Bet Factor of 1, 200 Euros with Bet Factor 2 and 50 Euros with Bet Factor 0.5.

  • Assess a bet against market-level liability limits - limit set on the overall liability on each market. It determines the maximum amount a sportsbook is willing to lose or take risk on any selection across all customers. If that limit is exceeded every further bet on that market will be rejected unless the limit is increased or liability will decrease.

  • Assess a bet against per-bet maximum stake limits - the maximum allowed stake per user allowed per one bet, regardless if it's single or multibet. The stake limit on the market is multiplied by the punters individual Bet Factor. Example: With a stake limit of 100 Euros, the punter can bet maximum 100 euros with Bet Factor 1 but 200 Euros with Bet Factor 2 and 50 Euros with bet factor 0.5

  • Player's bet factor - an individual percentage of a limit attached to each customer. By changing the bet factor we can decrease or increase the betting limits for each specific customer individually. By default every customer BF is 1, meaning that if Limit Per Player is set to 100 Euros and stake limit is set to 100 Euros then the customer will have the same limits. However if we change a customer's BF to 0.5 then limits for that player would be cut to 50%, so new limits are 50 Euros.

Assessment against selection status and price

Selection status check

  • If the selection or all selections in multi bet are opened then selection(s) price(s) and liabilities will be checked

  • If the selection or any of the selections in multi bet is suspended/closed then the bet is rejected with the reason suspended/closed

Selection price check

The selection price check is done based on the priceChangeRule value sent in the bet assessment request.

...

If priceChangeRule is not defined, there will be no price check made and assessment is done only against the current liability and limits on player and selection(s).

Assessment against liabilities and limits

Example 1 - Single Bet Assessment (Allowed)

A player strikes their first bet on a market, in this instance Chelsea to win the match. Other players have already placed bets on various selections of the market, corresponding to a market-level liability of -685 for this particular selection.

...

Bet 1

Per-Player Liability

Market-Level

Existing Liability

0

-685

New Liability

-240

-240

-925

Liability Limit

-500

-1000

Assessment

ALLOW

ALLOW : -500 < -240

ALLOW: -1000 < -925

Example 2 - Single Bet Assessment (Rejected)

The player immediately tries to place another 10 Euro bet on this market, again on Chelsea to win the match. Note that the liability from the first bet has now altered both the per-player liability and the market-level liability. As such, the market limit is breached and so the bet is assessed as not allowed.

...

Bet 2

Per-Player Liability

Market-Level

Existing Liability

-240

-925

New Liability

-240

-480

-1165

Liability Limit

-500

-1000

Assessment

REJECT

ALLOW : -500 < -480

REJECT : -1000 > -1165

What is the Maximum Allowed Stake?

The Assessment service calculates the maximum stake that the bet could have in order to not breach the limit. Often this value is returned to the customer, and auto-populated in their bet slip so that they can immediately place the bet at a reduced stake in case their stake is not allowed.

Note about Rounding

We do not applying rounding to the final maximum allowed stake as this would incorrectly assume that we know the minimum unit size of bet able to be placed by the calling betting platform. Theoretical minimum unit sizes :

...

Instead, we return the calculated decimal value and provide the assertion that the figure is accurate to at least 10 significant figures. It is up to the caller to round this value down to the nearest unit that makes sense to them.

Example 3 - Maximum Allowed Stake Calculation ( Single Bet )

Per-Player Liability

Market-Level

Assessment

ALLOW : -500 < -480

REJECT : -1000 > -1165

Existing Liability

-240

-925

Maximum Allowed Liability*

500 - 240 = 260

1000 - 925 = 75

Maximum Allowed Stake (for each Liability)

260 / 24 = 10.83

75 / 24 = 3.12

Maximum Allowed Stake

Min (10.83, 3.12) = 3.12

*for clarity’s sake i have removed the double negatives and am displaying magnitudes only. The actual calculation is -1000 - -925 = -75

The odds for the selection are 25, meaning that the liability is 24 times the stake. Only -75 extra liability is allowed before the Market-level limit is reached, thus the punter may only place a 3.12 bet on this selection at this time.

Bet Types and Stake Apportionment

Singles, Multis and System Bets can be assessed. We assess each leg (selection) individually, and if any of the legs breach their corresponding limit the bet is rejected.

...

Regardless of the type of bet to be assessed, we end up with a list of legs, and their corresponding apportioned stakes. These are the main inputs used for bet assessment and the calculations are applied in the usual way.

Example 4 - Multi Bet Assessment (Multi, Rejected)

In this example we have a 3-leg Multi. The original stake is 100, and the apportionment algorithm has distributed the stake among the 3 legs based on the price of each leg. The corresponding takeout is calculated as per usual as Price * Apportioned Stake.

...

Leg 3

Per-Player Liability

Market-Level

Existing Liability

-0

-450

New Liability

-65.10

-65.10

-515.10

Liability Limit

-150

-500

Assessment

REJECT

ALLOW: -150 < -65.10

REJECT: -500 > -515.10

Example 5 - Maximum Allowed Stake (Multi)

The Maximum Allowed Stake is calculated for each leg based on the apportioned stake, price and remaining allowed liability.

...

Leg 2 Per-Player Liability

Leg 3 Market-Level

Assessment

REJECT: -500 > -704.97

REJECT: -500 > -515.10

Existing Liability

-400

-450

Maximum Allowed Liability*

500 - 400 = 100

500 - 450 = 50

Apportionment Factor

0.5545

0.3255

Maximum Allowed Apportioned Leg Stake

100 / (6.5-1) = 18.18

50 / (3-1) = 25.00

Maximum Allowed Bet Stake (per leg)

18.18 / 0.5545 = 32.79

25.00 / 0.3255 = 76.80

Maximum Allowed Stake

Min (32.79, 76.80) = 32.79

*for clarity’s sake i have removed the double negatives and am displaying magnitudes only

To quickly check this is the correct answer, say the player now attempts to place the same bet but with the suggested stake of 32.79 instead of the original 100.

...

Leg

Apportioned Stake

Takeout

New Liability

Allowed Player Liability

Allowed Market Liability

Assessment Result

1

3.94

= 1.5 * 3.94
= 5.90

-50

-70

ALLOW

2

18.18

= 6.5 * 18.18
= 118.18

=18.18 - 118.18
= -100.00

-100

-400

ALLOW

3

10.67

= 3.0 * 10.67
= 32.02

= 10.67 - 32.02
= -21.35

-150

-50

ALLOW

Player Bet Factor

Bet Factor is applied to player level liability limit and it affects max allowed stake of the specific player. It is player specific and applied to every sport. By default bet factor is 1.0.

Example 6 - Maximum Allowed Stake (Different Bet Factors)

Leg

Odds

Player Limit

Market Limit

Chelsea to win

2.00

1000

10 000

Per-Player Liability

Market-Level Liability

Player

Bet Factor

Player Limit of

this Player

Max Allowed Stake

0

0

1.0

1000 * 1.0 = 1000

1000

0

0

5.0

1000 * 5.0 = 5000

5000

0

0

0.1

1000 * 0.1 = 100

100

0

-9000

1.5

1000 * 1.5 = 1500

1500

-1000

-2000

2.0

1000 * 2.0 = 2000

1000

Liability Reservation

Bet Assessment is only one part of a betting platform’s per-bet validation. Often a Betting Api will check a bet against current prices, trading status and liabilities during validation. If a bet is to be delayed, further validation may take place after an artificially-induced delay.

...

Note that reserved liabilities act against the player liability, but not the market liability.

Releasing Reserved Liability

Often a bet that passes the risk assessment check is then placed shortly thereafter. When the confirmed bet is received by Liabilities, the reserved liability is converted directly into realised liability.

...

By default, liability from any bet that is reserved but not placed within 30 seconds is automatically released. However if the Betting Api wants to do so, they can explicitly release the reserved liability sooner by calling /Release/ on the Assessment Api.

Fixed Multiple Number of Winner Markets

As explained here, markets that have a fixed multiple number of winners get their liability adjusted by the Liabilities engine. For Bet Assessment, we divide the limit by the number of winners instead. Why the difference? There are a couple of reasons:

  • If you know that a market will have three winners, you probably don’t want to max out the entire liability on a single selection because that then prevents you from taking bets on the other selections, even those that haven’t yet taken any bets.

  • It makes it easier to deal with partial settlement because when we want to take a new bet we need only calculate the new liability on that selection and not worry about the other selections, irrespective of whether they have already been settled.

Example 7 - Assessment with Multiple Number of Winners

In this example, the bet is on a Double Chance market, which has 2 winners. There is existing player and market-level liability but no limits have yet been breached.

...

Bet

Per-Player Liability

Market-Level

Existing Liability

-100

-350

New Liability

-240

-340

-590

Limit

-500

-1000

Fixed Number of Winners

2

2

Effective Limit

-500 / 2 = -250

-1000 / 2 = -500

Assessment

REJECT

REJECT: -250 > -340

REJECT : -500 > -590

Example 8 - Maximum Allowed Stake with Multiple Number of Winners

The Maximum Allowed Stake calculation remains the same, albeit using the effective limits are per above:

Per-Player Liability

Market-Level

Assessment

REJECT: -250 > -340

REJECT: -500 > -590

Existing Liability

-100

-350

Maximum Allowed Liability*

= (250 - 100)

= 150

= (500 - 350)

= 150

Maximum Allowed Stake

150 / 24 = 6.25

150 / 24 = 6.25

*for clarity’s sake i have removed the double negatives and am displaying magnitudes only

Dynamic Number of Winner Markets

For Bet Assessment, the case of dynamic number of winner markets is slightly different. As explained here, these markets are treated as though each selection is their own independent market. The liability is calculated on a per-selection basis (selection stake - selection takeout). Additionally, the full liability limit is offered for each selection independently.

Since Liabilities has already calculated the existing liability to be per-selection, and the provided limit is interpreted as per-selection as well, no other adjustments are required to be made during Bet Assessment.

Fallback when Market Type Information is Missing

Due to technical issues, there may be temporary periods where the market type information is not available. In this case, there are two options considered:

...