In business, a unicorn is a startup company valued at over US$1 billion which is privately owned and not listed on a share market. This dataset consists of unicorn companies and startups across the globe as of November 2021, including country of origin, sector, select investors, and valuation of each unicorn.

Scenario

You have been hired as a data analyst for a global venture capital firm that specializes in investing in high-potential start-ups. Your manager is interested in understanding the current landscape of unicorn companies to identify emerging trends and investment opportunities.

Using the unicorn dataset provided, your task is to analyze various factors such as the geographical distribution of unicorns, industry sectors with the highest valuations, funding patterns, and key investors. Your goal is to provide insights that can guide the firm’s investment strategy, highlighting regions and industries with the most growth potential and identifying key investors who frequently back successful unicorns. This analysis will help the firm make data-driven decisions on where to allocate their resources for maximum return on investment.

Purpose of the Project

To provide valuable insights into the dynamic landscape of unicorn companies for a global venture capital firm. The goal is to identify emerging trends, investment opportunities, and key factors contributing to the success of these companies. By analyzing the geography, industry, funding patterns, and key investors, the aim is to guide the firm’s investment strategy and optimize resource allocation for maximum returns. The insights will be presented through an interactive dashboard, showcasing the distribution and characteristics of unicorn companies worldwide.

Data Cleaning & Preperation

library(knitr)
library(kableExtra)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter()     masks stats::filter()
## ✖ dplyr::group_rows() masks kableExtra::group_rows()
## ✖ dplyr::lag()        masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(lubridate)
library(skimr)
library(janitor)
## 
## Attaching package: 'janitor'
## 
## The following objects are masked from 'package:stats':
## 
##     chisq.test, fisher.test
library(ggplot2)
companies_df <- read.csv("~/Documents/projects/unicorn/Unicorn_Companies.csv")
str(companies_df)
## 'data.frame':    1074 obs. of  18 variables:
##  $ Company         : chr  "Bytedance" "SpaceX" "SHEIN" "Stripe" ...
##  $ Valuation...B.  : int  180 100 100 95 46 40 40 39 38 38 ...
##  $ Date.Joined     : chr  "4/7/17" "12/1/12" "7/3/18" "1/23/14" ...
##  $ Year.Joined     : int  2017 2012 2018 2014 2011 2018 2019 2014 2017 2019 ...
##  $ Month.Joined    : int  4 12 7 1 12 1 5 12 12 2 ...
##  $ Day.Joined      : int  7 1 3 23 12 8 2 30 20 5 ...
##  $ Industry        : chr  "Artificial intelligence" "Other" "E-commerce & direct-to-consumer" "Fintech" ...
##  $ City            : chr  "Beijing" "Hawthorne" "Shenzhen" "San Francisco" ...
##  $ Country         : chr  "China" "United States" "China" "United States" ...
##  $ Continent       : chr  "Asia" "North America" "Asia" "North America" ...
##  $ Years.to.Unicorn: int  5 10 10 4 6 6 7 2 2 6 ...
##  $ Year.Founded    : int  2012 2002 2008 2010 2005 2012 2012 2012 2015 2013 ...
##  $ Funding...B.    : num  8 7 2 2 4 0.572 2 3 14 3 ...
##  $ Investor.1      : chr  "Sequoia Capital China" "Founders Fund" "Tiger Global Management" "Khosla Ventures" ...
##  $ Investor.2      : chr  " SIG Asia Investments" " Draper Fisher Jurvetson" " Sequoia Capital China" " LowercaseCapital" ...
##  $ Investor.3      : chr  " Sina Weibo" " Rothenberg Ventures" " Shunwei Capital Partners" " capitalG" ...
##  $ Investor.4      : chr  " Softbank Group" "" "" "" ...
##  $ Investors       : chr  "Sequoia Capital China, SIG Asia Investments, Sina Weibo, Softbank Group" "Founders Fund, Draper Fisher Jurvetson, Rothenberg Ventures" "Tiger Global Management, Sequoia Capital China, Shunwei Capital Partners" "Khosla Ventures, LowercaseCapital, capitalG" ...
summary(companies_df)
##    Company          Valuation...B.    Date.Joined         Year.Joined  
##  Length:1074        Min.   :  1.000   Length:1074        Min.   :2007  
##  Class :character   1st Qu.:  1.000   Class :character   1st Qu.:2019  
##  Mode  :character   Median :  2.000   Mode  :character   Median :2021  
##                     Mean   :  3.455                      Mean   :2020  
##                     3rd Qu.:  3.000                      3rd Qu.:2021  
##                     Max.   :180.000                      Max.   :2022  
##   Month.Joined     Day.Joined      Industry             City          
##  Min.   : 1.00   Min.   : 1.00   Length:1074        Length:1074       
##  1st Qu.: 3.00   1st Qu.: 9.00   Class :character   Class :character  
##  Median : 6.00   Median :16.00   Mode  :character   Mode  :character  
##  Mean   : 6.35   Mean   :15.82                                        
##  3rd Qu.: 9.00   3rd Qu.:23.00                                        
##  Max.   :12.00   Max.   :31.00                                        
##    Country           Continent         Years.to.Unicorn  Year.Founded 
##  Length:1074        Length:1074        Min.   :-4.000   Min.   :1919  
##  Class :character   Class :character   1st Qu.: 4.000   1st Qu.:2011  
##  Mode  :character   Mode  :character   Median : 6.000   Median :2014  
##                                        Mean   : 7.001   Mean   :2013  
##                                        3rd Qu.: 9.000   3rd Qu.:2016  
##                                        Max.   :98.000   Max.   :2021  
##   Funding...B.      Investor.1         Investor.2         Investor.3       
##  Min.   : 0.0000   Length:1074        Length:1074        Length:1074       
##  1st Qu.: 0.2240   Class :character   Class :character   Class :character  
##  Median : 0.3735   Mode  :character   Mode  :character   Mode  :character  
##  Mean   : 0.5573                                                           
##  3rd Qu.: 0.6030                                                           
##  Max.   :14.0000                                                           
##   Investor.4         Investors        
##  Length:1074        Length:1074       
##  Class :character   Class :character  
##  Mode  :character   Mode  :character  
##                                       
##                                       
## 
head(companies_df)

