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, 28 April 2021

The SPAC boom isn’t just here to stay, it’s changing consumer tech

Consumer technology is an inherently risky investment sector: even the best idea can fall flat if the story of the product is not sold properly to the end user. The stats can only take you so far, and, eventually, customers want to believe in the product.

Traditionally, companies that have successfully told their story and become market leaders have taken the initial public offering route — pitching their story to institutional investors on banker-led roadshows rather than to the people that buy their products.

But the last 18 months have seen a new door open for companies seeking to skip the bankers, partner with good managers, and gain a more direct route to public capital: merging with a Special Purpose Acquisition Company, or SPAC.

For the right consumer technology companies — for which the story is often just as, if not more, important than the financial figures — a SPAC deal offers a more direct access to public capital. Instead of walking institutional investors through the P&L, these companies can spend more time telling investors, including the retail investors using the products, what the company can be long-term.

There is no denying the growing popularity of this avenue to public exchanges: more than 200 companies went public via a SPAC deal in 2020. But as with any asset that grows hot, there will be parties out there expecting it to blow up.

Lessons have been learned and we probably have more coming, but those who treat SPACs as a sign of the end-days of economic recovery are wrong. These vehicles offer a legitimate route to the public markets while stripping out traditional gatekeepers and allowing individual investors to decide if they want to buy — or sell — a company’s story.

The SPAC bubble claim

First, it is important to address the naysayers’ concerns. Given the meteoric rise in SPAC activity, analysts speculate that the trend is overblown; they argue that companies are listing too early and that money losers are getting access to public capital before they deserve it.

But when is it “too early” to enter the public market? DraftKings, one of the most successful SPAC stories of 2020, went public about eight years after it was founded, and Facebook was private for a similar length of time before its IPO. Meanwhile, Apple, the most profitable company in the world, listed less than four years after its founding. Tenure may be a factor in investors’ minds, but lack thereof has never stopped a company from listing on the public markets.

Profitability has also rarely been a requirement for an IPO. Uber, Tesla, and Amazon are all prime examples of unprofitable businesses that listed while reporting losses.

In all these examples, clear, coherent visions, strong leadership teams, and patience from investors to see leaders execute on their vision overcame the traditional financial barometers of success.

The market knows how to value a story

The public markets are obsessed with quarterly results. A company can miss analysts’ expectations for earnings per share by just a cent and its stock will be sent tumbling. However, not all companies are assessed this way: Many companies are valued on their vision for the future and their progress towards their goals. SPACs are an effective way to invest in a strong team or vision even when there’s not enough financial data to back a traditional investment.

Biotech firms are an excellent and timely example of the way investors are looking at the market, especially post-pandemic. Biotechs usually describe a treatment they are developing and the patients it could help; they provide estimates of the addressable market, the price they could charge, and the timeline they could expect to get through clinical trials. However, an early-phase biotech could be years away from selling any drugs, let alone turning a profit. The FDA estimates the time to complete Phase II and Phase III trials, the final phases before applying for approval, can total up to six years.

Yet, investors pour money into these companies. Analysts estimate the likelihood of a drug advancing in its trials after detailed scrutiny, but these companies can see their stocks rise for years while losing money. The markets will expect high returns for taking these risks, but they can arrive at a price nonetheless.

The storytellers of consumer tech

The SPAC route is a match made in heaven for consumer tech companies: SPACs put more of a focus on the management team and the vision than traditional IPOs, which is a boon for the sector, as this industry has always been dominated by visionaries.

Looking ahead, the savviest investors in SPACs will be paying close attention to direct-to-consumer technology, but not in the traditional, limited sense of D2C.

Consumers are looking for goods and services that they can access more quickly and reliably than ever before. Conveniently, the companies that tend to succeed in ramping up these options through technology are natural storytellers that know how to bring their product directly to the end-user. Inevitably, these firms are going to be on the radar of SPAC investors.

For example, fintech, in many ways, has become direct-to-consumer because it offers customers banking features directly on their phones. In just the last year, innovation in telemedicine has brought most health appointments from the waiting room to the living room, and forced outdated healthcare administration practices to embrace digital systems.

Products you could only buy at physical stores, like mattresses, can now be delivered straight to your door with companies like Casper and Purple. Certain auto companies will allow you to even design and buy a car as easily as ordering a pizza.

The COVID-19 pandemic has only accelerated this trend by exposing the need for faster, tech-driven access to services, and our “return to normal” means this trend is only going upwards. SPACs will be around to bring these ideas to market faster and provide the capital these companies need to meet the demand.

The road ahead

Despite the speculation, naysaying and “bubble” talk, SPACs have been around for decades and aren’t going to disappear in a flash. Indeed, the pace of SPAC deals might cool down and carry a higher risk premium as the trend continues, but just like the changes in consumer technology, SPACs themselves will evolve to best serve their consumers.

In many ways, the SPAC model is very similar to the way consumer technology has developed: It encourages disruption of established constructs. What’s more, investors in pre-acquisition SPACs get access to venture-like opportunities without the capital traditionally required for such investments.

In the end, a company’s success will depend on it meeting or exceeding targets, or if something pulls demand forward. The rules have not changed, and neither has the risk or the reward.



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

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support