Category Archives: Software Architecture

What is wrong with online ad optimization ?

Yesterday evening, I sat through a technical seminar on online ad optimization. It was a very enlightening talk, reasonably technical, that help me get started on this subject. I learnt how online ad optimization involves so systematic gathering of data, slicing and dicing, analysis based on demographic strata such as age, gender, ethnicity, wage groups, etc. They also collect data on unique visitors, and are doing real cool work like frequency capping (i.e., don’t show the high-priced ad more than a certain number of times to the user who doesn’t click on it in that many number of times – the logic being he is most likely not interested in it), and so on. After the talk, I had a few questions. The answers left much to be desired, and hence I thought of posting those questions in a blog post. So, here we go.

Just a small caveat: I am a die-hard supporter of “no-irritating-online-ads-please” policy. Yes, yes, I understand the economics of how ad revenues help in cross-subsidizing the magazines or newspapers or the websites, but I think there is a fine line between what is done and what is not done, and every customer knows where is that fine line ! So, let’s get going…

1. Why does online ad optimization include ‘unique visitors’ as a data for analysis and not ‘repeat visitors’ ? I read long back that it takes up to 6 times the time, money and effort to attract a new customer as compared to retain an existing one. Why not focus efforts on people who are coming to your site twice, thrice…ten times a month as compared to the unique visitors. A frequent visitor likes the user experience on your site (that’s why he is coming to your site so many times !), and might be more open to what you advertize on it than a vagabond visitor.

2. Why do online ad optimization techniques completly disregard ‘user preference’ in favor of inconsequential static factors like age, gender, ethnicity, etc. ? Let me explain. Suppose I never click on any online ads on a site. Irespective of whatever my demographics say about me, what possible value would it be to keep popping the ads at me ? At best, it is a wastage of advertizer’s money (which, in the long run, could mean the advertizer taking away his business to another publisher if the returns are less than expected). At worst, I will take away my business somewhere where there are less irritating ads (which also means problem for publisher if not too many people visit the site). Here is my proposal: on your site, ‘reward’ users like me who don’t click on any ads by showing less ads, or removing them altogether. And for user who are prolific clickers, ‘reward’ them by giving relevant ads and offering them ‘deals’ that make them click on them even more. Such an automatic ‘opt-in, opt-out’ will make sure it is a win-win-win-win situation: people who want ads will be happy to get more deals (which get funded by not popping ads at people who don’t want them), people who don’t want ads get an ad-free experience, advertizers are getting a better bang for the buck and publishers are finally getting to make everyone happy ! There, the biggest problem in online advertizing has just been solved. And, do remember to mention that you read about it here first 🙂

