Sei sulla pagina 1di 19

Introduction

Uber Technologies Inc., from here on out to be abbreviated to simply Uber, is a global digital
car dispatch company headquartered in San Francisco, California. Uber is constantly developing
its global market presence and as of May 28, 2015, the service was available in 58 countries and
300 cities worldwide1. The company operates the Uber mobile app, which allows consumers
with smartphones to submit a trip request (A to B) which is then routed to Uber drivers in the
near vicinity who typically use their own cars2 to pick and up drop off clients in the destinations
of their choice. In the United States of America, Uber operates under the Transportation
Network Company label.

Uber was founded as "UberCab" by Travis Kalanick and Garrett Camp in 2009 and the app was
released the following June. Beginning in 2012, Uber expanded internationally and in 2014, it
experimented with carpooling features and made other updates. Klout ranked the San Francisco
based company as the 48thmost powerful company in America in 2014. By late2015, Uber was
estimated to be worth $62.5 billion.3

Uber was first launched in San Francisco, a city notorious for its highly regulated taxi industry
with steep prices and insufficient services. The idea, however, originated in Paris at the LeWeb
conference a popular international event for Internet startups. There, Kalanick met Garrett
Camp, then owner of StumbleUpon, and discussed the possibility of a reliable and quickly
accessible black car service. During an evening of dining and drinking in Paris, the two
gentleman half-jokingly discussed ideas for a limousine to transport them safely to their hotel
rooms. While limousines required prebooking in advance, Uber would grow rapidly in use and
popularity because its smartphone application allowed users to access clean and stylish vehicles
at any moment and location. This early exchange between the founders would coin the original
Uber slogan: Everyones Private Driver.

Ubers growth over the past five years is an example of a major success in the greater shared
economy. Largely a technology enabled movement, where the general business model enables
companies to help consumers find ways to rent rather than own an expensive assetthe sharing
economy feeds on the preferences for experience over ownership. Online service
companies utilize big data and given algorithms to allow people to share expensive goods such
as cars, rooms, and other household appliances. While sharing among friends, family, and
community is nothing new, technology companies have formalized the practice to make it a
scalable and profitable business model.

With over 6500 employees and growing, Uber is a technology company that offers a free
software platform available on mobile devices for those wishing to request a ride. At its core,
Uber seeks to match passengers to drivers. The platform is able to track a users GPS
coordinates, even if the user does not know where he or she is, and within minutes, an Uber
driver will arrive. The user is able to track the arrival of the ride, and receives a text message
confirming when the Uber driver has reached the pickup point. From the drivers end, he is able
to hit a button on his own app that says Arriving Now which sends a text message. The driver
is never given the users phone number directly, but each is able to contact the other through a
number scrambling software which allows for privacy. UberX typically costs less than a normal
taxi in most markets. However, in times of high demand, like New Years Eve and snowstorms,
surge pricing kicks in, and rates become anywhere from 1.5 9 times as high.
Financials of the company

Uber was bootstrapped by its founders and they invested $200,000 in seed money upon
conception in 2009. In 2010, Uber raised $1.25 million in additional funding. By the end of
2011, Uber had raised $44.5 million in funding. In 2013, Google Ventures invested $258 million
in the company based on a $3.4 billion pre-money valuation. In December 2014, Chinese search
engine Baidu made an investment in Uber of an undisclosed amount. The deal also involved
connecting Uber with Baidu's mapping apps. In January 2015, Uber raised $1.6 billion in
convertible debt. In May 2015, Uber revealed plans to raise between $1.5 billion and $2 billion
in new funding, raising the value of the company to $50 billion or higher. In September 2015,
Uber raised another $1.2 billion, led by another investment by Baidu. In 2016, Toyota made an
undisclosed investment in Uber and looked into leasing options, which could potentially aid
Uber drivers financially, a move in response to the other partnerships between Toyota's and
Uber's counterparts. In June 2016, with plans to expand in the Middle East, Uber received $3.5
billion from the Public Investment Fund of Saudi Arabia. In July 2016, Uber raised $1.15 billion
in debt financing. In total, the startup has attracted $18 billion in equity and debt. Today it
carries a valuation of close to $70 billion, making it by far the largest of the startup unicorns
worth over $1 billion. No other technology firm in the history has raised more money from
private investor before going public. Its deep-pocketed backers include Saudi Arabias sovereign-
wealth fund, mutual funds, Silicon Valley venture capitalists and a crowd of other firms.