About the data set

  • Data set contains records of 1074 Unicorn Companies from 47 different countries
  • The companies are spread out over 16 different industries
  • Average time taken by a company to be declared as Unicorn in 7 years after founding
  • The Maximum Funding received by a company is 14 Billion USD while the average funding is at 557 Million USD

Exploratory Analysis

1. Sector-wise Distribution of Unicorn Companies

# count of unicorn startups by sector
sector_counts <- table(companies_df$Industry)
plot_data <- data.frame(Industry = names(sector_counts),
                        count = as.numeric(sector_counts))

# bar chart showing unicorn startups by sector
ggplot(plot_data, aes(x = reorder(Industry, -count), y = count)) +
  geom_bar(stat = "identity", fill = "skyblue", color = "black") +
  geom_text(aes(label = count), vjust = 1.3, color = "black") +
  labs(x = "Industry", y = "Count") +
  theme(panel.background = element_blank(), 
        panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(),
        axis.text.x = element_text(angle = 45, hjust = 1))

  • Fintech and Internet software & services are leading in the number of unicorn companies, with 224 and 205 respectively.
  • These sectors show a substantial lead over traditional industries like Consumer & retail and travel.
  • The dominance of Fintech and Internet software & services underscores their popularity and growth in the unicorn startup space.
  • This trend highlights a clear preference for investment and expansion in these booming sectors over more traditional industries.

2. Global Distribution of Unicorn Companies by Continent

# Group by continent and count the number of companies
continent_counts <- companies_df %>%
  group_by(Continent) %>%
  summarise(total_companies = n()) %>%
  arrange(desc(total_companies))
continent_counts$Continent <- factor(continent_counts$Continent, levels = continent_counts$Continent)
ggplot(continent_counts, aes(x = Continent, y = total_companies, fill = Continent)) +
  geom_bar(stat = "identity", fill = "skyblue", color = "black") +
  labs( x = "Continent", y = "Total Companies") +
  theme(panel.background = element_blank(), 
        panel.grid.major = element_blank(),  
        panel.grid.minor = element_blank(), 
        axis.text.x = element_text(angle = 45, hjust = 1))

  • North America leads globally with the most unicorn companies (589), primarily in the United States, notably in Silicon Valley.
  • Asia and Europe also have significant numbers of unicorn companies, driven by tech hubs in countries like China, India, and various European cities.
  • Africa has the fewest unicorn companies among the continents studied, reflecting challenges in its tech ecosystem compared to other regions.

