Ad Quality: The Other Side of the Fence

One of the hottest topics in the advertising ecosystem today is Supply Quality. Advertisers have a legitimate concern regarding fraud more specifically: the credibility of supply and where their ads are displayed. However, on the flip side there is another prominent quality issue affecting the advertising ecosystem: the quality of the ads served by Demand Partners. It is reasonable to assume that just as both DSPs and advertisers expect the highest quality of supply from their partners, the supply side expects the same standard from demand partners. This expectation is mutual and must be fulfilled if not addressed. Unfortunately today, DSPs often underestimate such a need and end up sending multiple malicious ads. Players across the ecosystem must understand that this implies serious collateral damage downstream. A user is a customer to both the publisher and the advertiser. Publishers monetize directly off them and advertisers wish to convey a specific message. As more bad ads are displayed to users, the worse the user experience essentially increasing the probability they will abandon that specific property. Ultimately, this is a lose-lose situation leading to high quality users driven out of the market. Such high quality users represent the very lifeline of the publisher’s properties and when a publisher ends up losing them, the result is costly. DSPs must remember that they run the risk of suspension by server-side platforms (SSPs) or their bidding discretionality may become limited. What are the different

Posted on May 10, 2019
By Sergio Serra



All About InMobi Pulse: DIY Research Design for a Mobile Audience

InMobi Pulse is a consumer insights platform that helps brands find answers to critical business questions by reaching out to their audience on mobile. InMobi Pulse gathers 360-degree consumer insights using a combination of stated in-app mobile survey responses and the user’s passive behavioral and location data sourced from their mobile usage. InMobi Pulse aims to make research accurate, efficient and fast. Mobile penetration has grown leaps and bounds in developed and developing countries alike. Mobile is changing consumer preferences and behaviors at unprecedented speeds. InMobi Pulse uses InMobi’s mobile advertising network for reaching out to mobile users and rendering native mobile surveys within ad slots. The self-serve dashboard puts the power in the hands of marketers by giving them an instant reach of 1.6 billion mobile consumers. In this blog, I want to share the product philosophy that led to building InMobi Pulse.Using Technology to Solve for Market Research InMobi Pulse provides a holistic understanding of the user’s behavior and attributes across stated survey responses and passive user data. The passive data may include signals such as app ownership, content consumption and location footprint. Let’s look at how InMobi Pulse solves for capturing consumer opinion through in-app surveys. Any market research study is a three-part problem: Research Design User Recruitment and Data Collection Deriving Insights InMobi Pulse is one of the very few platforms in the world which allows a researcher to conduct all the

Posted on May 07, 2019
By Iman Kalyan Pande



Event Diary - Data Hack Summit 2017: The Need to Rethink Deep Learning

InMobi regularly hosts, participates in and contributes to a series of events, meet-ups, webinars, sharing best practices with partners and thought leaders, across the globe. In this edition of the InMobi Event Diary, we are looking at the highlights and developments from “Data Hack Summit 2017,” an event organized by Analytics Vidhya in Bangalore, India. In this edition of the InMobi event diary, we cover our presence at the Analytics Vidhya-hosted event “Data Hack Summit 2017.” Aimed at bringing together the finest data scientists across India and the globe, the Data Hack Summit covered the latest trends in analytics, machine learning (ML) and artificial intelligence (AI).As the ‘AI’ and ‘ML’ buzzwords make their way into corporate boardrooms, data scientists at the conference were busy delving into the real science behind the hype. InMobi was part of one such session on “The need to rethink Deep Learning.” The session was focused on discussing the current applications across industries, the challenges in getting impact, and the evolution of deep learning as a tool in the data scientist’s armoury.The Need to Re-think Deep LearningAvi Patchava, VP, Machine Learning and Artificial Intelligence, India at InMobi was part of the panel discussion on “The need to rethink Deep Learning.” Moderated by Kunal Jain, Founder & CEO of Analytics Vidhya, the panel also featured an eclectic mix of other researchers and practitioners - including Dr. Kirk Borne, Principal Data Scientist at Booz Allen Hamilton, Dr. Srinivasan

