[Zope] ZSQL Methods and +

Matt Miller matt.miller@thelinuxstore.com
Thu, 20 Jan 2000 15:24:15 -0700


Bill Anderson wrote:
> 
> Matt Miller wrote:
> >
> > I have just joined this list, so forgive me as I break my cardinal rule
> > of reaidng a list for a while before posting.
> >
> > I am working on a banner ad rotation system for my Zope installation.
> > To that end I am using a rather simple algorithm to determine which ad
> > should be shown:
> 
> While not specifically solving your problem, have you looked at the
> Advertsising Banner Folder product?

Yes, I have.  I couldn't find a good way to produce the reports which my
boss (and presumeably our customers) demand.  I need to be able to count
impresions AND click throughs.  

> I am currently working on modifiying and extending it, but am running
> into some issues.

Welcome to my world!

> > Each time an ad is selected, ads not shown have their "notshown" count
> > incremented by 2.
> > An ad is selected whenever the number of impressions remaining PLUS its
> > "notshown" is the largest in the DB.
> 
> Hmmm sounds like that number could get quite large. Is this a method you
> are using for 'weighting' various banners? IOW, give certain banners a
> higher base notshown count?

Yes, this is a eighting.  I have two considerations in the weighting. 
One I don't want to just shuffle thru the banners.. some customers ma
buy twice as many banners as another.. usually they want maximum short
term impact, so I don't want to stretch their 10 million impressions
over 100 million hits (in the case of ten banner sin the system).. but I
don't want to wait for the numbers to equalize, either.  This method
seems like a 'fair' way to get heavy buyers heavy rotation up front.

I forgot an important piece of this.  When a banner IS shown, its
notshown gets reset to 0.  So the idea is if you have more impressions,
we show you more often.. but not to the exclusion of the other ads in
the system... eventually they will get 'niced' up to the top, even if
they only have one impression left and another has 10 million.

I know I will need a more sophisticated algorithm in the future, but for
today, I just need my addition!

> 
> This is part of where I am working on in a banner product.

Cool, maybe I should look more carefully at the banner product.  I have
written one similar to the one I am trying to recreate here, so it
seemed this would be quicker... but perhaps not if I can't add in my SQL
selects.


-- 
Matt Miller
matt.miller@thelinuxstore.com