3. I blogged about Gmail a few months back (and surprisingly, it continues to be my #1 post). Here is some more on that. There is no bigger culprit than Gmail when it comes to making money on your user experience.So, when you open your mail in Gmail, its humongous search algorithms try to find the best ads for you based on what is written in your email. For one, that is an outright invasion of privacy – so what if it is done without human intervention. Anyone can hack into any customer data, right ? Secondly, it slows down your mail thus deteriorating your ‘user experience’. So what if that deterioration is unperceptible most of the time – it is getting bigger and more noticable every time I log into Gmail. Thirdly, every search on Google is supposed to crete 7 grams of Carbon Dioxide – so, every time I open my mail, I am unknowingly creating an unsolicitated search and creating another 7 grams of CO2 that we all could have very well done without ! Isn’t that a disincentive big enough to stop this mindless data mining that user don’t want ?

4. Every ad on your site is like an outlink. It makes your visitors go away from your site. Now, why did they come to your site in the first place ? Not to search for which is the coolest mobile phone – they could have googled or cuil’ed for that. They came because they liked what you offered them – whether it was ideas, articles, ecom, vacations, books, e-shopping..whatever is your core business proposition. And by hosting a sexy ad, what did you do – for a few dollars more, you allowed, rather facilitated the visitor to go away from your site. To me, it is like loaning your working capital to other businesses even if that brings more returns than your own hurdle rate ! Agreed, you need to make some money and hence your require some ads, but here is the problem: on a typical or a, there will be thousands of pages. The most unreachable pages will attract least sexier ads, and the top pages will get the most coveted ads – the ones that have the biggest potential to take away your visitors from your site – lock, stock and a few smoking barrels ! Visitors will come to those top pages first, and get floored by the latest hi-tech flash-based ads and with them, goes away any hopes of them visiting the deeper pages on your site. Now, what is your aim: don’t you want people to spend time at your website, and visit as many pages as possible. But, you are achieving exactly opposite. It beats me why will somebody want to do that ?

These are my four questions that I have not understood yet. Maybe its my ignorance about the subject matter, but it most certainly doesn’t seem to add up.

So, what is wrong with online ad optimization ? I think absence of ‘customer’ as a thinking, rational living being is what is wrong. Till that happens, I can’t think of how one could fix this problem. Surely, ad networks and publishers will make money as is the case in any business which is floating on high tide, but eventually water will recede….

Software Architecture Club: 10-Aug-08 / 2nd meet


We had the second meeting of SAC last Sunday, 10-Aug. This time, we had five attendees, and except for Venkatesh and Tathagat, the other three came for their first meeting: Venkat (Philips/NXP), Bhaskar (Software AG) and Rafi (Alcatel-Lucent). As there were new members, we diligently invested a good amount of time on coffee, socializing and digging out old connections 🙂

Venkat shared his perspective from the semiconductor world, and how the software on chip is not only leading to high complexity of software, but also demanding higher performance. Venkat and Tathagat shared experiences from a previous product they worked on together (Digital Set-top Boxes) and how incorrect / bad architecture choices led to significant challenges for the product performance.Rafi brought in the perspective of how the principles of architecture can be applied in the context of existing product – and given that most products continue to get evolved, enhanced and extended, it perhaps is a very valid discussion point for SAC. If any of the SAC member is interested to lead a discussion on this topic, it would be greatly welcome.

Venkatesh, Tathagat, Bhaskar and Venkat engrossed in a discussion

Venkatesh, Tathagat, Bhaskar and Venkat engrossed in a discussion

On one of the points regarding adoption of Agile methods, Tathagat mentioned he is re-reading Fred Brooks’ “The Mythical Man-Month” and Chapter 5 of that book is a very relevant discussion on ‘Aristocracy vs. Democracy’ of having an elite group of software architects. There has been a previous discussion on this in SAC, perhaps unfinished in some sense, that could be continued to explore this topic further and understand the various issues involved in it better. Not that we must conclude this topic one way or the other, but we might be able to explain the issue better given a much broader understanding of the issue. Venkatesh explained certain nuances about daily Scrum meeting, which led to interesting exchange of thoughts. He was promptly requested be the bridge between Agile community and SAC and keep enlightening us with more thoughts on this subject, including through his own blogs on this subject. Venkatesh also shared thoughts on ‘incremental architecture’ based on a workshop he had done for a group at Philips sometime back. Venkat mentioned that the concept was well received by the project team. 


Bhaskar making a point

Bhaskar making a point


Bhaskar brought the perspective of enterprise software, and the challenges thereof. Tathagat asked if Bhaskar would like to lead a discussion on this topic in one of the future sessions. Bhaskar to confirm. 

Venkat and Rafi listeing to Venkatesh (not in the picture) explaining the 'why' behing daily Scrum meetings

Venkat and Rafi listeing to Venkatesh (not in the picture) explaining the 'why' behind daily Scrum meetings



Rafi suggested we should share more web resources and reading list among member to help come at a good set of resources on the subject. I would request all members to contribute their efforts to come up with a good source of knowledge resources on this subject. It was also suggested to all members that Google groups allows a wiki-type functonality to create pages and edit / develop them collaboratively. Though it is not a full-blown wiki functionality, at this point it could still serve us well. For example, interest groups on Embedded, Web 2.0, Enterprise Software, etc. could be some themes, while topics such Reading List, Certifications, Adoption of Agile methods, etc. could be some of the global discussion threads that could continue. Tathagat renewed his request for shared ownership of the discussion threads on the forum to make it most effective. To that end, any member of SAC is most welcome (and encouraged) to start any of the discussion topics !

The next meeting is planned on 13-Sep (Sunday), 10am. Venue will be confirmed later. The idea is to start more focused technical discussions from the coming meeting onwards. All ideas are welcome. If you would like to lead a discussion, let us know ! 

PS: Photo quality is not so good, thanks to Blackberry, but at least that will put faces to some of the names.