Posted on December 15, 2017
By Avinash Patchava



Event Diary - 8 Essential Tips for Implementing Machine Learning Models

InMobi regularly hosts, participates in and contributes to a series of events, meet-ups, webinars, sharing best practices with partners and thought leaders, across the globe. In this edition of the InMobi Event Diary, we are looking at our recent visit to one of India’s top business schools - the Indian Institute of Management in Bangalore, where we addressed students of the Big Data and Analytics Certificate Program.In this edition of the InMobi event diary, we cover our visit to the well-known Indian Institute of Management of Bangalore where we addressed 60 students of the Big Data Analytics Certificate Program. Speaking on Machine Learning in the Wild, the event was a great opportunity to interact with a student group comprising experienced professionals looking to move to the field of Big Data and Analytics, and address their concerns and thoughts.InMobi was invited to address the 2017-18 batch given the on-ground experience in applying Big Data and Machine Learning technologies in the mobile advertising industry. InMobi has been applying these technologies for several years and their relevance has only grown as the industry and company have evolved. Avi Patchava, VP, Machine Learning and Artificial Intelligence, at InMobi addressed the batch. He was introduced by Dr. Shankar Venkatagiri - Associate Professor at Indian Institute of Management Bangalore. Avi led the discussion with 8 Essential Tips to consider when designing, building and deploying a Machine Learning model towards a business problem:Tip #1:Be clear

Posted on December 13, 2017
By Avinash Patchava



Event Diary - GE TechNEXT 2017: Delivering a Digital Transformation

InMobi regularly hosts, participates in and contributes to a series of events, meetups, webinars, sharing best practices with partners and thought leaders, across the globe. In this edition of the InMobi Event Diary, we are looking at the highlights and developments from “TechNEXT,” an event organized by GE research at their offices in Bangalore, India. In this edition of the InMobi event diary, we cover our presence at the GE Research hosted event “TechNEXT.” TechNEXT is a forum at GE that familiarizes a deep technologist audience with what’s next and what’s cool in technology by bringing them face to face with industry leaders and their insights. InMobi was among the few invited to participate in GE’s inaugural TechNEXT event. The panel aimed to unravel the process of building a digital DNA through the age of digital-industrial transformation by leveraging Artificial Intelligence & data insights in particular.Delivering a Digital transformationAvi Patchava, VP, Machine Learning and Artificial Intelligence, at InMobi was part of the panel discussion that was moderated by Vinay Jammu, Technology Leader for Physical-Digital Analytics at GE Global research, and featured Dr. Shankar Venkatagiri - Associate Professor at Indian Institute of Management Bangalore - and Sameer Dhanrajani - Chief Strategy Officer at Fractal Analytics. Digital transformation - Setting Up for SuccessThe panel noted that a digital transformation is a narrowly focused initiative around one or two technologies that can deliver the most value for the business given

Posted on December 13, 2017
By Avinash Patchava



Launching InMobi Appographic Targeting™

Over the last two years, we sought out and met hundreds of app developers across the world to ask them two simple questions - “How would you describe your app?” and “Who is this app designed for?”While the specifics vary, the responses’ structure was almost always a variant of the following sentences: “Have you used app A? It’s kind of like that, but with X being a key differentiating concept”“It’s an app that lets users do XYZ”“The audience for this app is very similar to the audience of app A”“Users who play Game A and Game B will love my app”Very rarely have we heard an app developer describe their app in terms of app store categories, and almost never in terms of a demographic or a location. As humans, we tend to relate to new things in terms of something we already know, which helps us anchor new experiences. This translates to how people perceive apps, as well, where app definitions and potential audiences are referenced in terms of other apps, with a few key differentiators.This is where the core insight for Appographic Targeting™ emerges. Users and app developers have a common language of evaluating and developing new apps - the language of how apps are described in terms of key functional, design and interactive elements that appear in those apps and similar apps. This language, like any other language, has

