Menu

#678 Linked zones not considered when calculating priority

open
nobody
delivery (93)
5
2007-05-25
2007-05-25
myquealer
No

I have been looking through lib-priority.inc.php in an attempt to resolve some long standing priority problems.

Suppose we have two zones, Z1 and Z2, two high-priority campaigns, H1 and H2, and two low-priority campaigns, L1, and L2.

H1 and L1 are linked to zone Z1, and H2 and L2 are linked to zone Z2.

Z1 gets 2000 impressions per day, Z2 gets 100000 impressions per day.

H1 is configured to deliver 1000 impressions per day. H2 is configured to deliver 50000 impressions per day.

The weight of L1 and L2 are left at 1.

It looks to me like the priority of H1 will be set to 1000, the priority of H2 will be set to 50000. Leaving 51000 impressions per day for the low priority campaigns. The priority of L1 will be set to 25500 and the priority of L2 will be set to 25500.

The result of this is H1 only gets about 40 impressions, instead of the 1000 it should get and H2 gets impressions about about twice as fast as it should in the early part of the day and then few or none in the later part of the day.

The reason this happens is the sript does not account for which zones an ad is running in when calculating its priority (the word "zone" does not even appear in lib-priority.inc.php).

I think this could be compensated for manually by adjusting the weights of the low priority campaigns so the weight approximates the daily left over impressions for the zones it is linked to. In this case that would mean setting the weight of L1 to 1 and the weight of L2 to 50. Easy enough in this case, but in our installation we have well over 100 zones and 200 campaigns, most of which are running in a variety of zones.

Another problem this raises is the weight of low priority campaigns can and do affect the number of impressions served by high priority campaigns.

Suppose in the above example Z1 had two low priority campaigns linked to it, L1a and L1b, and suppose we wanted L1a to get ten times as many impressions as L1b, so we set the weight of L1a to 10 and leave L1b at 1.

Now when those 51000 left over impressions are divided up to determine the priorities L1a gets 42500, L1b gets 4250 and L2 gets 4250. So now that simple addition of a low priority campaign to a small zone makes H1 only get about 20 impressions when it should get 1000 and H2 is giving out impressions ten times as fast as it should and runs out of impressions around 3:00 AM.

We have seen both of thse behaviors in our openAds. We currently have a high-priority campaign which is running out of impressions around 6:00 AM and we have long had high priority campaigns which fail to deliver all their impressions while low priority campaigns in the same zones are getting impressions.

Am I missing something? Is this an acknowledged issue? Is there a solution in the works?

Discussion


Log in to post a comment.