AdvertisingNeedOfDelivery
Use this component to ensure advertisements are selected often enough to meet business commitments.
Although this component appears as AdvertisingNeedOfDelivery in the Pipeline Editor, its ProgID is Commerce.CSFAdvertisingNeedofDelivery.
Intended use: Content Selection pipeline, Initial Score stage.
Configuration Values
None.
Values Read
The AdvertisingNeedOfDelivery component reads the following values from the indicated dictionaries.
Key | Dictionary | Description |
---|---|---|
_content |
Order | A reference to the ContentList object containing the content items. |
_performance |
Order | A reference to the Performance dictionary retrieved from the cache by the InitCSFPipeline component. |
_cache._LastNODRecalc |
Context | The _LastNODRecalc key value is read from the _cache key, a reference to the current dictionary containing advertising information. The _LastNODRecalc value is the time that the AdvertisingNeedOfDelivery component last recomputed the need of delivery for all ads in the ContentList object. |
Trace |
Context | Optional. A Boolean indicating whether score adjustment tracing is enabled. This component will not produce trace strings unless this flag is set to True. |
The AdvertisingNeedOfDelivery component reads the following values for each item in the ContentList object referred to by the _content
key.
Key | Description |
---|---|
need_of_delivery |
The need of delivery for the item — the initial score of the item. |
invalid_nod |
A Boolean flag. If True, the need of delivery will be recalculated for the item. |
ad_type |
The type of the ad. Valid types are:
|
ad_weight |
The current weight assigned to the ad. Used for house ads or paid ads in a campaign-level goaled campaign. Specified in the Campaign Manager module in Commerce Server Business Desk. |
event_name |
The name of the event. |
events_scheduled |
The total number of events scheduled for the item. |
events_served |
The total number of events served to date. |
prev_events_served |
The number of events served before the effective date. |
eff_date_start |
The effective item start date. |
date_end |
The item end date. |
time_of_day_start |
The time of day the event starts. |
time_of_day_end |
The time of day the event ends. |
days_of_week |
The days of the week bit flags. |
Values Written
The AdvertisingNeedOfDelivery component writes the following values to the indicated dictionaries.
Key | Dictionary | Description |
---|---|---|
_content |
Order | Specifically, the component writes to the following fields of the content items:
Reset to False because the need of delivery has been calculated.
The score for the item. Initialized to the need of delivery for the item or, for house ads, the |
_cache._LastNODRecalc |
Context | The time that the AdvertisingNeedOfDelivery component last recomputed the need of delivery for all ads in the ContentList object. |
Remarks
This component calculates the Need of Delivery (NOD) for ad items in the ContentList object and assigns these as the initial scores for the items. The NOD for each item is recalculated periodically or when the invalid_nod flag for that item is True. For more information about columns in the ContentList object, see CSFLoadAdvertisements.
The AdvertisingNeedOfDelivery component uses the SetScore method of the ContentList object for setting the initial scores.
The NOD value for paid advertisements is not calculated in this component. Rather, for efficiency, it is calculated in the LoadAdvertisements cache loader component, and in the RecordEvent pipeline component. For paid ads, this component copies the value in the need_of_delivery
field into the score
field.
The NOD for house ads is set to be equal to the weight of the house ad. The decision as to whether or not to serve house ads is made by the SelectWinners pipeline component. House ads compete only against other house ads. The run percentage for a house ad is equal to the weight of the ad divided by the sum of the weights for all house ads.
This scoring strategy is different than that used in the Site Server 3.0 Commerce Edition AdServer component. In the Site Server 3.0 Commerce Edition AdServer component each house ad was scored and selected just like paid ads, only starting at a fixed need of delivery score of 0.95.
Commerce Server 2002 uses a NOD formula for paid ads. It is designed to give each ad a fair chance of selection when the entire ad schedule is lagging. Under this formula, all ads appear at rates proportional to their goals.
The formula is:
NOD = ( Events Scheduled / Time Total ) / ( Events Served / Time Elapsed )
With the formula used, an ad meeting its delivery goals will have a NOD equal to 1.0. An ad that is lagging will have an NOD greater than 1.0. The farther behind an ad is in its delivery goal, the greater the NOD. Ads that have exceeded their delivery goals have an NOD of less than 1.0.
See Also
Copyright © 2005 Microsoft Corporation.
All rights reserved.