Posted on March 11, 2015
By Abhishek Bapna



Targeting 2.0 : The Mobile-First Approach

Targeting in the good old days used to be somewhat of an art. To know and understand exactly how to position your product to a specific slice of customers used to be a derivative of decades of experience. With every passing digital generation, the ability to sift through consumers and target the one most-likely to consume and engage with your product is more of a science. Mobile is a different beast altogether. At InMobi, we enjoy thinking of this challenge as an interesting yin & yang between art (enabling beautiful user experiences) and science (leveraging tons of user understanding and data sciences for effective targeting). After several quarters of investments (and hard work!), we are now proud to offer two mobile-first targeting solutions for our brand and app developer clients.We recently launched a complete suite of products at AdWeek, New York aimed to help advertisers and mobile marketers at leading brands and agencies target their end consumers better. Almost permanently tethered to their phones, mobile-first users consume information and content in complex ways. Advertising to them can no longer be linear. Consumers now need to be touched across a variety of moments during their consumer decision process. Consumer insights and decision sciences enable us to help brands predict Moments of Maximum Opportunity (MOMO), so that brands can influence every specific consumer with the right value proposition at the most-appropriate moment. Furthermore, on the back of this nuanced targeting, we are

Posted on October 16, 2014
By Piyush Shah



What’s Native Got To Do With It? A Town Hall Conversation At IAB’s Advertising Technology Marketplace

70% of marketers still don't know what it is, but according to projections, native advertising will account for nearly $3 billion in spend by the end of this year. This is a powerful statistic, and one that we explored in depth at the IAB’s Advertising Technology Marketplace in New York. Titled 'What’s Native Got to do With It?', the town hall discussion was moderated by Kaylie Smith, Rubicon Project’s Head of Seller Cloud, and the IAB’s Director of Industry Initiatives, Carl Kalapesi. It was great to experience the excitement around native advertising with the buyers and sellers in the room who participated. It was clear that both see the value in these emerging ad units. One of the key themes that was explored during the discussion was the question around the exact definition of native ads. Is it custom content, relevant ads, advertorials, in-feed, units that have the look and feel of an app, etc.? While the IAB published a playbook to provide greater clarity on this subject, I’m excited that InMobi and Rubicon Project are working with the IAB and the OpenRTB Forum to develop standardization in order to drive native adoption. Kaylie echoed the sentiment that was on everybody’s mind ‘How does native scale in the programmatic world?’. InMobi has been obsessing about this for quite some time now and we believe we have taken the right steps to tackle this challenge. We

Posted on June 26, 2014
By Kayla Wilson



Extending graphite’s mileage

This post announces the public unveiling of leveldb based backend for graphite. The background As mentioned in one of earlier blog posts, we use graphite servers for handling our server metrics. The reasons why we love graphite are as follows: Extremely comprehensive data transformation APIs Great ecosystem around data producer libraries & agents Vibrant visualization options over the core data API A natural outcome of liking any tool is that its usage increases to the point wherein one pushed the limits so much that it seems like an overuse. For InMobi, this started out with increasing the number of metrics that each of our core ad-servers would publish. This number was a little shy of hitting the one thousand mark. The other thing that we started testing was to capture some of the business related metrics using the same path. This is a rather unorthodox way of doing things in the age of big data. What was however appealing was the simplicity of the workflow; instrument the code in the right places with the yammer metrics library and then start seeing aggregated data right after the next release. This is where the “abuse” of graphite began. We started to pump close to a million data points per minute on a single carbon server and it would just trip over with no signs of recovery. Things start to go foul While it was obvious that the evidence of being able to push

Posted on January 24, 2014
By Arvind Jayaprakash



Security at InMobi