Uber operates in more than 425 cities in 72 countries and has around 30m monthly users. In 2016
it will probably have around $4 billion in net revenues, more than double the previous years.
Although, Bloomberg reports Uber lost $1.27 billion in the first half of this year, which is
unprecedented, even for a tech company. More than half of those losses, or around $750 million,
accrued in the second quarter of this year. A large part of the losses, $72 million was due to
promotions and price cuts. Some of these spending came to an end, when Uber agreed to sell its
subsidiary company, Uber China, to Didi. Didi also agreed to invest $1 billion into Uber Global.
The deal curtails Ubers biggest cash drain over the coming quarter. Uber acquired self-driving
car company Otto for $300 million, showing its eagerness to advance its driverless car
technology.

Industry analysis

Aggregator Business Model is a network where firms collect the information about a particular
good/service provider, make the providers their partners, and sell their services under its own
brand. Since aggregator is a brand, they have to provide services which has a uniform quality and
price. This is done through signing up a contract with the partners.
The two revenue model followed in aggregator business are:

Aggregators provide the service provider with customers and in return charge some
commission. (Uber Business Model), or
The aggregators negotiate the minimum price at which the service provider will work and
then gives the final price to the customers (Oyo Business Model)

Important ways in which aggregators tries to increase their profit margins are:

Broadening footprint
Cashless payment
Improving User experience
Products
Pricing

Most aggregators run on very asset-light models. This means someone else owns the
infrastructure, the people, the maintenance, the depreciation, the compliance and the domain
expertise - these companies come in a hoist an app on top it and call all of it their own.

Ubers growth over the past five years is an example of a major success in the greater
aggregator business. Largely a technology enabled movement, where the general business
model enables companies to help consumers find ways to rent rather than own an expensive asset
the sharing economy feeds on the preferences for experience over ownership. Online
service companies utilize big data and given algorithms to allow people to share expensive goods
such as cars, rooms, and other household appliances. While sharing among friends, family, and
community is nothing new, technology companies have formalized the practice to make it a
scalable and profitable business model.
> Surge Pricing
> Operational cost is quite low Weakness
> Dual rating system > Privacy concerns
> Very little competition > Controversies
> Easily imitable

Swo
> Deep pocket investors
Strength > Unpredictable business model

Threat
> Low-profit margins
t > Package Delivery, Food Delivery
> Automated Cars

> Strict rules and regulations


> Cheaper electric cars can be used

> Local service provders


> Growing Urban population

> Fraud and scandals


Opportunities

Pioneering Tech

Uber is mainly known for its proprietary surge pricing algorithm but the company on the line of
apple has patented almost everything of its app form the design, user interface and the icons. It
appears that its main strategy in protecting its intellectual property is through the use of utility
patent protection. The utility patents that Uber currently owns are mainly directed to business
methods, Uber runs the risk that it will lose its protections if faced with a law suit, even after it
has disclosed its methods to the public through the patents. Uber acquired deCarta, LLC, which
had built a mapping platform that offers search, near-me-now discovery, turn-by-turn
directions and location APIs.

It is currently listed as the assignee 14 patents, and 53 pending patent applications, 26


applications have yet to be examined. Of the remaining 27 patent applications, Uber has received
10 final rejections. Uber currently has filed at least 6 Requests for Continuing Applications and is
involved in at least 4 Appeals. In at least 3 patent applications, Uber has filed multiple RCEs and
Appeals, in order to defend its intellectual property.

Some of the patents held by Uber are:

Augmenting transport services using driver profiling: Uber collects the data of its
driver not only from the customers, but also has many sensor devices installed in the car
which gives information regarding the driving style of the driver, after the driver has
completed few trips enough training is available to learn the driving pattern of the driver.
The collected data helps in providing customer with the preferred driving style driver.

System and method for dynamically adjusting prices for services: The method for
dynamically adjusting prices for services provided. Processors determines the amount of
requesters for a service at a given time and an amount of available service providers for
providing the service. A price, relative to the base price, for using the service is adjusted
based on the determined amount of requesters and the determined amount of available
service providers. The adjusted price is transmitted to one or more requesting devices and
be indicative of an adjustment in price as compared to the default price.