3. Year-wise Summary of Unicorn Company Joinings

# Group by Year Joined and count the number of companies
yearly_counts <- companies_df %>%
  group_by(Year.Joined) %>%
  summarise(total_companies = n()) %>%
  arrange(Year.Joined) 
kable(yearly_counts) %>%
  kable_styling(full_width = FALSE)
Year.Joined total_companies
2007 1
2011 2
2012 4
2013 3
2014 13
2015 35
2016 21
2017 44
2018 103
2019 104
2020 108
2021 520
2022 116

Valuation Analysis

1. Average market valuation

average_valuation <- companies_df %>%
  summarise(avg_valuation = mean(Valuation...B., na.rm = TRUE))
average_valuation

2. Average valuation for companies accross each country

country_summary <- companies_df %>%
  group_by(Country) %>%
  summarise(
    num_companies = n(),
    avg_country_valuation = mean(Valuation...B., na.rm = TRUE)
  ) %>%
  arrange(desc(avg_country_valuation))
country_summary

3. Average valuation for companies accross each continent

# total valuation for all unicorn companies
total_valuation_all <- sum(companies_df$Valuation...B., na.rm = TRUE)
continent_summary <- companies_df %>%
  group_by(Continent) %>%
  summarise(
    total_valuation = sum(Valuation...B., na.rm = TRUE),
    pct_contribution = (total_valuation / total_valuation_all) * 100
  ) %>%
  arrange(desc(pct_contribution))
continent_summary

4. Top 10 cities with the most valued startups in the world

city_valuation_summary <- companies_df %>%
  group_by(City) %>%
  summarise(total_valuation = sum(Valuation...B., na.rm = TRUE)) %>%
  arrange(desc(total_valuation))  
top_10_cities <- head(city_valuation_summary, 10)
top_10_cities$City <- factor(top_10_cities$City, levels = rev(top_10_cities$City))
ggplot(top_10_cities, aes(x = reorder(City, total_valuation), y = total_valuation)) +
  geom_bar(stat = "identity", fill = "skyblue", color = "black") +
  labs(x = "City", y = "Total Valuation ($B)") +
  theme_minimal() +
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
  coord_flip()

# Estimate each industry's valuation contribution
industry_valuation_summary <- companies_df %>%
  group_by(Industry) %>%
  summarise(total_valuation = sum(Valuation...B., na.rm = TRUE),
            pct_contribution = round(total_valuation / sum(companies_df$Valuation...B., na.rm = TRUE) * 100, 1)) %>%
  arrange(desc(total_valuation)) %>%
  head(5)

# bubble chart
ggplot(industry_valuation_summary, aes(x = Industry, y = pct_contribution, size = total_valuation)) +
  geom_point(color = "blue", alpha = 0.7) +
  labs(x = "Industry", y = "% Contribution") +
  scale_size_continuous(name = "Total Valuation ($B)", labels = scales::comma) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1),
        plot.title = element_text(size = 15),
        axis.title = element_text(size = 12),
        axis.text = element_text(size = 10),
        legend.title = element_text(size = 10),
        legend.text = element_text(size = 10))

Overall Valuation:
  • The overall average Unicorn company valuation is about $3.455B
Valuation by country:
  • The best performer here is Bahamas. It has one unicorn company FTX which is valued at $32B.
  • Sweden is the next in line with an average valuation of $10.5B across its 6 unicorn companies. These are the only 2 countries that crossed the $10B mark in terms of average valuation.
  • Croatia, Italy, and Czech Republic all come last on this list with an average unicorn valuation of $1B.
Valuation across Continents:
  • North America, with $2.032 Trillion contributes ~54.75% of total valuation
  • Asia, with $1.067 Trillion contributes ~28.75%
  • Europe, with $503 Billion contributes ~13.55%
  • Oceania, with $56 Billion contributes ~1.5%
  • South America, with $48 Billion contributes ~ 1.29%
  • Africa, with $5 Billion contributes ~0.13%

Investor Analysis

1. Average Valuation of Unicorn Companies by Number of Investors