A colleague was recently telling me that in the rural Indian village she comes from, nobody builds big, beautiful homes without putting a scary-face mask outside the door to keep demons away. The custom is believed to have originated several centuries ago and is still in vogue since a flourishing home is automatically expected to attract bad omens, spirits or even the odd thief. Hanging up the scary mask serves as a warning and protects inhabitants from a potential miscreant. It’s a similar situation we are witnessing in the mobile ad industry. With the proliferation of mobile devices and our increased reliance on smartphones has come the unavoidable issue of security and data privacy. As I like to say, here are the demons we hang up quite proudly on our network at InMobi to protect our users: Dedicated fraud detention team: The mobile ad industry is in its infancy and is attempting to grapple with every new, emerging fraud. InMobi makes a determined effort to ensure that all frauds including click frauds, hacker attacks, data breaches are all contained by a dedicated team providing 24/7 support to ensure fraud detection and prevention. Customer data and user data are important to us and we guard them both zealously. Adult content: Each ad on the InMobi network is manually reviewed by a real human, not software, to help stop illicit material from sneaking onto our network. Our dedicated team of 24/7 people helps

Posted on December 20, 2013
By Mohit Saxena



Introducing the Cube Abstraction for Apache Hive

At InMobi, we have an internal Hadoop based system to support ad-hoc analytics needs of users. This system gives users a unified conceptual interface to the data collected from several sources, without burdening them to know about the schema, location, or the granularity at which data is stored. In the background, this system runs Hadoop jobs which can do map side joins, aggregations, and also have support for custom UDFs.Currently the system described above uses a custom query language which allows users to express selections, projection formulae, joins, and aggregations. Given the recent interest in HQL based systems within the Big Data community like Hive (Stinger), Impala, and Shark, we felt it would be worthwhile to move to HQL, so that we could take advantage of community efforts around these systems. Also, since most of these systems can share a common schema through the Hive metastore, it becomes easier to have a single schema of all data in the company. However, in its current state HQL has certain limitations when compared with our system -1. Currently the Hive metastore does not provide a way to express relationships between tables.2. Users need to remember the schema and queries can become fairly complex if they involve joins or span data across tables.3. Users query data at a relational level and not at a conceptual level which is easier for business users to understand.To solve these problems, we have proposed the

Posted on August 19, 2013
By Amareshwari Sriramadasu



PinTail - Tail and Pin Event Streams from Apache Hadoop Clusters

Background/Motivation At InMobi Conduit is used extensively to move data in a streaming fashion from applications to grid. The appetite for consuming data is growing within the company as we deliver significant scale (more data aids in creating smarter and richer user experiences). Previously most consumers used to leverage Apache Falcon for consuming data with jobs getting triggered at pre-defined times and have capabilities to gate on data arrival at grid at predefined locations. Then arose use-cases which require streaming data consumption; specifically at InMobi we had teams like fraud detection, real time feedback to ad serving who wanted to consume events as they arrive on GRID at sub-minute level latencies directly into the application without having to worry about the nuances of using Hadoop and PINTAILwas born.Features Streaming view of data for a stream as it arrives, sourcing it from multiple clusters a.k.a tailing a stream. Checkpoint a stream a.k.a pinning a stream Partition a stream across multiple consumers within a group for better throughput. Custom input formats. Decoupled from Conduit. Seamless support for Conduit Streams and any other event stream generated on Hadoop.10000FT view Pintail comes packed as a asynchronous java library with an iterator alike interface thereby allowing applications to stream messages from multiple clusters/multiple data centers in parallel. Stream near Real-Time Events Being one of the primary goals, its evident this use-case is supported as a first class

Posted on July 24, 2013
By Inderbir Singh



Introducing "Falcon" - Big data management platform