Enabling a user to verify a price change for an on-demand service: The method
enables users to verify the price change for an on-demand service. One or more
processors determines a real-time price for providing the on-demand service to the user.
Then determine when the real-time price is equal to or exceeds a given threshold price. In
response the higher price is shown to the user and user is asked to input the increased
price manually to accept it.
Transitioning user interface features for on-demand services through use of portable
computing devices: The method of operating a digital device for on-demand service. The
user interface of the application running on device is displayed. The user interface will
have different panels in fixed locations. The device will receive input from the user and
will display some new information in the panels which was not displayed before taking
the user input.
Fraud Detection

One of the major problems bugging the technology based businesses are the fraud detection.
Greater the dependency of the business on technology also makes it more vulnerable to frauds
and malware attacks. So it becomes important to have an efficient and robust fraud detection
system at place which can prevent such activities.
Fraud detection has become the one of the most important area of research and development in
Uber just after the automation project. As the platform is growing day by day, the threat of frauds
has also increased exponentially, and it becomes very difficult to catch these frauds manually so
the company is in dire need of a fraud prevention system. One of the main problem is that the
opportunity cost of detecting the wrong person is very high, as it leads to loss of business. So
they are working on developing neural networks which can learn quickly and has very low miss
rates, and moreover can predict for any future threats. The frauds are mainly of two types:
Driver fraud
Riders fraud

Riders Fraud: The most common fraudulent activity on Uber is when riders create multiple
accounts to get free rides and use the referral mechanism to earn free Uber cash. For example,
when Uber was first launched in Chandigarh people started making different fake accounts on
the app to get the benefit of the referral mechanism, at that time Rs500 worth of Uber cash was
credited on a successful referral and one mobile sim was available for Rs20 so people bought
sims in large numbers and created bogus accounts to earn the Uber cash. Later when this activity
came under the radar, company started flagging the mobiles operating multiple accounts from the
same phone, but till then the damage was already done.

Drivers fraud: These frauds are most difficult to detect, in this the driver asks his friends and
relatives to book multiple short rides in order to earn the per ride incentive. In some cases, the
driver purposely rejects the ride in order to increase he surcharge pricing. Till date Uber have no
automatic system to detect these frauds and they are generally caught mechanically.

Ubers success relies on machine learning, data science, and large-scale distributed systems to
innovate in these technical domains, and it is this next generation of development that will build
our success. Experienced systems engineers will transform our existing infrastructure into highly
scalable, online machine learning platforms that can deal with ever-increasing transactional
demands in real-time. Data scientists and machine learning experts will build complex models to
detect patterns with live and real-time data. Data engineers will build online analytics platforms
and pipelines to process our rapidly quadrupling data. Solutions specialists will find the best
methodology for diffusing a real-life threat, and UX experts will design and build applications
and tools to standardize the anti-fraud process in global operations.
MasterMind:

It is a rules engine that can detect highly evolved forms of fraud in a fraction of a second. Uber
doesnt want to interrupt the seamless experience for riders and driver partners, the algorithm
should deduce a riders ability to payand detect any fraudin a fraction of a second. The fraud
prevention scope covers payment fraud, account takeover, driver-partner/rider collusion, and
promotion abuse.
Reasons for choosing rule engine over machine learning engine:

Fraudsters act faster than we can train a machine learning model.

There are cases where heuristics are more accurate than training data.

Build models for the important and complicated events, like trip requests, and use rules
for everything else.

Incredibly easy for analysts to use

Analysts can write, test, and deploy a rule within minutes. Given a problem, a set of user
features, and a business model, they can write a rule and test by running the rule
in Evaluate mode. A status of Evaluate means that the rule is being run but wont actually affect
the user, just logging data to analyze later. Once it is successfully tested the status of Active can
be given and making it live.
Problems:

Most rules are effective only for several weeks then fraudsters adapt, and rules end up with more
false positives. Need to automatically evaluate the effectiveness of rules over time. If the
confidence is not high enough send cases for manual review.

Integrating the processes:

Uber uses MySQL for database management but dont have any GUI for its employee, so they
download the data in spreadsheets to work on it and multiple spreadsheets are there and they
have to toggle from on sheet to another to look for the data. Integrating the MySQL with
spreadsheets will help in better analyzing the data.

GIS : A geographic information system (or GIS) is a system designed to capture, store,
manipulate, analyze, manage, and present spatial or geographic data.
The two GIS used at Uber are:

Mapping: It is used for finding the best routes for travelling. It is also used to generate
the heat mat of the riders and drivers this information is then fed into DSS system so that
there is no uneven demand at different places.
Location: It is used to find the location of the rider and the drivers in the vicinity of the
rider so that the rider could be connected to the driver that will have minimum arrival
time.

TPS: A transaction processing system (TPS) or transaction server is a software system, or


software/hardware combination, that supports transaction processing.

Personal account: Phishing is one of the difficult challenges for any enterprise. Well
executed phishing attacks can trick people into making costly mistakes. Thus the email id
verification during the creation of personal account is very important, and Uber has developed its
own email intrusion detection system.

Reasons for developing its own system:


Fast and Reliable: Solving for speed and performance is a constant priority at Uber.
Many commercial IDS solutions offer comparable analysis capabilities, but theyre often
black boxes, so they provide little debugging insight into the operations.

Future-Proof: An important expectation for solutions to build in-house is the ability to


scale and adapt as the company grows and threats evolve.

Cost Effective: Building their own solution reduced their annual costs to a fraction of the
price of a commercial solution. With a cloud based storage service such as AWS, it can
closely monitor costs and make immediate adjustments based on our needs.

Extensibility and Beyond: With an extensible platform, it can continuously explore and
add new capabilities as micro services are developed on the team, such as analysis for
natural language processing, analysis of DOM components, or even a URL analysis
engine.

Business statement: Travelers getting them from point A to point B need expense reporting,
integration with travel management systems, centralized payment methods, and the ability to
give the right sets of people the right options to get around. The ride receipts forwarded to riders
email, and also to the Uber app from where the rider can also view his previous rides.
Verifying a Ride: Customers uses the centralized platform, which have ride policies, ride is
accepted only when the policy applies. From the customers perspective, they need a simple but
powerful system that let them evaluate these rules in real time as they dont want the rider to
wait. This means that the upper bound for acceptable performance, even including outliers, is
somewhere in the region of tens of milliseconds. To ensure that the system performed well
enough to insert into the request flow, the logic that executes when a rider requests a car.
KMS: Knowledge management systems refer to any kind of IT system that stores and
retrieves knowledge, improves collaboration, locates knowledge sources, mines repositories for
hidden knowledge, captures and uses knowledge, or in some other way enhances the KM
process.

Uber has developed M3 in Go to collect and store metrics from every part of Uber
Engineering (every server, host service, and piece of code).After they collect the data,
they build dashboards and graphs by modifying Grafana to more expressively
contextualize information. Every engineer watching a dashboard tends to care about data
in a particular location or region, around a set of experiments, or related to a certain
product. They have added data slicing and dicing to Grafana.

Uber Tech Stack


Bottom: Platform

Infrastructure and Storage

Ubers business runs on a hybrid cloud model, using a mix of cloud providers and multiple active
data centers. If one data center fails, trips (and all the services associated with trips) fail over to
another one. They assign cities to the geographically closest data center, but every city is backed
up on a different data center in another location. This means that all of their data centers are
running trips at all times they have no notion of a backup data center. To provision this
infrastructure, we use a mix of internal tools and Terraform.

They currently use Schemaless (built in-house on top of MySQL), Riak,


and Cassandra. Schemaless is for long-term data storage Riak and Cassandra meet high-
availability, low-latency demands. They have mover from Postgress to MySQL discussed further
under the same topic.

Logging

Uber services interact with each other and mobile devices, and those interactions are valuable for
internal uses like debugging as well as business cases like dynamic pricing. For logging, they use
multiple Kafka clusters, and the data is archived into Hadoop and/or a file storage web service
before it expires from Kafka.

App Provisioning

Using Docker containers on Mesos to run their microservices with consistent configurations
scalably, with help from Aurora for long-running services and cron jobs.

Routing and Service Discovery

