Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Tuesday 16 July 2019

Near raises $100M for an AI that merges online and offline behavior to build consumer profiles

One of the holy grails in the world of advertising and marketing has been finding a way to accurately capture and understand what consumers are doing throughout the day, regardless of whether it’s a digital or offline activity. That goal has become even more elusive in recent years, with the surge of regulations around privacy and data protection that limit what kind of information can be collected and used. Now, a startup believes it’s cracked the code, and it’s raised a large round of funding that underscores its success so far and what it believes is untapped future demand.

Near, which has built an interactive, cloud-based AI platform called AllSpark that works across 44 countries to create anonymised, location-based profiles of users — 1.6 billion each month at present — based on a trove of information that it sources and then merges from phones, data partners, carriers and its customers, but which it claims was built “with privacy by design”, has raised $100 million.

The company believes that this Series C — from a single backer, Great Pacific Capital out of London — is one of the biggest rounds ever to be raised in this particular area of marketing technology. That’s not to say that others haven’t also been attracting investor attention (as one example, a direct competitor, Factual, raised $42 million last September).

Near is not disclosing its valuation, but founder and CEO Anil Mathews said in an interview that the company has been growing at a rate of 100% year-on-year and described it as “healthy” with its customer list including News Corp, MetLife, Mastercard and WeWork.

Near (not to be confused with the blockchain startup that raised $12 million last week; yes sometimes startups have the same name…) has to date raised $134 million, with other backers including Sequoia, JP Morgan, Cisco and Telstra (Canaan Partners had been an investor too but sold its stake in a secondary deal).

The problem that Near is tackling is not a new one. The wider swing that we’ve seen in consumer behavior to digital platforms and using connected devices has created an opportunity for (and demand from) companies to better track who is using their products and services, and also to proactively figure out who would be the best audiences to target for future business.

But there have been two catches to that pull: how best to capture activity when it’s not specifically digital (for example, going into a physical store), and how best to capture activity in a way that doesn’t encroach on customers’ privacy and right to be anonymous if they so choose — with the latter becoming more than just a principle in many jurisdictions, but fully-fledged rule of law.

Near’s approach is not entirely novel. Like many others that currently exist or preceded Near, the startup uses a collection of data points sourced from a variety of providers — in Near’s case, the list can include your mobile carrier, data providers that work with dozens or hundreds of apps to source activity, app providers directly, retailers and WiFi operators.

The similarities end there, however, said Mathews. He says Near has a (patented) technique based on machine learning algorithms and other inferential AI technology, which it uses to accurately merge all of these details together to create individual profiles, all without ever attaching a name or real identifiers of any kind to that profile.

“If you ask me, that’s actually the hardest problem we’ve solved,” he said. “There is no other company out there that works with all this data to unify it into individual identities.”

Using mobile device IDs, he said Near can “with a high degree of confidence” connect specific profiles with transactions. “But it’s the fact that we can perform the data fusion in a compliant way, marrying that data in a world where privacy and data safety matter,” that makes the company unique, Mathews added.

Rubicon Project, Factual and Blis are other providers that are building similar technology, he noted, but Near is the first to extend the offering far (so to speak): none others have the same global reach, making it a popular partner for multinationals researching for campaigns and product development.

Marketing research is one of the main features of AllSpark, the company’s flagship platform, where non-technical people can ask questions in natural language — example, show me how many women shop at Whole Foods in San Francisco — and you can get a data-based response, which you can then tweak with more tailored questions about the profile of a user, or use a dragging graphic tool on an interactive map to modify the geography, and so on.

Mathews notes that the “real” numbers that come up from such questions — in the case of the above query, it’s 71,904 women, by the way — are based on the figures of who is actually connected to the Near network. The ratios vary by city and country, but typically, he said that in the Bay Area, it’s capturing around 45% of any live audience (meaning, the actual number of female visitors is probably more like 150,000).

From there, you can save a query to return to it, or even use the Near platform to connect through to other services to craft and launch marketing campaigns. Notably, some features — such the ability for a client to upload or use cookie data into the platform to use it to build profiles — are not available in all markets, part of how Near keeps itself on the right side of company’s own data compliance policies as well as data protection rules in different markets.

Those kinds of integrations is likely one area that will start to get developed even more with this round of funding, to keep Near’s technology from being too siloed and removed from how marketers and researchers typically work.

Companies like Facebook, Google, and Amazon have made a huge business out of figuring out how to identify and target audiences and specific users with products and services, by way of advertising and more. I asked, and Mathews said, that he doesn’t see them as threats in this area simply because it would open a can of worms for them.

“They would get into a big privacy issue if they tried,” he said. “Companies like Google and Facebook have done [frankly] an amazing job at identifying audiences, but they are not designed for privacy. We started with privacy by design.”

Indeed, it was Near’s position as one of the “outliers” by emphasizing data protection and anonymity that Mathews said helped it get over the line with investors. “It’s a very tough funding environment for the industry we’re in, but we found interest because of our approach to privacy. That really helped us.”

Ketan Patel, CEO, GPC, echoed that sentiment. “Near provides insights into human behavior by analyzing where people are, and combining that with a multitude of data points to predict and influence behaviour,” he said in a statement. “Given it does this across the globe in a privacy protected manner, it is well-positioned to create an exciting new space that delivers value to both people, and those that wish to build relationships with them.”



from TechCrunch https://ift.tt/2jYJmVH
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support