InMobi has been using big-data technologies (Apache Hadoop and its family) for well over 2.5 years for storing and analyzing large volumes of serving events / machine generated logs. InMobi receives in excess of 10 billion events (ad-serving and related) each day through multiple sources/streams originating from over ten geographically distributed data centers. Background As we have come to realize, just using the right serialization / storage format or processing technology is not adequate in managing complex big-data processing environment such as ours. Issues discussed below are common across most of our processing pipelines or data management functions and it was required to take a platform approach towards solving for these.In a geographically distributed setup, assuming WAN networks to be highly available is neither practical nor cost-effective. In such an environment, the flow of data across data centers might be stalled or delayed. This might come in the way of making critical feedback generation / learning processes or business intelligence reporting data available on time.There might be different types of data processing requirements. The ones where the timeliness of the pipelines is more critical than the correctness (ex. Feedback pipelines), while in case of others correctness and completeness are more important (BI / Reporting). Particularly for the second class of applications, if the input data were to change due to delays, it should automatically reprocess them. Now this needs to automatically happen for all downstream consumers of the input data whether direct or

Posted on July 03, 2013
By Srikanth Sundarrajan



Garbage collection ergonomics in the JVM

Tuning the garbage collector settings is a favourite pastime of many site reliability engineering teams as sub-optimal settings result in awkward response time behaviours. The first rule of trying to tune anything is to try and understand the existing behaviour of systems before tinkering around with it. Trying to be data driven when it comes to performance tuning also requires us to demonstrate correlation between the dependent variable (some perf related metric) and an independent variable (the value that we are trying to tinker). We shall now look the example from one of systems to uncover the complexities of undertaking such an activity. The system in consideration here is the core adserving component of InMobis business. The application in question is a standard java webapp running on dedicated bare metal serves. We prefer this hardware setup to ensure that host level resource contention is minimal to have great control over the server response times. The details of the JVM and its associated settings are made available here on the specific host whose metrics is being discussed in the remainder of this post. ~ $ java -version java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03) Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode) JAVA_OPTS="-Djava.awt.headless=true -Xmx9216M -XX:-OmitStackTraceInFastThrow -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseConcMarkSweepGC -XX:NewRatio=4 -XX:SurvivorRatio=5"Years of experience coupled with fundamental understanding of the nature of the application has shown us that

Posted on June 18, 2013
By Arvind Jayaprakash



Introducing InMobi Reflections

When technology works people dont think about how it works, they focus on its use and enjoy the experience. However, there are some of us who wonder what goes on behind the scenes; how the œfeats of magic are performed and what is required to provide state-of-the-art technology experiences. Weve decided to share more about the great technology and insights we develop here at InMobi. To do this we are launching a series of blog posts that provide a behind-the-scenes look at some of our efforts to tackle the challenges of creating a world-class ad network. Specifically we will be discussing running a large hardware infrastructure, the mathematical techniques involved in this, software and of course mobile device specific technology. Over the last few years, the technologies that power InMobi products have seen exponential usage growth, alongside a continuous expansion of our product base. Rising to this increasing demand is a challenge. However, it has fostered a culture of innovation within InMobi; a passion for solving difficult problems that has flourished in an open environment that buzzes with creative energy. Earlier this year our passion for innovation was given a nod from MITs Technology Review, listing InMobi as one of the Top 50 Disruptive Companies for 2013. Very cool. Our new blog series is called Reflections. Within it we hope to share some of the innovative energy that pulses through the hallways of InMobi. The first few posts in the coming weeks

Posted on June 17, 2013
By Ian Anderson



InMobi works with Hortonworks to incubate Falcon with Apache Software Foundation; to provide huge benefits to the big-data community

InMobi has been using big-data technologies (Apache Hadoop and its family) for the last 2.5 years for storing and analyzing large volumes of serving events / machine generated logs. InMobi receives in excess of 10 billion events (ad-serving and related) every day through multiple sources/streams originating from over ten geographically distributed data centers. In a typical day we process tens of terabytes of data. In the beginning, we had a single central data center where all the processing took place resulting in high IT costs related to servers and network bandwidth. As we explored cheaper and more effective ways of processing this huge amount of data, we came up with a simple in-house scheduler to manage job flows in our environment then. We realized that to be able to process data in a decentralized fashion, we needed to have the complexity pushed into a platform and allow the engineers to focus on the processing / business logic. Besides data processing needs, all other data management functions also became de-centralized or repeated in such a setup. So we invested time to build a data center location aware processing and data management platform, Falcon. There are numerous challenges when it comes to managing big-data. These are related to data movement (import/export, replication), retention (purge, archival), processing (late handling, workflows, geographically distributed processing) etc. Falcon has been deployed in production within InMobi for nearly a year and is being widely used for various processing pipelines

