Analytics & Visualization
The Analytics & Visualization module provides a comprehensive overview of the Indian startup funding landscape. It leverages the Recharts library to transform raw funding data into interactive charts, tracking everything from high-level ecosystem health to granular sector performance.
Overview
The analytics engine aggregates data from the central funding repository to generate insights across four key dimensions:
- Temporal Trends: Monthly funding velocity and Year-over-Year (YoY) growth.
- Sector Analysis: Capital distribution and deal volume by industry.
- Investment Stages: Funding patterns from Pre-Seed to Series C+.
- Geographic & Investor Insights: Activity mapping by location and investor participation.
Key Components
AnalyticsDashboard
The AnalyticsDashboard is the primary container for all visualizations. It processes the raw fundingData using useMemo to ensure performant recalculations during filtering.
Usage:
import { AnalyticsDashboard } from "@/components/analytics-dashboard"
export default function MyAnalyticsPage() {
return (
<div className="container">
<AnalyticsDashboard />
</div>
)
}
HeroStats
Located on the landing page, this component provides an immediate "pulse check" of the ecosystem, displaying four critical metrics:
- Total Disclosed Funding (Formatted in ₹Cr or ₹B).
- Total Deal Count (including a breakdown of undisclosed deals).
- Most Active Sector.
- Largest Single Deal.
QuickInsights
A secondary visualization component that provides ranked lists of "Trending Sectors" and "Most Active Investors," useful for side-by-side comparisons of volume vs. value.
Data Normalization & Calculations
To maintain accuracy in visualizations, the analytics engine applies specific logic to the dataset via lib/utils.ts:
Disclosed vs. Undisclosed Deals
Many deals are reported without a specific amount. The system differentiates between these to avoid skewing averages:
- Monetary Charts: Only include deals where
isFundingDisclosed(amount)is true (amount > 0). - Volume Charts: Include all deals to accurately reflect market activity levels.
Currency & Unit Formatting
The system uses formatFundingAmount to normalize display units based on the scale of funding:
- Lakhs (L): For amounts < 100 (e.g., ₹50L).
- Crores (Cr): For amounts >= 100 (e.g., ₹1.5Cr).
- Billions (B): For amounts >= 100,000 (e.g., ₹1.2B).
Visualizations (Recharts Implementation)
The tracker utilizes various chart types to represent different data relationships:
1. Funding Velocity (LineChart)
Tracks the "speed" of capital deployment over time. It plots the total monthly funding amount against the number of deals.
- X-Axis: Month/Year (e.g., "Nov 23").
- Y-Axis: Total Amount (in ₹Cr).
2. Sector Deep-Dive (BarChart)
Visualizes capital concentration. This chart ranks sectors by total funding received, helping identify where the most capital is being deployed.
3. Stage Distribution (PieChart)
Shows the breakdown of deals by maturity (Seed, Series A, etc.). This is critical for understanding if the ecosystem is "top-heavy" or has a healthy pipeline of early-stage startups.
4. Year-over-Year (YoY) Comparison
A comparative analysis that groups data by calendar year to calculate:
- Total annual funding.
- Average deal size per year.
- Growth percentages.
Configuration & Updates
Currency Conversion
The dashboard displays a conversion notice when data is derived from USD. The conversion rate is a static constant used during the data generation phase.
- Rate Source: Defined in
config/currency.js. - Update Process:
- Update the rate in
config/currency.js. - Run the data generation script:
npm run generate-data
- Update the rate in
Styling (Neo-Brutalism)
All charts are wrapped in "Neo-Brutalist" containers using the neo-border and neo-shadow utility classes defined in globals.css. Chart colors are mapped to CSS variables (e.g., --chart-1, --chart-2) to maintain theme consistency.