avg_valuation_vs_investors <- companies_df %>%
  mutate(count_investors = str_count(Investors, "\\,") + 1) %>%  # Count number of investors
  group_by(count_investors) %>%
  summarise(average_valuation = mean(`Valuation...B.`, na.rm = TRUE)) %>%
  ungroup()

# bar chart to show average valuation by number of investors
ggplot(avg_valuation_vs_investors, aes(x = factor(count_investors), y = average_valuation)) +
  geom_bar(stat = "identity", fill = "skyblue", color = "black") +
  scale_x_discrete(name = "Number of Investors") +
  scale_y_continuous(name = "Average Valuation ($B)", labels = scales::comma) +
  theme_minimal() +
  theme(axis.title = element_text(size = 12),
        axis.text = element_text(size = 10),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())

  • Companies with 4 investors showed the highest average valuation, indicating a strong correlation between the number of investors and high company valuations.
  • Following closely, companies with 3 investors displayed the second-highest average valuation, suggesting a notable impact on valuation even with slightly fewer investors.
  • Surprisingly, companies with only 1 investor ranked third in average valuation. This suggests that individual investors can significantly influence a company’s valuation under certain conditions.
  • Companies with 2 investors had the lowest average valuation among the groups analyzed, highlighting the need for further investigation into potential factors influencing their lower valuations.

2. Average correlation between Number of Investors and Average Valuation

avg_valuation_vs_investors <- companies_df %>%
  mutate(count_investors = str_count(Investors, "\\,") + 1) %>%  
  group_by(count_investors) %>%
  summarise(average_valuation = mean(`Valuation...B.`, na.rm = TRUE)) %>%
  ungroup()

# correlation between number of investors and average valuation
correlation <- cor(avg_valuation_vs_investors$count_investors, avg_valuation_vs_investors$average_valuation)
cat(correlation, "\n")
## 0.7839556

3. Top 5 Investors and the number of companies they have invested in

# Trim whitespace around Investors column
companies_df$Investors <- stringr::str_trim(companies_df$Investors)

# Count the number of companies each investor group is funding
investors_summary <- companies_df %>%
  separate_rows(Investors, sep = ",\\s*") %>%  # Separate multiple investors into rows
  mutate(Investors = stringr::str_trim(Investors)) %>%
  group_by(Investors) %>%
  summarise(total_companies = n_distinct(Company)) %>%
  arrange(desc(total_companies)) %>%
  head(5)
print(investors_summary)
## # A tibble: 5 × 2
##   Investors               total_companies
##   <chr>                             <int>
## 1 Accel                                60
## 2 Tiger Global Management              53
## 3 Andreessen Horowitz                  52
## 4 Sequoia Capital China                48
## 5 Insight Partners                     47

4. Further analysis can be conducted to understand the nature of investments each investor. Analyzing Accel.

accel_investments <- companies_df %>%
  filter(grepl("Accel", Investors, ignore.case = TRUE))

# number of companies Accel has invested in each industry
accel_industry_summary <- accel_investments %>%
  group_by(Industry) %>%
  summarise(total_companies = n()) %>%
  arrange(desc(total_companies))
print(accel_industry_summary)
## # A tibble: 13 × 2
##    Industry                            total_companies
##    <chr>                                         <int>
##  1 Internet software & services                     20
##  2 Fintech                                          14
##  3 E-commerce & direct-to-consumer                   9
##  4 Cybersecurity                                     5
##  5 Supply chain, logistics, & delivery               4
##  6 Health                                            3
##  7 Artificial intelligence                           2
##  8 Auto & transportation                             2
##  9 Data management & analytics                       2
## 10 Edtech                                            2
## 11 Other                                             2
## 12 Hardware                                          1
## 13 Mobile & telecommunications                       1

Conclusion

  1. Industry Dynamics:
  1. Geographic Trends:
  1. Valuation Analysis:
  1. Investor Influence:

Recommendations

  1. Industry Focus: Invest in the Fintech sector, which shows high growth and valuation potential.
  2. Geographical Considerations: Target investments in regions with strong tech ecosystems, such as North America and Asia.
  3. Investor Insights: Study the investment strategies of top investors like Accel, Andreessen Horowitz, and Tiger Global Management for better investment decisions.

By focusing on high-growth sectors, strategic locations, and understanding the impact of investor involvement, your company can make informed investment decisions and potentially identify future unicorns.