Table of Contents
The outline of your notebook will show up here. You can include headings in any text cell by starting a line with #
, ##
, ###
, etc., depending on the desired title hierarchy.
Did you know that the average return from investing in stocks is 10% per year! But who wants to be average?!
You have been asked to support an investment firm by analyzing trends in high-growth companies. They are interested in understanding which industries are producing the highest valuations and the rate at which new high-value companies are emerging. Providing them with this information gives them a competitive insight as to industry trends and how they should structure their portfolio looking forward.
You have been given access to their unicorns
database, which contains the following tables:
dates
Column | Description |
---|---|
company_id | A unique ID for the company. |
date_joined | The date that the company became a unicorn. |
year_founded | The year that the company was founded. |
funding
Column | Description |
---|---|
company_id | A unique ID for the company. |
valuation | Company value in US dollars. |
funding | The amount of funding raised in US dollars. |
select_investors | A list of key investors in the company. |
industries
Column | Description |
---|---|
company_id | A unique ID for the company. |
industry | The industry that the company operates in. |
companies
Column | Description |
---|---|
company_id | A unique ID for the company. |
company | The name of the company. |
city | The city where the company is headquartered. |
country | The country where the company is headquartered. |
continent | The continent where the company is headquartered. |
WITH top_industries AS
(SELECT industry, COUNT(*) AS total_unicorns
FROM dates AS d
JOIN industries AS i
ON d.company_id = i.company_id
WHERE EXTRACT(YEAR FROM date_joined) BETWEEN 2019 AND 2021
GROUP BY industry
ORDER BY COUNT(*) DESC
LIMIT 3)
SELECT industry, EXTRACT(YEAR FROM date_joined), COUNT(*) AS num_unicorns,
ROUND(AVG(valuation)/1000000000,2) AS average_valuation_billions
FROM dates AS d
JOIN industries AS i
ON d.company_id = i.company_id
JOIN top_industries
USING(industry)
JOIN funding AS f
ON d.company_id = f.company_id
WHERE EXTRACT(YEAR FROM date_joined) BETWEEN 2019 AND 2021
GROUP BY industry, EXTRACT(YEAR FROM date_joined), total_unicorns
ORDER BY industry, EXTRACT(YEAR FROM date_joined) DESC
WITH top_industries AS
( SELECT industry, COUNT(*) AS count
FROM dates AS d
JOIN industries AS i
ON d.company_id = i.company_id
WHERE EXTRACT(YEAR FROM date_joined) BETWEEN 2019 AND 2021
GROUP BY industry
ORDER BY count DESC
LIMIT 3
),
yearly_rankings AS
(
SELECT COUNT(*) AS num_unicorns,
i.industry,
EXTRACT(YEAR FROM date_joined) AS year,
AVG(valuation) AS average_valuation
FROM funding AS f
JOIN dates AS d
ON f.company_id = d.company_id
JOIN industries AS i
ON i.company_id = d.company_id
GROUP by industry, year
)
SELECT industry, year, num_unicorns, ROUND(AVG(average_valuation / 1000000000), 2) AS average_valuation_billions
FROM yearly_rankings
WHERE year BETWEEN 2019 AND 2021
AND industry in (SELECT industry FROM top_industries)
GROUP BY industry, num_unicorns, year, average_valuation
ORDER BY industry, year DESC