Deccan Education Society’s
FERGUSSON COLLEGE (AUTONOMOUS), PUNE-4
Department of Computer Science
A
Report
On
STARTUP FUNDING STUDY
(All in Capital Letters)
In partial fulfillment of requirements of the completion of [Link] (C.S.)
VSC Advanced Python Programming
Semester-IV
Bachelor of Science Computer
Science
SUBMITTED BY:
1. Risha Kothari Roll No: 245286
2. Siya Yadav Roll No: 245267
3. Krisha Oswal Roll No: 245288
[2025 – 2026]
(CSC-2304) Advanced Python Programming
CERTIFICATE
This is to certify that the VSC case study entitled
STARTUP FUNDING STUDY submitted by
[Link] Kothari - 245286
[Link] Yadav - 245267
[Link] Oswal - 245288
in partial fulfillment of the requirement of the completion of S.Y
[Link].(C.S.) Semester-IV, has been carried out by them under my
guidance satisfactorily during the academic year 2025-2026.
Place: Pune
Date: 07/03/2026
(Name and sign of ) ([Link]. [Link])
Prof. Pooja Dhage Head,
Computer Science Department
Internal Examiner: External Examiner:
ACKNOWLEDGEMENT
We would like to express our sincere gratitude to Prof. Pooja Dhage
for her invaluable guidance and support throughout the completion
of this project. Her expertise in data analytics and programming has
been instrumental in shaping our understanding of data
visualization techniques and their practical applications in financial
analysis.
We are deeply thankful for the opportunity to work on this case
study, which has enhanced our technical skills and provided us with
hands-on experience in analyzing real-world datasets. We would also
like to acknowledge our institution for providing the necessary
resources and infrastructure that enabled us to successfully complete
this project.
Finally, we extend our appreciation to our team members for their
cooperation, dedication, and collective effort in completing this
project within the stipulated timeframe.
[Link] Kothari Roll No: 245286
[Link] Yadav Roll No: 245267
[Link] Oswal Roll No: 245288
Introduction
Overview of the case study
The primary objective of this project is to perform comprehensive
data analysis and visualization of startup funding information across
multiple industries. By examining the dataset containing industry
classifications, funding amounts, and company valuations, we aim to
identify which sectors attract the most significant capital investments
and explore the correlation between funding received and
subsequent company valuations.
Our analysis addresses several key research questions: Which
industries dominate in terms of total funding allocation? What is the
relationship between the amount of funding a startup receives and its
market valuation? Are there observable patterns or multipliers that
connect funding to valuation across different sectors?
The dataset used in this study provides a representative sample of
startup funding activities, enabling us to apply statistical analysis and
data visualization techniques. Through bar charts and scatter plots
with bubble representations, we transform raw numerical data into
visual narratives that clearly communicate complex relationships
and trends. This case study demonstrates technical proficiency in
Python programming and data visualization libraries while
showcasing our ability to interpret business data and derive
meaningful conclusions.
System Requirements
Development Environment and Tools
The implementation of this startup funding analysis project was
conducted using Python 3.12.12, a robust and versatile programming
language widely recognized for its extensive ecosystem of data
science libraries and its intuitive syntax that facilitates rapid
development and prototyping.
Core Libraries and Dependencies
The project leverages three fundamental Python libraries that form
the backbone of modern data analysis and visualization workflows:
Pandas (version 2.2.3) serves as the primary data manipulation
library in this project. Pandas provides high-performance data
structures and analysis tools essential for handling structured data.
In our implementation, Pandas is utilized for reading CSV les,
handling missing values through dropna(), performing group-by
operations for aggregating funding data by industry, and sorting
results to identify top-performing sectors.
Matplotlib (version 3.10.3) is employed as the foundational plotting
library for creating static, publication-quality visualizations. Our
project utilizes Matplotlib's object-oriented interface through the
pyplot module to construct multi-panel figures with customized
styling. The library's flexibility allows for precise control over plot
dimensions, colour schemes, labels, annotations, and layout
configurations.
Seaborn (version 0.13.2) complements Matplotlib by providing a
high-level interface for creating aesthetically-pleasing visualizations.
In this project, Seaborn's "husl" colour palette is utilized to ensure
visually distinct and harmonious colour schemes across multiple data
categories, enhancing the overall visual appeal of our charts.
Additional requirements
The implementation requires a standard Python development
environment with pip package manager for library installation. The
dataset is stored locally in CSV format, and the project expects a le
named "startup_funding.csv" containing three essential columns:
Industry (categorical data), Funding (numerical data in millions USD),
and Valuation (numerical data in millions USD). A minimum of 4GB
RAM is recommended for smooth execution
Implementation
● Program Logic and Architecture
The startup funding analysis program follows a structured workflow
encompassing data acquisition, preprocessing, transformation, and
visualization. The program begins by establishing visualization
aesthetics through style configuration—the "seaborn-v0_8-whitegrid"
style provides a clean backdrop with subtle grid lines, while the "husl"
colour palette generates perceptually uniform colours that maintain
distinctiveness across categories.
Data acquisition is performed through Pandas' read_csv() function,
loading the startup funding dataset from the local file system.
Following data loading, the program extracts the three relevant
columns (Industry, Funding, and Valuation) and applies dropna() to
eliminate records with missing values, ensuring data integrity.
The program then performs data aggregation using Pandas'
groupby() functionality. The dataset is partitioned by industry
category with funding amounts summed within each group. The
resulting series is sorted in descending order, with the top 10
industries selected for visualization. The visualization architecture
employs Matplotlib's subplot system to create a side-by-side
comparison of two complementary visualizations in a 16×6 inch
figure.
Bar Chart Implementation
The bar chart visualizes the top 10 industries by total funding using
vertical bars. Each industry is assigned a unique colours from the
Seaborn palette, with black edge colours and 85% opacity providing
visual depth. The bars have a width of 0.7 to create appropriate
spacing. Value labels are automatically generated above each bar,
displaying the funding amount in millions with dollar symbol and
"M" suffix using matplotlib's text() function with center alignment
and bold font weight.
The bar chart includes a descriptive title, clearly labelled y-axis
indicating Million USD, and x-axis labels displaying industry names
rotated 45 degrees to prevent overlap. A subtle horizontal grid with
30% opacity guides the eye across funding magnitudes.
Scatter Plot with Bubble Visualization
The scatter plot provides a multivariate visualization representing
three dimensions: funding (x-axis), valuation (y-axis), and funding
magnitude (bubble size). To maintain visual clarity, the
implementation samples 50 representative data points using
random_state=42 for reproducibility.
The bubble sizing algorithm scales each point proportionally to its
funding amount (multiplied by 10, with a base size of 50 pixels),
Bar Chart Implementation
Scatter Plot with Bubble Visualization
creating intuitive visual encoding where larger bubbles draw
attention to heavily-funded startups. The colour mapping uses the
"plasma" colormap applied to valuation amounts, creating a thermal-
style gradient from cool to hot colours. White edge colours with 1.2-pixel
linewidth provide definition.
A critical feature is the trend line calculation, which computes the
average valuation-to-funding ratio and plots a diagonal reference
line. This crimson dashed line serves as a visual benchmark for
identifying above-average or below-average valuation multiples. The
trend line equation is displayed in the legend with the calculated
multiplier.
Annotation Strategy
To prevent clutter, the implementation employs selective labelling that
identifies only the top 3 highest-funded startups and annotates their
positions when they appear in the sampled scatter plot. Industry
names are truncated to 10 characters, with annotations positioned
using offset points for optimal placement
● Modules used and Functions used
Pandas Functions: read_csv(), dropna(), groupby(), sum(),
sort_values(), head(), sample(), nlargest()
Matplotlib Functions: subplots(), bar(), scatter(), plot(), text(),
annotate(), set_title(), set_xlabel(), set_ylabel(), set_xticks(),
set_xticklabels(), grid(), legend(), colorbar(), tight_layout(), show()
Seaborn Functions: set_palette(), color_palette()
The modular structure ensures each visualization component can be
independently modied, demonstrating professional software
engineering practices.
Python Output
References
[1] McKinney, W. (2022). Python for Data Analysis: Data Wrangling
with Pandas, NumPy, and Jupyter (3rd ed.). O'Reilly Media.
[2] Hunter, J. D. (2007). Matplotlib: A 2D graphics environment.
Computing in Science & Engineering, 9(3), 90-95.
[Link]
[3] Waskom, M. (2021). Seaborn: Statistical data visualization. Journal
of Open Source Software, 6(60), 3021.
[Link]
[4] VanderPlas, J. (2016). Python Data Science Handbook: Essential
Tools for Working with Data. O'Reilly Media