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

Wednesday, 31 October 2018

Monzo, the U.K. challenger bank, raises £85M Series E at a £1B pre-money valuation

Monzo, the U.K. challenger bank that now boasts more than a million customers, has raised £85 million in Series E funding. The round is led by U.S. venture capital firm General Catalyst, and Accel. Existing backers Passion Capital, Goodwater, Thrive Capital, Orange Digital Ventures, and Stripe also participated.

The latest funding was at a pre-money valuation of £1 billion (~$1.27b), meaning that Monzo is now a bonafide member of the U.K. fintech unicorn club, joining recent entrant Revolut.

Meanwhile, the bank upstart is also planning to launch a large crowdfunding round later this year. Like a lot of other fintechs — and before it was fashionable — Monzo has historically opened up its fundraising to its passionate community and other armchair investors.

In a brief call earlier today with Monzo co-founder and CEO Tom Blomfield, he told me the new funding will be primarily used for increasing headcount to further develop the Monzo product line and to cover other operational costs now that the challenger bank has reached “contribution margin positive”.

In other words, on average each customer is generating more revenue than the cost of servicing their current account, which is undoubtedly evidence of how much progress Monzo has made over the last year. This includes bringing down costs, such as weaning customers off costly debit card “top ups” and imposing a cap on fee-free foreign ATM withdrawals — as well as starting to generate meaningful revenue.

On where that revenue is now coming from, Blomfield cited lending in the form of Monzo’s overdraft product, interest it earns on deposits (currently Monzo doesn’t share that interest with customers, even if it is very small in percentage terms), and interchange fees (the money Monzo makes any time you spend on your Monzo debit card).

Another revenue stream is the nascent Monzo marketplace, which he says will be the next focus going forward now that the Monzo current account, with the omission of savings accounts and cash deposits, is basically “done“.

That’s noteworthy given that Monzo embraced developers extremely early on in its existence, holding four very popular hackathons and conducting a few early partnership pilots, but has since mostly stalled on the roll out of marketplace banking and other partnership integrations, sometimes to the frustration of the wider U.K. fintech ecosystem and developers. The exception being the recent integration with TransferWise for sending money abroad.

Blomfield doesn’t dispute this framing but says it wasn’t that Monzo changed course on offering an open API or working on deeper integrations that will put partner products inside of the Monzo banking app, but that gaining a banking license and building out all of the features of the current account had to be the short-term priority. Now that heavy lifting is complete and armed with new operational capital, it is marketplace game on.

To that end, the Monzo CEO says headcount over the next year could double again, from around 450 now to 900. And in terms of customer growth, extrapolating stats from a recent Nationwide annual report (PDF link), the challenger bank says it now accounts for 15 percent of all new bank accounts opened each month in the U.K. It also says it has 800,000 monthly active users.

Account switching — that is customers ditching their existing bank — still makes up the bulk of customer acquisition, even if Monzo recently began targeting 16-18 year olds who would be opening their first ever bank account. Another key metric: the number of customers who deposit their salary each month with Monzo is now at around 26 percent, although I’m told that this isn’t as important for Monzo as it might be for traditional banks and isn’t the main correlation with engagement or those accessing a Monzo overdraft.

Asked what Monzo’s biggest challenge will be over the next year, its CEO doesn’t mince his words: “Increasing revenue,” he says. This means ensuring that its lending models are correct (ie avoiding too many defaults as it scales) and steadfastly growing the marketplace and third-party product partnerships that will bring in additional revenue.

I was also intrigued to see a U.S. venture capital firm once again back the U.K. challenger bank — many of its existing backers have a U.S. bent and Blomfield has made no secret of his ambitions to expand across the pond at some stage. In an email exchange a few hours before publication, General Catalyst’s Adam Valkin (who was previously at Accel in London where he invested in GoCardless, which Blomfield also co-founded), gave me the following statement:

We’re investing in Tom and his team because they are delivering a high-quality banking experience for consumers at scale that is sorely missing from the market. Today’s incumbent UK banks represent billions of market cap but suffer from low NPS scores, reflecting their inability to meet their customers’ needs. Monzo, in contrast, explicitly builds product and banking features in a community-driven approach based on customers’ feedback and requests. This has driven very high organic growth, strong retention and engagement, and unprecedented customer love for and trust in Monzo. Beyond this, Tom and the Monzo team have improved upon the traditional business model of banking, removing the traditional offline retail-based banking model in favor of a highly scalable and lower cost mobile-only experience. All of this creates the potential for Monzo to become a leading U.K. bank, launch a successful financial marketplace, and eventually expand internationally.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support