{"id":36115,"date":"2022-05-11T10:29:30","date_gmt":"2022-05-11T07:29:30","guid":{"rendered":"https:\/\/orbitsoft.com\/blog\/?p=36115"},"modified":"2023-06-29T11:46:14","modified_gmt":"2023-06-29T08:46:14","slug":"how-orbitsoft-helped-an-ad-platform-increase-ad-requests","status":"publish","type":"post","link":"https:\/\/orbitsoft.com\/blog\/how-orbitsoft-helped-an-ad-platform-increase-ad-requests\/","title":{"rendered":"OrbitSoft&#8217;s Predictor helped an ad platform increase ad requests"},"content":{"rendered":"<div class=\"wp-block-lazyblock-case lazyblock-case-VQ1Dg\"><div class=\"styled-block\">\n  <div class=\"styled-block__main\">\n          <h3 class=\"styled-block__title\">\n        In brief      <\/h3>\n        <ul class=\"case__list\">\n            \n                    <li class=\"case__item\">\n              \n          <span class=\"case__order\">01<\/span>\n          <div class=\"case__body\">\n            <div class=\"case__title\">\n              <span>Kind of tool <\/span>\n            <\/div>\n            <p>Predictor &#8211; AI module for predicting click-through rate<\/p>          <\/div>\n        <\/li>\n            \n                    <li class=\"case__item\">\n              \n          <span class=\"case__order\">02<\/span>\n          <div class=\"case__body\">\n            <div class=\"case__title\">\n              <span>Where we use it<\/span>\n            <\/div>\n            <p>Advertising platform<\/p>          <\/div>\n        <\/li>\n            \n                    <li class=\"case__item\">\n              \n          <span class=\"case__order\">03<\/span>\n          <div class=\"case__body\">\n            <div class=\"case__title\">\n              <span>What tasks it solves<\/span>\n            <\/div>\n            <ul>\n<li>Analyzes behavior of potential buyers<\/li>\n<li>Predicts number of clicks on banners from different sites<\/li>\n<li>Provides the advertiser with suitable ad platforms<\/li>\n<li>Saves on costs, as well as increasing the effectiveness of an advertising campaign<\/li>\n<\/ul>          <\/div>\n        <\/li>\n            \n                    <li class=\"case__item\">\n              \n          <span class=\"case__order\">04<\/span>\n          <div class=\"case__body\">\n            <div class=\"case__title\">\n              <span>Kind of businesses it\u2019s suitable for<\/span>\n            <\/div>\n            <ul>\n<li>Advertising networks and platforms for purchase of ad traffic<\/li>\n<li>Advertisers<\/li>\n<li>Advertising platforms<\/li>\n<li>Recommendation services<\/li>\n<\/ul>          <\/div>\n        <\/li>\n          <\/ul>\n  <\/div>\n  <\/div><\/div>\n\n<div class=\"wp-block-lazyblock-heading lazyblock-heading-A7QHd\"><h2 class=\"article__h\">This platform helps companies find ad platforms <\/h2><\/div>\n\n\n<p>Our customer is a popular advertising platform. It helps companies find platforms on which to advertise.<\/p>\n\n\n\n<p>For example, one partner on the platform is a bank. It has customers who use the app every day. With it, companies can offer the bank&#8217;s clients services and goods with a discount.<\/p>\n\n\n\n<p>The platform not only connects the advertiser and the site with each other, it also offers various services to them: holding auctions, consulting, and algorithms to improve the effectiveness of advertising campaigns.<\/p>\n\n\n<div class=\"wp-block-lazyblock-heading lazyblock-heading-Z1thQBt\"><h2 class=\"article__h\">Problem: companies lose money on unsuccessful advertising campaigns <\/h2><\/div>\n\n\n<p>Companies have a problem: they often don&#8217;t know which ad space to choose. They make a choice based on a brand being well-known, or at random. As a result, an ad can have almost no views or clicks, the company loses money, and the platform loses customers.<\/p>\n\n\n\n<p>The platform decided to introduce a new service: predicting the click-through rate of ads. To do this, we needed a module that could analyze user behavior, and predict the likelihood of a click.<\/p>\n\n\n<div class=\"wp-block-lazyblock-heading lazyblock-heading-fJQSW\"><h2 class=\"article__h\">Solution: check campaign performance with a mathematical algorithm <\/h2><\/div>\n\n\n<p>To develop a solution, the advertising platform contacted OrbitSoft. This is how we began work on creating the Predictor module. The Predictor module is a code that\u2019s embedded in the architecture of the platform, and the user sees additional functions in his or her personal account when creating an advertising campaign.<\/p>\n\n\n\n<p>Predictor analyzes data regarding user behavior, and finds patterns in it. The predictor then creates a prediction of where the ad would be best placed to be clicked on.<\/p>\n\n\n\n<p>This helps companies better place ads to reach their target audience.<\/p>\n\n\n\n<p>It works this way: the user enters a request, and the Predictor then collects data from storage. Further, a mathematical model analyzes the data. After analysis, the module predicts which advertising the user will react to. Based on this data, the platform selects sites with the highest click-through rate.<\/p>\n\n\n<div class=\"wp-block-lazyblock-figure lazyblock-figure-Z2mVFtu\"><figure class=\"article__figure  article__figure_no-shadow\">\n        <div class=\"article__figure-img\" >\n        <img decoding=\"async\" src=\"https:\/\/orbitsoft.com\/blog\/wp-content\/uploads\/1-3.jpg\" alt=\"\">\n    <\/div>\n                <figcaption>The ad platform offers ad placement options based on the forecast of the Predictor module.<\/figcaption>\n    <\/figure><\/div>\n\n\n<p>There are four steps in creating a forecast:<\/p>\n\n\n\n<ul>\n<li>Collection of data for analysis<\/li>\n\n\n\n<li>Formulation of forecast hypothesis<\/li>\n\n\n\n<li>Creation of the forecast<\/li>\n\n\n\n<li>Testing the forecast on real requests<\/li>\n<\/ul>\n\n\n\n<p><strong>Stage 1. Collecting data for analysis<\/strong><\/p>\n\n\n\n<p>To create a forecast, you need input data: the kind of advertising we are analyzing, user actions, and the technical configuration of the request. The information is provided by the advertising platform from the open protocols of the browser and its storage. When registering on the platform, users allow us access to their data.<\/p>\n\n\n\n<p><strong>Data table for creating a forecast<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Advertising information<\/td><td>\u2014&nbsp;Banner, Pop-up, Ad<br>\u2014&nbsp;Ad topics<br>\u2014&nbsp;Advertiser<br>\u2014&nbsp;Site address<\/td><\/tr><tr><td>User actions<\/td><td>\u2014&nbsp;Clicked<br>\u2014&nbsp;Ignored<br>\u2014&nbsp;Closed<br>\u2014&nbsp;Unsubscribed<br>\u2014&nbsp;Complained<br>\u2014&nbsp;Stopped<br>\u2014&nbsp;Watched the video to the end<\/td><\/tr><tr><td>Tech data<\/td><td>\u2014&nbsp;User agent<br>\u2014&nbsp;IP address or partial IP address<br>\u2014&nbsp;User device<br>\u2014&nbsp;Browser<br>\u2014&nbsp;Screen aspect ratio<br>\u2014&nbsp;Geo-location data<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>We divide the data into two equal parts. We use one part of the data to create a forecast, and the second to test it.<\/p>\n\n\n\n<p><strong>Stage 2. Formulation of a hypothesis.<\/strong> Next, we filter the data by categories according to the advertiser&#8217;s request. For example, an online sporting goods store accesses the platform, and the customer wants to understand where to place advertisements for the sale of fitness bands. We retrieve platform data, and set filters by ad subject, ad space, device type, and number of ad clicks.<\/p>\n\n\n\n<p>As a result, we generate something like the following example information:<\/p>\n\n\n\n<ul>\n<li>Advertising for fitness bands is most often placed places where people play sports<\/li>\n\n\n\n<li>Users most often click on pop-ups<\/li>\n\n\n\n<li>The most clicks on ads are from inexpensive iPhone and Android models<\/li>\n<\/ul>\n\n\n\n<p>Next, we formulate a hypothesis for the forecast: an online sporting goods store needs to place fitness bands in the form of pop-ups at sports and fitness locations. Most likely, the target audience is young people from 20 to 35, with low and middle incomes, who prefer to buy online, using mobile applications.<\/p>\n\n\n\n<p><strong>Stage 3. Creation of a forecast.<\/strong> The model creates a mathematical algorithm to generate numbers that help to predict and refine the hypothesis. To do this, the module builds a function of dependence of some data on other data, and finds common overlaps.<\/p>\n\n\n\n<p>For example, we assume that students are more likely to click on ads for low-cost fitness bracelets. We enter the data of our hypothesis: age &#8211; up to 35 years, mobile devices, type of advertising &#8211; banners, advertising placement &#8211; sports and fitness locations. The model processes the request and produces the numbers: in three months, 1000 visitors under 35 years old, clicked on the banner of the fitness bands of the company&#8217;s main competitor, at certain sports and fitness locations, 700 times.<\/p>\n\n\n\n<p>Thanks to the algorithm, we get real numbers for the forecast: if an online store places an advertisement for fitness bands at sports and fitness locations, and sets a price similar to the price of the competitor, 20% of visitors will click on the ad.<\/p>\n\n\n<div class=\"wp-block-lazyblock-figure lazyblock-figure-Z2aoRyh\"><figure class=\"article__figure  article__figure_no-shadow\">\n        <div class=\"article__figure-img\" >\n        <img decoding=\"async\" src=\"https:\/\/orbitsoft.com\/blog\/wp-content\/uploads\/2-1.png\" alt=\"\">\n    <\/div>\n                <figcaption>Terminal with model execution. The screenshot shows that there are many more correct positives than false ones. Model accuracy is above 80%.<\/figcaption>\n    <\/figure><\/div>\n\n\n<p><strong>Stage 4. Testing the forecast on real queries<\/strong><\/p>\n\n\n\n<p>Next, we test the model. We compare the hypothesis forecast with the real result from the second part of the data that we prepared at the beginning.<\/p>\n\n\n\n<p>For example, the forecast promises that 20% of sports and fitness users will click on a banner advertising fitness bands. We look at the data for the previous three months from competitors, and check if these clicks occurred.<\/p>\n\n\n\n<p>If the forecast and data from the past coincide, then the hypothesis is correct, and the forecast can be considered accurate.<\/p>\n\n\n\n<p>If the model predicts clicks, and there were no clicks, the hypothesis is not confirmed. Then we go back to the beginning and test a new hypothesis.<\/p>\n\n\n\n<p>Testing accuracy is measured as a percentage. For example, we tested the hypothesis that 70 out of 100 visitors will click on the banner. The prediction accuracy is 70%.<\/p>\n\n\n<div class=\"wp-block-lazyblock-figure lazyblock-figure-Z8WuoH\"><figure class=\"article__figure  article__figure_no-shadow\">\n        <div class=\"article__figure-img\" >\n        <img decoding=\"async\" src=\"https:\/\/orbitsoft.com\/blog\/wp-content\/uploads\/3-1.png\" alt=\"\">\n    <\/div>\n                <figcaption>The visualization of the error matrix shows how the Predictor, after training the model, proved itself on the test data.<\/figcaption>\n    <\/figure><\/div>\n\n<div class=\"wp-block-lazyblock-heading lazyblock-heading-1HRQ4q\"><h2 class=\"article__h\">Result: the effectiveness of advertising campaigns increased by an average of 20% <\/h2><\/div>\n\n\n<p>To test how the click-through rate improves with the Predictor module, we researched real-life ad campaigns. The study involved banks, e-commerce, booking services and aggregators, and media. The data was provided to us by an advertising platform.<\/p>\n\n\n\n<p>We were interested in CTR, the ratio of clicks to impressions. For example, in an advertising campaign for a flight aggregator, without using the Predictor module, the CTR was 5.8%. When the forecast was added, the CTR increased to 9.06%. The flight aggregator received more ad clicks thanks to the forecast.<\/p>\n\n\n\n<p>The study found that 10 advertisers had an average CTR increase of 20%. The cost of an ad campaign hadn\u2019t changed, but the accuracy had increased.<\/p>\n\n\n<div class=\"wp-block-lazyblock-important-block lazyblock-important-block-Zg8W06\"><div class=\"important-box\">\n  <div class=\"important-box__main\">\n          <p class=\"important-box__h\">Technical block<\/p>\n      \t<p><strong>Data storage<\/strong><\/p>\n<ul>\n<li>Servers ABC, C3 &#8211; cloud solution from Amazon<\/li>\n<li>AWS S3 protocol supported by MinioHadoop<\/li>\n<li>1.2.1 for calculating statistics and remarketing lists<\/li>\n<\/ul>\n<p><strong>Data Libraries<\/strong><\/p>\n<ul>\n<li>TFS (Tensorflow Serving) <a href=\"http:\/\/www.tensorflow.org\/tfx\/guide\/serving\">www.tensorflow.org\/tfx\/guide\/serving<\/a>. Clicks on banner for fitness band of a company&#8217;s main competitor at particular sports and fitness locations.<\/li>\n<li>TFMA (TensorFlow Model Analysis) <a href=\"http:\/\/www.tensorflow.org\/tfx\/guide\/tfma\">www.tensorflow.org\/tfx\/guide\/tfma<\/a>. Calculates model metrics. If analytics confirm that model results have improved, the current version is updated. If forecasts for the new (candidate) model are worse than for the current (baseline), then the model remains unchanged.<\/li>\n<\/ul>  <\/div>\n  <\/div><\/div>\n\n<div class=\"wp-block-lazyblock-banner lazyblock-banner-2u1UPR\"><div \n  class=\"banner\n   \n  \" \n  >\n    <div class=\"banner__body\">\n        <h2 class=\"banner__h\">We\u00a0release projects for online and offline business<\/h2>\n        <div class=\"banner__content\">\n            <p><strong>We\u00a0work with businesses of\u00a0any scale.<\/strong>\u00a0Our clients include international companies, large and medium-sized businesses, and startups.<\/p>\n<p><strong>Telecom<\/strong>: cellular operators, Internet service providers.<\/p>\n<p><strong>Finance<\/strong>: electronic payment systems, insurance companies and brokers.<\/p>\n<p><strong>Retail<\/strong>: stores, trade networks.<\/p>\n<p><strong>Internet advertising<\/strong>: advertising agencies, advertising networks.<\/p>\n<p><strong>Medicine<\/strong>: clinics, medical services.<\/p>        <\/div>\n                            <div \n              class=\"banner__button button js-form-modal\n               button_style_light-on-promo2\">\n              Discuss or order development                          <\/div>\n            <\/div>\n    <div class=\"banner__photo\">\n        <img decoding=\"async\" src=\"https:\/\/orbitsoft.com\/blog\/wp-content\/uploads\/friendship.png\" alt=\"\" class=\"banner__img\">\n    <\/div>\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Our customer is a popular advertising platform. It helps companies find platforms on which to advertise. For example, one partner on the platform is a bank. It has customers who use the app every day. With it, companies can offer the bank&#8217;s clients services and goods with a discount. The platform not only connects the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":36116,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[196],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>OrbitSoft&#039;s Predictor helped an ad platform increase ad requests - OrbitSoft Blog<\/title>\n<meta name=\"description\" content=\"AI module Predictor analyzes behavior of potential buyers, predicts number of clicks on banners, and provides suitable ad platforms\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/orbitsoft.com\/blog\/how-orbitsoft-helped-an-ad-platform-increase-ad-requests\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"OrbitSoft&#039;s Predictor helped an ad platform increase ad requests - OrbitSoft Blog\" \/>\n<meta name=\"twitter:description\" content=\"AI module Predictor analyzes behavior of potential buyers, predicts number of clicks on banners, and provides suitable ad platforms\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/orbitsoft.com\/blog\/wp-content\/uploads\/predictor-1029x1002-1-1024x997-1.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@orbitsoft\" \/>\n<meta name=\"twitter:site\" content=\"@orbitsoft\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"OrbitSoft's Predictor helped an ad platform increase ad requests - OrbitSoft Blog","description":"AI module Predictor analyzes behavior of potential buyers, predicts number of clicks on banners, and provides suitable ad platforms","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/orbitsoft.com\/blog\/how-orbitsoft-helped-an-ad-platform-increase-ad-requests\/","twitter_card":"summary_large_image","twitter_title":"OrbitSoft's Predictor helped an ad platform increase ad requests - OrbitSoft Blog","twitter_description":"AI module Predictor analyzes behavior of potential buyers, predicts number of clicks on banners, and provides suitable ad platforms","twitter_image":"https:\/\/orbitsoft.com\/blog\/wp-content\/uploads\/predictor-1029x1002-1-1024x997-1.jpg","twitter_creator":"@orbitsoft","twitter_site":"@orbitsoft","twitter_misc":{"Written by":"admin","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/orbitsoft.com\/blog\/how-orbitsoft-helped-an-ad-platform-increase-ad-requests\/","url":"https:\/\/orbitsoft.com\/blog\/how-orbitsoft-helped-an-ad-platform-increase-ad-requests\/","name":"OrbitSoft's Predictor helped an ad platform increase ad requests - OrbitSoft Blog","isPartOf":{"@id":"https:\/\/orbitsoft.com\/blog\/#website"},"datePublished":"2022-05-11T07:29:30+00:00","dateModified":"2023-06-29T08:46:14+00:00","author":{"@id":"https:\/\/orbitsoft.com\/blog\/#\/schema\/person\/e515b3fa91e283750477594c4f028b7b"},"description":"AI module Predictor analyzes behavior of potential buyers, predicts number of clicks on banners, and provides suitable ad platforms","breadcrumb":{"@id":"https:\/\/orbitsoft.com\/blog\/how-orbitsoft-helped-an-ad-platform-increase-ad-requests\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/orbitsoft.com\/blog\/how-orbitsoft-helped-an-ad-platform-increase-ad-requests\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/orbitsoft.com\/blog\/how-orbitsoft-helped-an-ad-platform-increase-ad-requests\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/orbitsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"OrbitSoft&#8217;s Predictor helped an ad platform increase ad requests"}]},{"@type":"WebSite","@id":"https:\/\/orbitsoft.com\/blog\/#website","url":"https:\/\/orbitsoft.com\/blog\/","name":"OrbitSoft Blog","description":"Discover the latest in news and resources for OrbitSoft","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/orbitsoft.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/orbitsoft.com\/blog\/#\/schema\/person\/e515b3fa91e283750477594c4f028b7b","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/orbitsoft.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b1b269c579caf059f82b6d114c63fc49?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b1b269c579caf059f82b6d114c63fc49?s=96&d=mm&r=g","caption":"admin"},"url":"https:\/\/orbitsoft.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/posts\/36115"}],"collection":[{"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=36115"}],"version-history":[{"count":9,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/posts\/36115\/revisions"}],"predecessor-version":[{"id":36581,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/posts\/36115\/revisions\/36581"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/media\/36116"}],"wp:attachment":[{"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=36115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/categories?post=36115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/tags?post=36115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}