Optimizer Parameter (OptimizerParam)
In MYDAS: Masterdata > 360 Campaigns > OptimizerParam
1. Name: Name of the Setup, for reference and readability
2. ConfigName: this setting can be accessed and used from the background scheduler. This is how to run the optimizer automatically (for instance at night). For a nightly run, the recommendation is to use a 1 month period. However, this depends on the booking period of the placements. If the placements are all booked on a weekly basis, then an optimization period of 1 week would be sufficient.
3. Type:
4. priorityFrom: default is “0/0”, which then means no restriction on priority. Otherwise, just placements with priority within the given range are touched. The priority is either set on placement or campaign-level (placement can override the campaign-priority). This type is also checked for the Single-Placement-Optimization (“book” Button).
5. priorityTo: see "priorityFrom"
6. planningTypeID: Date type to be used
7. dateFromStr: Starting date. Can be a fixed date (e.g., “01.01.2020” in the format “DD.MM.YYYY”) or a dynamic date: today or today +1. Today specifies the current day, today+1 the next day, today+2 the day after tomorrow and so on.
8. daysForOptimization: Together with dateFromStr, this specifies the relevant period. The optimizer only chooses placements that touch this period. If the switch “usePlacementPeriod” is not switched on, this is also the date-range within which breaks/inventory is loaded.
9. daysForBooking: If the optimizer needs to consider a longer period but the bookings just need to be performed on the next upcoming days. No bookings outside this window will be executed.
10. mediaID: Valid media / channel for the optimization. If specified, only placements using this media/channel are part of the optimization and bookings will only be performed on that media
11. JustSimulate: Just allows simulation - no bookings. The simulation mode is recommended when you change settings in the parameters to see the “what if scenario” which can be run multiple times before bookings are actually made.
12. Valid: if a setup shouldn't be used (anymore) it can be set to “invalid” – if a setup (optimizer parameter) is copied, valid is switched off initially.
13. Ignore initial:
14. Export to Excel:
The Action Buttons in the General tab
1. Check: Calculates the overview table according to the current situation (no optimization, no bookings are performed in this step)
2. Run: Runs the optimizer and executes the bookings. If the parameter is set to “just simulate”, this button is not available.
3. Simulate: Runs the optimizer and shows the optimization overview-table.
4. Cancel all: Use this with care! This option tries to remove all bookings to return to a clean situation.
5. Copy: Copies the current settings – to allow modifications (and simulation) without changing the original parameters.
6. Clear runs: Removes stored Runs (and results) which are older than 31 days
Settings tab
1. TimeFrom/Until: Limit optimization for a certain time-band.
2. TimeUntil: See 1.
3. Fill: Ignores daily targets; just respects the placement overall target. If a placement wants a total of 20 spots with the daily target of 1 spot/day, the optimizer can ignore this restriction when the switch “Fill” is on (then the optimizer will try to book 20 spots even if on just one day).
Sample: a placement covers 20 days with 1/spot per day and 20 spots in total. If the optimization period (and visibility) is limited to just 5 days, then just 5 spots could be booked. If “fill” is on, the optimizer will try to fill-up the given dates.
This option should be used with the simulation-mode first (to check, if the result is worth ignoring the daily targets).
4. OptimizationBreakStrategy: drop-down options:
NONE no strategy overriding // strategy from placement will be used
MIN_LIST_PRICE1 prefer breaks with low ratecard price (linear price per second)
MIN_LIST_PRICE2 prefer breaks with low ratecard price (indexed price with index on spot-duration)
MIN_MEDIA_BRUTTO prefer breaks with low effective price
MIN_GRP prefer breaks with low grp ratings for the targetgroup of the placement
MIN_CPG prefer breaks with low cost per grp for the targetgroup of the placement
MIN_SPARELENGTH prefer breaks with low remaining capacity
MIN_CHANNEL tries to book as few channels as possible (if a channel is booked, the optimizer tries not to book any other channel)
MAX_LIST_PRICE1
MAX_LIST_PRICE2
MAX_MEDIA_BRUTTO
MAX_GRP
MAX_SELECTIVITY prefers breaks with a high selectivity (= ratio of the grp for the given targetgroup versus the grp of the reference targetgroup). This option makes sure that the best targetgroups for a break are preferred.
MAX_SPOTS
MAX_CPG
MAX_SPARELENGTH
MAX_CHANNEL - tries to book at least one spot on all given channels
5. OptimizationBreakStrategy2:
6. OptimizationPlacementStrategy2: same, 2nd strategy, if 2 placements have the same weight / Preference for the first strategy, this 2nd strategy will be applied. According to this, the 2nd or 3rd strategy can never overrule the first.
7. OptimizationPlacementStrategy3: same as 6.
8. Keep existing bookings: drop-down options:
Don’t keep: allows the optimizer to ignore existing booking and move everything
Keep all: tries to keep as many bookings as possible
Remove issues: remove spots with issues (blockers or soft-rule violations, e.g. spots per day)
Remove blocker: removes all blockers (e.g. overbookings)
Keep but optimize: still tries to keep as many bookings as possible, but places more importance on optimization
Create issue list only: No optimization run at all; just a possibility to collect/update the issue list for all placements
9. overbooking: this value specifies (in percentages), how much percentage the optimizer can overbook. (0 = no overbooking, -100 no capacity, 100 = double capacity). When loading the breaks, this percentage will be applied to the planned-capacity of the break. A break that has originally 120sec will be seen from the optimizer (with an overbooking of 10%) as 120 * (1 + 10%) = 120+12 = 132 sec. The allowed overbooking can be more specific, in using the Inventory-Filter “Filter / Overbooking”. With this filter, the overbooking-percentage can just be applied on a specific set of breaks (like a time slot / daypart 25% overbooking at night-breaks…). This option can also be used to remove/reduce spots from a slot (by specifying a negative percentage).
This Option should be used with the simulation mode first.
Use cases:
- For Single Placement-Optimization and high priority campaigns/placements: An overbooking can be specified that this placement can be booked “on top”. The clean-up (removing lower priorities) should then be done via the multiple-campaign optimization after (e.g. at night) so that the overbooking is just temporary.
- “What-If” scenarios: which placements/clients will be removed, if primetime has 25% less capacity, what if a series-slot will be removed, what would happen, if daytime has 10% more capacity.
10. TreatUnplaced:
11. AllowUnplaced:
12. OptimizationPlacementStrategy: drop-down options:
NONE: no strategy
SELLING_OPTION: each selling-option (Inventory, Ad-product), can have a weight. Placements having an inventory with a higher weight are preferred.
CUSTOMER_CATEGORY: weight of the Client Category (Client-Cluster). Placements of a client with a category/cluster with a higher weight are preferred
PRIORITY_ASC: Preference according to priority (lower values first)
PRIORITY_DESC: Preference according to priority (higher values first)
POSSIBILITIES: When loading the data for each placement, the valid and possible breaks are assigned according to inventory definition. Placements having less possibilities (= number of assigned/possible breaks) are preferred.
POSSIBILITIES_WEIGHTED: a combination of price per second, possibilities, target and fulfillment degree
REVENUE: Placements with a higher price per second are preferred
DURATION_ASC: Placements with a lower spot-duration preferred
DURATION_DESC: Placements with a higher spot-duration preferred
1. MaxPerBreak: By default, a placement can only be booked once per break. If this parameter has a higher value than 1, then the Optimizer will proceed as follows:
- Find the best Placement/Break match, once a break is matched with a placement it will be removed from the list.
- The optimization step finishes if no further match can be found (no more breaks or all placement targets reached)
If not all targets are reached and if the maxPerBreak > 1, the optimizer starts another loop
2. MinuteSplit: For Single-placement optimization. Specifies the minutes that must be between each booking.
3. UsePlacementPeriod: This checkbox/Ffag makes sure that all needed inventory (regarding date-range) for all loaded placements will be checked.
Explanation: If the optimization period is set to May, 1st - May, 4th, all placements are loaded, that contain at least one of these days that can be one of the following:
- Jan, 1st Sep 30th or
- May, 1st May, 31st or
- May, 3rd - May 4th
If the optimizer looks at the breaks in the beginning of May, it would try to book the same percentage of the target in the given inventory. If placement (a) would request in total, 1.000 Spots and Placements (c) 20 spots, then Placement (a) might have 800 Spots in these 4 days and (c) 16 Spots.
If this parameter is switched on, Placement( a) might get 15 bookings as this would be the expected result for the 4 days, if the whole 9 month period is checked.
4. Optimize All Media:
5. ZeroGRPs:
6. CreateIssueList:
7. Threshold:
8. AccountForPreemted:
9. CampaignTypeID:
10. Filter / Additional: this filter is added to each placement. This can be used to limit an optimization just for a certain break type (e.g. promo or infomercial breaks) or exclude some parts of the inventory.
11. Filter / Overbooking: if this filter is not used, the overbooking-percentage will be applied on all loaded breaks, otherwise just on breaks that match this filter. (Same logic to find matching breaks for placements)
12. Order Type: if specified, only Placements with this order-type are part of the optimization, otherwise all.
1. Filter / Additional: this filter is added to each placement. This can be used to limit an optimization just for a certain break type (e.g. promo or infomercial breaks) or exclude some parts of the inventory.
2. Filter / Overbooking: if this filter is not used, the overbooking-percentage will be applied on all loaded breaks, otherwise just on breaks that match this filter. (Same logic to find matching breaks for placements)
3. Filter / Bookings: if this filter is set, bookings are then only performed if the break matches this filter. If a media / channel is specified under “mediaID”, it will have the same effect on booking execution as a filter that contains just that channel.
4. Report-Settings:
5. Parent-Run:
6. Position:
7. Bulk: Performance-Parameter. By default, the optimizer chooses a placement and from there the best matching break and then takes the next placement and so on. With the bulk mode, the optimizer will stay longer at a chosen placement and match up to the number of breaks that are specified in this parameter.
By default, the optimizer chooses the placement according to the strategy, then looks for the best break, matches them and puts the placement back to the set of placements. Then the optimizer chooses the next placement that needs attention (according to the strategy). This can be another placement or even the same.
With the “bulk” mode, the optimizer looks for more breaks once a placement is selected.
8. DurationFrom: Allows a filter for placements with a spot duration in this range. This option avoids mixing classic commercials (with a duration between 3 and 90sec) and infomercials (over 90sec).
9. DurationTo: see 8.
10. Selling Option: click magnifier to open options to chose from existing Selling Options or click "+" to create a new one. (more than 1 Selling Option can be chosen)
11. Minimum-Guarantee/Push-Factor: click in field to chose an existing value or click "+" to create a new one. (Only one value can be added).
12. Filter Target: click in field to chose an existing value or click "+" to create a new one. (Only one value can be added).
Following Runs tab