Service-oriented architecture (SOA) makes service discovery and routing crucial to Ubers
success. Services must be able to communicate with each other in their complex network. They
use a combination of HAProxy and Hyperbahn to solve this problem. Hyperbahn is part of a
collection of open source software developed at Uber: Ringpop, TChannel, and Hyperbahn all
share a common mission to add automation, intelligence, and performance to a network of
services.

Development and Deploy

Uber Engineering strives to make development simulate production as closely as possible, so


they develop mostly on virtual machines running on a cloud provider or a developers laptop.
They have their own internal deployment system to manage builds. Jenkins does continuous
integration. They have combined Packer, Vagrant, Boto, and Unison to create tools for building,
managing, and developing on virtual machines. They use Clusto for inventory management in
development. Puppet manages system configuration.

Languages

At the lower levels, Ubers engineers primarily write in Python, Node.js, Go, and Java. They
started with two main languages: Node.js for the Marketplace team, and Python for everyone
else. These first languages still power most services running at Uber today.They have also
adopted Go and Java for high performance reasons

Testing

Two internal tools: Hailstorm and uDestroy. Hailstorm drives integration tests and simulates peak
load during off-peak times, while uDestroy intentionally breaks things so they can get better at
handling unexpected failures.

Reliability

Nagios alerting for monitoring, tied to an alerting system for notifications.

Anomaly Detection

Argos, their in-house anomaly detection tool, examines incoming metrics and compares them to
predictive models based on historical data to determine whether current data is within the
expected bounds.

Acting on Metrics

Ubers Monitor tool enables engineers to view this information and thresholding (either static
or Argoss smart thresholding) and take action on it. If a stream of data goes out of boundssay
trips drop below a certain threshold in some citythis information gets passed to the Common
Action Gateway.
Middle: Marketplace

Marketplace, the frontmost end of the Uber engine, funnels the real-world, real-time requests and
locations into the engineering chutes and ladders of Uber. The persistence layer, matching
system, and real-time transaction pieces live here. It also houses much of the logic for products
like UberRUSH and UberEATS. Marketplace has the highest availability requirements at Uber.

The Edge

The frontline API for the mobile apps consists of over 600 stateless endpoints that join together
multiple services. It routes incoming requests from our mobile clients to other APIs or services.
Its all written in Node.js. This part of Marketplace integrates with a number of internal
infrastructure initiatives.

Highly Available, Self-Healing, Persistent

Ringpop, a library for building cooperative distributed systems, solved some of Marketplaces
problems before its adoption in other teams at Uber and beyond. It gives the high-availability,
partition-tolerant properties of distributed databases like DynamoDB or Riak to developers at the
application level.

Speed and Throughput

Cassandra and Go are primarily used the main reason being speed. Cassandra scales well out of
the box, and Go compiles extremely fast.

Optimizing and Balancing

Marketplace teams control optimization and balance through dynamic pricing, supply
positioning, intelligent matching, and health. The stack is rewritten in Go for higher
performance. Blocks on network calls and I/O slowed our services in weird ways, requiring more
capacity and services provisioned to get the same request throughput.

Seeing and Using Data

Uber uses JavaScript for web front-end applications. React+Flux, D3, and Mapbox are the
libraries and frameworks behind this group.

Top: Web and Mobile


Web and mobile engineers share many elements with the lower parts of the stack, but many
technologies are unique to the top.

Web

Create and promote modular, separately-deployed web apps with shared user interfaces and a
unified user experience.

Languages

Node.js is used so that sharing JavaScript code between client and server to create universal
(isomorphic) web applications.

Web Server

Bedrock, is built on top of the widely popular web framework Express.js, which has a set of
default middleware to provide security, internationalization, and other Uber-specific pieces that
handle infrastructure integration.

Android

On the Android side, Gradle is our build system. They use OkHttp, Retrofit, and Gson for
networking. Dagger is their dependency injection framework.

The Espresso extension enables us to write a lot of native automation code using familiar
Android SDKs within the IDE (we use Android Studio). Regarding architecture, we use RxJava
to simplify how we do asynchronous and event-based programming. For logging, we
use Timber.

iOS

iOS code lives in a monorepo that we build with Buck. Masonry and SnapKit with Auto Layout
help with component placement and sizing. For crash detection, they use KSCrash and report the
crashes using their internal reporting framework.

Potrebbero piacerti anche