Figure Friday 2024 - week 52

join the Figure Friday session on January 3, at noon Eastern Time, to showcase your creation and receive feedback from the community.

Did you know that Bentley Systems successfully went public 36 years after it was founded?

In week 52 of Figure-Friday we’ll look at the dataset of 172 public SaaS companies with information on their market cap, stock price, IPO year, and much more.

Things to consider:

  • can you improve the sample figure below (bar plot)?
  • would you like to tell a different data story using a different graph?
  • can you create a Dash app instead?

Sample figure:

Code for sample figure:
import plotly.express as px
import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/plotly/Figure-Friday/refs/heads/main/2024/week-52/SaaS-businesses-NYSE-NASDAQ.csv')
# Correct the IPO Year (when company went public), based on online research
df.loc[df['Company'] == 'Exela Technologies', 'IPO Year'] = 2017
df.loc[df['Company'] == 'Blackboxstocks', 'IPO Year'] = 2021

# Filter the dataset to companies that were founded in 2000 or later
df_filtered = df[df['Year Founded'] >= 2000]

# Calculate the number of years to IPO for each company
df_filtered['Years to IPO'] = df_filtered['IPO Year'] - df_filtered['Year Founded']

# Group by 'Year Founded' to get the average 'Years to IPO'
average_years_to_ipo = df_filtered.groupby('Year Founded')['Years to IPO'].mean().reset_index()

# Round the column 'Years to IPO' to two decimal places
average_years_to_ipo['Years to IPO'] = average_years_to_ipo['Years to IPO'].round(2)
print(average_years_to_ipo)

fig = px.bar(average_years_to_ipo, x='Year Founded', y='Years to IPO', text_auto=True,
             title="Average time from companies' foundation to going public (in years)",
             labels={'Years to IPO': 'Years to IPO (average)'})
fig.show()

Participation Instructions:

  • Create - use the weekly data set to build your own Plotly visualization or Dash app. Or, enhance the sample figure provided in this post, using Plotly or Dash.
  • Submit - post your creation to LinkedIn or Twitter with the hashtags #FigureFriday and #plotly by midnight Thursday, your time zone. Please also submit your visualization as a new post in this thread.
  • Celebrate - join the Figure Friday sessions to showcase your creation and receive feedback from the community.

:point_right: If you prefer to collaborate with others on Discord, join the Plotly Discord channel.

Data Source:

Thank you to PublicSaaSCompanies for the dataset.

Interesting dataset! Looks like the PublicSaaSCompinies site uses Plotly figures