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();

Monday, 2 November 2020

UK’s Marshmallow raises $30M on a $310M valuation for more ‘inclusive’ car insurance

When it comes to using algorithms and other formulae to determine what kinds of services you might offer to specific customers and at what price, the insurance industry is one of the oldest in the book. But that legacy position masks the fact that some of its determinations might leave a lot to be desired, with customers who don’t fit typical profiles unable to get competitive rates.

Now, a UK startup called Marshmallow that’s aiming to take on those larger legacy insurance giants with a new approach to determining risk is announcing a $30 million round of funding. Starting first with car insurance, Marshmallow uses a wider set of analytics to target underserved segments of the market, and it plans to use the Series A funding to continue expanding its business with an emphasis on diversity and inclusion, with the plan being to launch in further countries, and more types of insurance, in the next 18 months.

We understand that the company is now valued at around $310 million with this round.

The company is not disclosing the names of people in this latest round, except to say that one is a prominent fintech backer and the other a large financial institution. PitchBook notes that Outrun Ventures and other unnamed investors are in this round. Previous backers were Passion Capital and Investec.

Marshmallow first came out of the wild in 2018 with a product targeted initially at expats. The logic was that UK insurers typically assess a driver’s UK record when determining premiums, but that means if you are an adult who has moved to the UK from abroad, your history (for better or worse) doesn’t come with you. Marshmallow’s solution was to build an assessment algorithm that incorporated global, not just national, data.

“Car insurance typically requires an insurer to understand a person’s driving ability, driving history and current lifestyle before they can offer them an accurate price,” Oliver Kent-Braham, the co-founder and CEO, said to TechCrunch at the time. “Unfortunately, a lot of insurers don’t attempt to understand foreign drivers living in the U.K., instead they just overcharge them. U.K.-based, foreign drivers can expect to be quoted prices that are 51 percent higher than the market average.”

Now it has widened that remit to those who cover a wider range of ages but don’t have consistent records in the UK.

“We still provide car insurance to expats, but we now also offer insurance to people between the age of 21-50 with a focus on providing a great price and experience for people who have a fragmented address and credit history, and less affluent people with lower credit scores,” he said to us today. “Both these customer groups get charged more by the traditional insurance industry.”

Kent-Braham may understand a thing or two about being outside of the norm. He co-founded the company with his twin brother Alexander, and both are black — a rarity in the world of tech in the western world. In the US, it is estimated that less than 1% of founders are black, and the figures for founders of color are equally appalling in Europe. (David Goate is the third co-founder.)

Indeed, Marshmallow’s rise — both as a story about its minority founders and its own focus on serving underserved segments of society — comes at a timely moment.

One big focus in tech year has very much been about how to build more diversity and inclusion into the industry. Spurred by a wave of social unrest resulting from several incidents where black individuals were killed by police in the US, that in turn raised more questions about how best to address the massive economic and social divides globally.

In the world of tech, it’s long been understood that having more diversity in the make-up of the companies involved is critical to addressing wider audiences and their needs better. In that context, it’s perhaps unsurprising that it’s taken an insurance startup led by two black men to identify and try to build products for a wider group of users.

“We have the tools to offer insurance to customers that traditional insurers struggle with,” said Alexander in a statement. Tim Holliday, a founding employee who is now the chairman, has been integral also to understanding what the company can use tech to tackle in terms of incumbency: he has a longstanding record as an executive in the industry.

Perhaps in part because of the Covid-19 pandemic and the huge amount of uncertainty we’ve seen around the global, Insuretech has seen a big focus in the last year.

In addition to the public listing of Lemonade (which now has a market cap of over $2.8 billion), Hippo had a big boost in its valuation, and we have seen the rise also of a number of companies rethinking the insurance model, both in terms of who is targeted, and how it is modelled. BIMA and Waterdrop respectively looking at microinsurance for emerging markets, and the idea of crowdfunding insurance services.



from TechCrunch https://ift.tt/3jTbdPQ
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support