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:
  • 1 for paid ads
  • 2 for house ads
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:
need_of_delivery
The calculated need of delivery for the ad.

invalid_nod

Reset to False because the need of delivery has been calculated.

score

The score for the item. Initialized to the need of delivery for the item or, for house ads, the ad_weight key.

_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

SelectWinners

Copyright © 2005 Microsoft Corporation.
All rights reserved.