{"id":9487,"date":"2017-05-02T10:39:41","date_gmt":"2017-05-02T17:39:41","guid":{"rendered":"https:\/\/www.kochava.com\/?p=9487"},"modified":"2022-08-18T15:03:51","modified_gmt":"2022-08-18T22:03:51","slug":"questions-no-one-asking-three-keys-actionable-data","status":"publish","type":"post","link":"https:\/\/www.kochava.com\/ko\/blog\/questions-no-one-asking-three-keys-actionable-data\/","title":{"rendered":"The Questions No One is Asking: Three Keys to Actionable Data"},"content":{"rendered":"[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; scene_position=&#8221;center&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; overlay_strength=&#8221;0.3&#8243; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221;][vc_column column_padding=&#8221;no-extra-padding&#8221; column_padding_position=&#8221;all&#8221; background_color_opacity=&#8221;1&#8243; background_hover_color_opacity=&#8221;1&#8243; column_link_target=&#8221;_self&#8221; column_shadow=&#8221;none&#8221; column_border_radius=&#8221;none&#8221; width=&#8221;1\/1&#8243; tablet_width_inherit=&#8221;default&#8221; tablet_text_alignment=&#8221;default&#8221; phone_text_alignment=&#8221;default&#8221; column_border_width=&#8221;none&#8221; column_border_style=&#8221;solid&#8221; bg_image_animation=&#8221;none&#8221;][vc_column_text]<img decoding=\"async\" src=\"\/wp-content\/uploads\/2017\/05\/phone-newspaper-blog-image-v2d.jpg\" alt=\"A blue-tinted man reading a newspaper, symbolizing old data, and a green-tinted man reading a smartphone, symbolizing real-time data.\" \/>\r\n\r\nWe live in a world with ever-expanding volumes of data, data types, and use cases for how data can become actionable. With each generation of datasets, a corresponding set of tools are made available but often aren\u2019t put together holistically to the entirety of how data should be understood.\r\n\r\nAny experienced marketer can identify the difference between a toolset created for the sake of tool creation and a product that is engineered holistically to empower the marketer. At Kochava, we talk a lot about how we build our platform with \u201cinterlocking\u201d capabilities. This means that as new data sets are available\u2014or new needs arise from our customers\u2014we don\u2019t simply attach a new toolset on top of the system only to find a Frankenstein created over time. Instead, we talk about how our platform exposes interlocking capabilities so that various features across the platform take advantage and leverage the data available. This is what enables Kochava to deliver an unfair advantage for our customers.\r\n\r\nDesigning a product that creates this unfair advantage means we are solving real world problems\u2014not only in concept. For us, this is not just a goal but an evolving reality. What many of our customers don\u2019t know is that when we\u2019re brought in to help understand performance, deep-dive into data, help unpack potential fraud indicators, or even identify under- (or over-) performing segments, we use the same tools internally to analyze data that we provide directly to our customers, and they\u2019re pretty great!\r\n\r\nWhen you have true row-level data at your disposal, not only is there complete transparency in all your system decisions, but you can quickly innovate other products and offerings on top of that dataset.\r\n\r\nLet\u2019s unpack three essential questions you should ask about your data and what the answers should tell you about your measurement platform. Along the way, I\u2019ll spell out some of the nerdy things you can do with your data inside the Kochava platform.\r\n<h4>How fast can I access my data?<\/h4>\r\nWhen I was younger, I spent a fair share of time playing the original \u201cAge of Empires.\u201d It\u2019s a great example of engaging multiplayers on rudimentary networking frameworks. At the time, partially because a certain 12-year-old couldn\u2019t afford much of a PC, and partially because that same 12-year-old had setup his home network, he had less than ideal latency while playing on it. This meant that I would move a swath of archers or build reinforcements to defend a nearby castle, only to realize once the multiplayer engine caught up, that the enemy had flanked around the river and was now burning down a defenseless resource village.\r\n\r\nWe ask our customers to make sure we receive a real-time feed of their data, enabling us to make split-second decisions and empowering them to do the same through our products. This gives you the edge to make decisions each second, minute, or hour, instead of day or week. Programmatic or not, having a delayed picture of the world is not only blinding but infuriating.\r\n\r\nReceiving real-time data in this manner is crucial for fighting fraud, which is becoming increasingly important. Keeping row-level data allows us to identify that <i>n<\/i>-factor that may be a significant fraud indicator but isn\u2019t kept around if we were to only aggregate that data. For instance, we have run fraud audits for non-customers utilizing other measurement providers. When we perform these audits, we identify which parameters, keys, header values, etc., when scored, pinpoint potential fraud indicators. If that data is not provided to us at row-level, we only have what the measurement provider deemed \u201cuseful\u201d at the time of ingestion. The result is that the world looks nice and fluffy because they aren\u2019t keeping the correct metrics. Or, it looks deceivingly like there\u2019s action being taken against fraudulent traffic because that provider only keeps the metrics that \u201ccan\u201d be used by an inferior fraud detection tool.\r\n\r\nTo say that \u201creal time\u201d is a buzzword is probably an understatement. But not having true real-time data results in making delayed or blind decisions when attempting to capture an audience with an ever-decreasing attention span and results in false perceptions about acquired or reached users.\r\n\r\nThe working relationship of real time in conjunction with row-level data makes itself known in some of our real-time fraud abatement tools. Take Traffic Verification, a system that in real time validates that any click or impression meets a set of marketer-defined criteria. The criteria may include validation against a hot cache (a.k.a Global Fraud Blocklist) of known site IDs, IP addresses, and device IDs. The Blocklist is comprised of our curated list of bad actors added manually, programmatically (yes, an API is available), or flagged via the <a href=\"https:\/\/www.kochava.com\/fraud-console\/\">Fraud Console<\/a>. Like all of our real-time decisions, we\u2019re adding to the common Kochava object the results and decision flags around anything that passes or fails verification.\r\n\r\nFurther, once we\u2019ve made any decision, a series of elements are added to each transaction to denote exactly what action was taken on that traffic. Remember I said that building in this fashion allows us to properly interlock capabilities? As soon as we added this feature to the platform, our customers could write Kochava queries to alert them on any number of Traffic Verification states or indicators. What does this look like? Send me a text when a new site ID has a 50% increase in fraud detected in one hour. Or, send me a Slack if a tracker has over 10% of its traffic fail verification in 24 hours. That\u2019s the power of building on true row-level (and real-time) data.\r\n<h4>How much of my data is available to access?<\/h4>\r\nThe short answer? All of it. To make our data immediately available to customers or internal downstream services in new and developing ways, we\u2019ve created a common structure among our ingestion services. This allows all our customers to plug directly into our core processing engine as though they had internal access to our processing pipelines. It means that our ingestion service can accept a native Kochava object that represents a real-time transaction processing through our system. It takes transparency to an entirely new level.\r\n\r\nThis value is demonstrated as we introduce percent-weighted waterfalls for impression tracking of viewed videos. This configurable setting allows you to weight impressions, not just by the last impression but also across the waterfall based on the percentage of video completed. This inter-waterfall weighting model is new to Kochava but will be immediately available to any of our consuming services, and even our customers subscribing to our common object via our postback engine. What\u2019s beautiful about this is that because we also adhere to this common module within our attribution modules, we\u2019ve automatically leveled the landscape among SAN and Kochava network partners.\r\n\r\n{\r\n&#8220;attribution_influence&#8221;: &#8220;priority_imp_progress&#8221;,\r\n&#8220;video_progress&#8221;: 0.7\r\n}\r\n\r\nWe\u2019ve also innovated methods to present our customers with a familiar way to access their data in an ad-hoc fashion. One of our most recent forays into this arena resulted in the BI tool, Kochava Query. It\u2019s a full SQL engine that allows access directly into every single (yes, no joke) transaction we process on behalf of customers within seconds of being received. This means you can custom-query your clicks, impressions, sessions and purchases from this massive processing warehouse. Like anything else we build, this isn\u2019t a fragile service. Have billions of impressions per day? Select \u201cfrom impressions.\u201d Do it. I dare you!\r\n<h4>Is my data really row level? And, what is \u201clog level\u201d?<\/h4>\r\nRow-level data is key not only to a continuous conversion of transparency but also for any critical question that has to be answered or need that must to fulfilled at a moment&#8217;s notice. You\u2019ll never see an attribution decision or picture of the world presented in aggregate that isn\u2019t represented with row-level data underneath. We make no claim to have a visionary understanding of each customer&#8217;s goals, unique funnel characteristics or future needs based on data we\u2019re processing. This is why it\u2019s so important to maintain row-level data. You can pivot data for any question.\r\n\r\nAnd then there\u2019s log-level data.\r\n\r\nThis one makes me chuckle. I hear \u201cWe keep log-level data.\u201d The part you don\u2019t hear is, \u201cNo, you can\u2019t access it on your own, and yes, it will take us a while to retrieve\/parse\/present it to you.\u201d There\u2019s a big difference between log-level and row-level. Let\u2019s take a look at some log-level data (we keep both). This was pulled directly from one of our NGINX proxies.\r\n\r\n<img decoding=\"async\" src=\"\/wp-content\/uploads\/2017\/05\/dirtycode-screenshot.png\" alt=\"A block of garbled data feedback considered \" \/>\r\n\r\nNow, I could write a parser to look through that log-level data, join it back to an internal user ID, and set up an ETL pipeline to ensure this data is in a data warehouse or feeds an internal service. But, the offensive part? You can\u2019t analyze it. You can\u2019t ask it questions. How log-level data is stored and made available is key to proving its value. As noted above, we\u2019ve made row-level data directly actionable and attainable for our customers. Check out how much more useful structured, row-level data is.\r\n\r\n<img decoding=\"async\" src=\"\/wp-content\/uploads\/2017\/05\/cleanquery-screenshot.png\" alt=\"An organized list of data considered \" \/>\r\n\r\nA critical difference for marketers between actionable row-level and log-level data is install deduplication over large periods of time. We use key indicators (primarily device IDs but also custom persistent Kochava IDs) to prevent a device that may be unaware that it\u2019s already reported its install (e.g., reinstall or device restore) from reporting and creating another install profile. If this data is aggregated, we lose this ability to lookup over days, months, years, really for all time, which devices have installed and which identifiers were present on that first install to create a history of a device\/user transitioning among devices, restores, and reinstalls.\r\n\r\nTo simply understand if a device or user has installed an application doesn\u2019t, in all scenarios, require a full lookup of device history. But, populating caches like Redis or Memcache with billions of devices requires a historical store that is used to repopulate after an update or cache bust.\r\n\r\nIn the end, we at Kochava live and breathe data. We think in row level, we dream in real time. The ability to peer inside of a data feed, look past the noise, and ask that data questions is incredibly powerful, if the right tools are used.\r\n\r\n<a class=\"nectar-button n-sc-button medium extra-color-1 regular-button\"  href=\"\/kochava-difference\" data-color-override=\"false\" data-hover-color-override=\"false\" data-hover-text-color-override=\"#fff\"><span>See why we're the best<\/span><\/a>\r\n<h4>About the Author<\/h4>\r\n<img decoding=\"async\" src=\"\/wp-content\/uploads\/2016\/11\/eric-mann.jpg\" alt=\"Eric Mann, Director of Product Engineering\" width=\"138\" height=\"auto\" align=\"left\" \/>Eric Mann is the Director of Product Engineering at Kochava where he spends his days both hands-on with the codebase, as well as alongside fellow developers to architect, build, and sustain Kochava products and services. In addition to his role inside of Product\/Development, Eric enjoys working directly with clients on implementations of the Kochava platform.[\/vc_column_text][\/vc_column][\/vc_row]","protected":false},"excerpt":{"rendered":"<p>[vc_row type=&#8221;in_container&#8221; full_screen_row_position=&#8221;middle&#8221; scene_position=&#8221;center&#8221; text_color=&#8221;dark&#8221; text_align=&#8221;left&#8221; overlay_strength=&#8221;0.3&#8243; shape_divider_position=&#8221;bottom&#8221; bg_image_animation=&#8221;none&#8221;][vc_column column_padding=&#8221;no-extra-padding&#8221;&#8230;<\/p>\n","protected":false},"author":80,"featured_media":9501,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,27],"tags":[],"class_list":{"0":"post-9487","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-news-and-updates","8":"category-education"},"_links":{"self":[{"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/posts\/9487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/users\/80"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/comments?post=9487"}],"version-history":[{"count":8,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/posts\/9487\/revisions"}],"predecessor-version":[{"id":40639,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/posts\/9487\/revisions\/40639"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/media\/9501"}],"wp:attachment":[{"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/media?parent=9487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/categories?post=9487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kochava.com\/ko\/wp-json\/wp\/v2\/tags?post=9487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}