Posted on April 02, 2013
By Mohit Saxena



Conduit: Delivering 10 billions events daily in Real-time

Data collection is the starting point of Big Data lifecycle capture, curate, store, analyze and visualize. At InMobi data is generated by online serving systems. This could be impression, click, download or other kinds of events. This data is used for different Business applications like Billing, Reporting, Business Intelligence, Machine learning, real-time Analytics, and real-time feedback loops. This blog post is about Conduit, a system to collect the huge number of events data from online systems, making that available as real-time stream to consumers in a seamless fashion. Background Earlier InMobi was using an Rsync based file push mechanism to transfer data directly to the consuming system. The granularity of files was minute. Every minute, data gets collected from online systems and get pushed to one or a set of machines. Further, these machines upload the data to HDFS. This was a very simple solution and worked well for long time, when data volumes were less and the number of consuming systems was few. As InMobi gained scale in last 2 years, the data volumes grew and the online serving systems span across multiple geographies. The data consumers also became very demanding in nature with complex and disparate needs. The consumer systems could be different Hadoop grids, HBase, the real-time consumers like fraud detection systems, streaming analytics systems etc. The point to point minutely file push model from producers to end consumers started having lot of trouble. No easy way to

Posted on December 18, 2012
By Sharad Agarwal



Reducing Signalling Overhead in Your App and Website

The engineers at Nokia Seimens Networks have written an excellent article about the level of traffic signalling in mobile apps which use advertising.    Around the world, people pay varying amounts to access data. You can't assume that your customer is on an "unlimited" plan. Even if they are, you don't want to waste their battery or congest the mobile network with needless requests. With our mobile-web platform, it's easy to reduce the amount of requests you send to us: // Use the MkhojAd.php file supplied require_once("MkhojAd.php"); // Use your unique Site ID $base = newMkhojAd("12345678901234567890"); // You can request up to 3 adverts at a time $base->set_num_of_ads(2); if($base->request_ads()) { // The top ad echo $base->fetch_ad(); /* Display your web page here */ // The bottom ad echo $base->fetch_ad(); } You only need to do one call to the InMobi network to get two adverts. Your user's phone should only initiate a single session to our servers to retrieve the adverts. With apps, it's a little more complex. Consider how often you should be displaying adverts. Is it worth requesting 1 new advert every minute? Should you display an advert constantly during a game - or just during the interstitials? Do you need an advert at the top and at the bottom? Use our analytics - find out where are your adverts most effective. Remember: respect your users and their bandwidth. Got

Posted on July 21, 2011
By Terence Eden



Distributed ad serving at InMobi

This August has been quite eventful for us. First we re-branded ourselves, as InMobi. Secondly, we fulfilled part of our aspirations to be a global company by setting up a distributed ad server in a US data center. This move has catapulted InMobi in to a different league altogether. It also showcases our commitment to defy all barriers and overcome various technological challenges to serve our customers in the best possible way. The thought of having distributed node arises with a problem that started with our recent business push in Europe and US market. As our volume started to grow from these continents our publishers reported increased network latency problems between their servers and our servers in India. We optimized India node to a great extent but it was not enough to overcome that natural network response delay of 300ms to 400ms between our locations. At that moment we knew that we had to do something to support business in their expansion plan to Europe and US. The problem statement was clear, it was about having a distributed node in various continents so that we can provide the best possible response time to our publishers located in those geographies, by avoiding delays caused due to distance. To solve this problem we needed three fundamental changes in our architecture: Decouple the application at architectural and infrastructure level so that it can be distributed and each node can function on its own.

Posted on August 18, 2009
By Mohit Saxena