Understanding supply allocations
Allocations let you control how supply is distributed across the Cint Exchange for a given target group.
At a high level, allocations answer questions such as:
- Which suppliers can participate in this target group?
- How much of my total completes can come from each supplier or group of suppliers?
- How to balance traffic between different suppliers?
Allocations live inside the target group definition and are respected:
- When you check feasibility
- When you launch a target group
- When you update allocations for a non-draft target group
For your integration you can choose to:
- Use simple defaults (e.g., 100% open exchange)
- Apply fine-grained controls per supplier or group of suppliers.
All of this is configured via the allocations object when creating or updating a target group.
What are allocations?
The allocation is a structured object in the target group that tells Cint systems:
- How much of the target group is to be filled.
- How much (if any) can be filled by private exchange suppliers.
- Which suppliers are:
- Allowed, and with what min/max percentage of the total completes.
- Blocked from participating.
Conceptually, you can think of it as two layers:
- open_exchange_allocations - controls the public Cint Exchange suppliers
- private_exchange_allocations - controls any private / contracted suppliers you have access to.
private_exchange_allocations is an exclusive feature, please contact your account manager if you are interested in this functionality.
If you do not have access to private exchange allocations you can ignore private_exchange_allocations entirely.
The model is simple enough to be used as a default configuration for all your projects. And flexible enough for advanced configurations and post-launch tuning.
You send allocations when performing actions such as:
- Creating or updating a draft target group.
- Checking feasibility for a target group (by including allocations in the target group definition).
- Updating allocations on a launched target group.
Types of allocations
open_exchange_allocations
open_exchange_allocations defines how the open Cint Exchange suppliers can participate in this target group.
Key concepts:
- min_percentage / max_percentage - defines how much of the total completes can come from open exchange suppliers.
- groups - defines groups of suppliers that can participate in this target group, along with their min/max percentage.
- blocked_supplier_ids - defines suppliers that are not allowed to participate in this target group
Field overview:
open_exchange_allocations(object): Defines how open exchange suppliers can participate.exchange_min_percentage(integer): Minimum percentage of total completes that must come from open exchange suppliers.exchange_max_percentage(integer): Maximum percentage of total completes that can come from open exchange suppliers.blocked_supplier_ids(array of strings): An array of supplier IDs that are blocked from participating in this target group.groups(array of objects): An array of allocation group objects, each defining a specific group of suppliers and their allocation percentages.group_name(string): A human-readable name for the allocation group.min_percentage(integer): Minimum percentage of total completes that must come from this group.max_percentage(integer): Maximum percentage of total completes that can come from this group.suppliers(array of strings): An array of supplier IDs that are part of this allocation group.
You can leave groups empty and use only the top level exchange_min_percentage and exchange_max_percentage to control open exchange supply.
private_exchange_allocations
private_exchange_allocations defines how private / contracted suppliers can participate in this target group.
Key concepts: Blocked private suppliers - fully blocked from this target group. Groups of private suppliers - allowed to participate with min/max percentage. Note: A group of private suppliers can only contain a single supplier.
Field overview:
private_exchange_allocations(object): Defines how private exchange suppliers can participate.blocked_supplier_ids(array of strings): An array of supplier IDs that are blocked from participating in this target group.groups(array of objects): An array of allocation group objects, but each object targets only onesupplier_id.group_name(string): A human-readable name for the allocation group.min_percentage(integer): Minimum percentage of total completes that must come from this private supplier.max_percentage(integer): Maximum percentage of total completes that can come from this private supplier.supplier_id(string): The supplier ID of the private supplier in this allocation group.
A group of private suppliers can only contain a single supplier.
Common configurations
Example JSON snippets for common allocation configurations.
- 100% Open exchange, no private exchange
- Open exchange with a few blocked suppliers
"allocations": {
"open_exchange_allocations": {
"exchange_min_percentage": 0,
"exchange_max_percentage": 100,
"blocked_supplier_ids": [],
"groups": []
},
"private_exchange_allocations": {
"blocked_supplier_ids": [],
"groups": []
}
}
"allocations": {
"open_exchange_allocations": {
"exchange_min_percentage": 0,
"exchange_max_percentage": 100,
"blocked_supplier_ids": [
"12345",
"67890"
],
"groups": []
},
"private_exchange_allocations": {
"blocked_supplier_ids": [],
"groups": []
}
}
Advanced configurations
Advanced configurations give you tighter control over distribution and supplier strategy. Typical scenarios include:
- Combining Open Exchange with Private Exchange partners.
- Guaranteeing minimum traffic for strategic suppliers.
- Capping maximum exposure to any individual supplier or group.
Below are some practical advanced examples.
Example JSON snippets for advanced allocation configurations.
- Grouping open exchange suppliers with min/max percentages
- Split between open exchange and private exchange
"allocations": {
"open_exchange_allocations": {
"exchange_min_percentage": 30,
"exchange_max_percentage": 90,
"blocked_supplier_ids": [
"30001"
],
"groups": [
{
"group_name": "Supplier group 1",
"min_percentage": 0,
"max_percentage": 60,
"suppliers": [
"8421",
"9001"
]
},
{
"group_name": "Supplier group 2",
"min_percentage": 10,
"max_percentage": 50,
"suppliers": [
"9100",
"9200",
"9300"
]
}
]
},
"private_exchange_allocations": {
"blocked_supplier_ids": [],
"groups": []
}
}
"allocations": {
"open_exchange_allocations": {
"exchange_min_percentage": 0,
"exchange_max_percentage": 40,
"blocked_supplier_ids": [],
"groups": []
},
"private_exchange_allocations": {
"blocked_supplier_ids": [],
"groups": [
{
"group_name": "Supplier 267",
"min_percentage": 60,
"max_percentage": 90,
"supplier_id": "267"
}
]
}
}
Where to configure supply allocations
You can specify supply allocations using the allocations object, on POST create a target group in draft status or POST update target group allocations when your target group is already launched or scheduled.