Odds Harmonization - New feature (Pilot stage)

This new feature is only available for pilot bookmakers now. We will inform you once we release it to all bookmakers!

The new feature will calculate Custom Bet odds in line with your Core odds. Core odds is the odds that you offer for each single market. This will enhance the quality of your Custom Bet odds and provide more competitive odds!

1 Why we built the feature?

Currently, the way of setting margin (odds key) is different between Custom Bet and Core odds. Therefore, Custom Bet odds may seem too high or too low when comparing with your Core odds. .

Custom Bet Odds

Core Odds

For Custom Bet, you can only select one odds key ladder that applies to all combinations.

For Core odds, you can configure the odds key for each type of markets based on multiple dimensions.

For example in some extreme cases, when I combine 2 markets in a Soccer event,

Case 1: The odds of combining 2 markets is smaller than just selecting 1 market, so Custom Bet seems too low.

  • Home team to win (Core Odds=1.5)

  • Both teams to score (Core Odds=8.5)

  • Home team to win + Both teams to score (Custom Bet odds=7.5)

Case 2: The odds of combining 2 markets are higher than expected. The expected Custom Bet odds should be smaller than 1.5x3=4.5, because the 2 markets have positive correlation.

  • Home team to win (Core Odds=1.5)

  • Home team to score 4 goals (Core Odds=3)

  • Home team to win + Home team to score 4 goals (Custom Bet odds=5.1)

2 How will the new feature work?

We are introducing a new harmonization calculation approach to generate Custom Bet odds: Correlation-factor * Market1 (Core Odds) * Market2 (Core Odds)

Correlation-factor is the value that represents the correlation between all selections.

  • You send us your Core odds for each single selection as part of your Custom Bet request, and we will calculate the Custom Bet odds based on your Core odds.

  • You don't need to select the Ladder for Custom Bet. The margin/odds key you've set for the Core Odds will be applied to Custom Bet Odds.

3 How to onboard the new feature?

Before you make API adjustment,

  • Please make sure you are selected as Pilot bookmakers. If you are interested or want to confirm, please reach out to our support team.

  • If you are using SDK, please upgrade to the latest version.

Adjust your API integration and send us your Core odds. See below for details.

  • 2 endpoints require adjustment: 1) calculation 2) calculation_filter

  • If you fail to send us odds for all selections, we will use the original calculation approach.

Request: Send your Core odds using the new attribute "odds".

Element

Description

Attribute

Description

Possible values

selections

Root element

xmlns

XML namespace.

selection

Sub-element of <selections>

Element containing all the information about a certain selection of markets and outcomes.

id

This id represents a unique match.

sr:match:123456

market_id

The unique id for a specific market.

1

specifiers

(optional)

Specifiers are a way to uniquely identify a market with additional parameters together with the market id.

total=1.5

outcome_id

The identifier of a unique outcome within a specific market.

2

odds

(Optional attribute) The odds you used for this market in your main content.

If you don't send us this attribute, we will use the original calculation logic.

Example:

In a Pre-match 1x2 market, the odds is 1.32, then you can send 1.32.

XML example of Calculation request:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<selections xmlns="http://schemas.sportradar.com/custombet/v1/endpoints"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://schemas.sportradar.com/custombet/v1/endpoints http://schemas.sportradar.com/custombet/v1/endpoints/Selections.xsd">
  <selection id="sr:match:14736961" market_id="14" specifiers="hcp=1:0" outcome_id="1711" odds="2.3"/>
  <selection id="sr:match:14736961" market_id="26" outcome_id="70" odds="1.2"/>
</selections>

Response: If we used the harmonization calculation approach, we'll flag "harmonization=true".

If we didn't use harmonization calculation approach, we'll flag "harmonization=false". Possible reasons: 1) you're not pilot bookmakers 2) you're pilot bookmakers, but you didn't send odds value for all selections.

Element

Element Description

Attribute(s)

Attribute Description

Possible values

calculation_response

Root element

xmlns

XML namespace.

Always http://schemas.sportradar.com/custombet/v1/endpoints

generated_at

Date and time of generated response in ISO 8601 format

2019-05-06T12:34:49+00:00

calculation

Element for calculation requests.

odds

Total calculated odds for the selected custom bet, returned in EU odds format.

1.34

probability

The probability of this outcome returned in decimal

0.34

harmonization

The result of using the harmonization calculation approach.

- true: We used the odds you sent to calculate Custom Bet odds. The Custom Bet odds is not affected by the chosen ladder. - false: We use the original approach to calculate Custom Bet odds. The Custom Bet odds is affected by the chosen ladder. The attribute will only be "true" if you are selected as pilot bookmakers and have successfully send us "odds" for all selections in the request.

available_selections

This child element is identical to the element with the same name described in THIS table found above.

-

-

-

XML example of Calculation response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<calculation_response xmlns="http://schemas.sportradar.com/custombet/v1/endpoints" generated_at="2019-05-06T12:34:49+00:00">
    <calculation odds="2.0260542763219798" probability="0.444190623492253" harmonization="true"/>
    <available_selections>
        <event id="sr:match:14736961">
            <markets>
                <market id="65" specifiers="hcp=0:1">
                    <outcome id="1711"/>
                    <outcome id="1712"/>
                    <outcome id="1713"/>
                </market>
                <market id="90" specifiers="total=0.5">
                    <outcome id="12"/>
                    <outcome id="13"/>
                </market>
                <market id="91" specifiers="total=1.5">
                    <outcome id="12"/>
                    <outcome id="13"/>
                </market>
                <market id="25" specifiers="variant=sr:goal_range:7+">
                    <outcome id="sr:goal_range:7+:1344"/>
                    <outcome id="sr:goal_range:7+:1345"/>
                    <outcome id="sr:goal_range:7+:1342"/>
                    <outcome id="sr:goal_range:7+:1343"/>
                </market>
            </markets>
        </event>
    </available_selections>
</calculation_response>

Last updated

Was this helpful?