Introduction

This project analyzes Total Value Locked (TVL) trends for eight DeFi protocols (Uniswap, Aave, Maple, Compound, Lido, EigenLayer, Curve, Ethena) to identify which had the fastest TVL growth from Q1 2024 to Q1 2025 [or Jan to Mar 2024 if 2025 data unavailable]. The analysis follows the Google Data Analytics process: Ask, Prepare, Process, Analyze, Share, Act. Data is sourced from DeFiLlama.

Ask

Prepare

Process

Analyze

Data Loading

tvl_data <- read_csv("cleaned_defi_tvl_data.csv")
## Rows: 1448 Columns: 4
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (2): Protocol, TVL_Check
## num  (1): TVL_USD
## date (1): Date
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
tvl_data$Date <- as_date(tvl_data$Date)
growth_data <- read_csv("tvl_growth_results.csv")
## Rows: 8 Columns: 4
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Protocol
## dbl (3): avg_tvl_2024, avg_tvl_2025, growth_percentage
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
summary(tvl_data)
##    Protocol              Date               TVL_USD           TVL_Check        
##  Length:1448        Min.   :2024-01-01   Min.   :3.982e+07   Length:1448       
##  Class :character   1st Qu.:2024-02-15   1st Qu.:2.021e+09   Class :character  
##  Mode  :character   Median :2024-03-31   Median :4.183e+09   Mode  :character  
##                     Mean   :2024-08-14   Mean   :7.901e+09                     
##                     3rd Qu.:2025-02-14   3rd Qu.:1.126e+10                     
##                     Max.   :2025-03-31   Max.   :4.017e+10

Growth Calculation

top_protocol <- growth_data %>%
  arrange(desc(growth_percentage)) %>%
  slice(1)
top_protocol
## # A tibble: 1 × 4
##   Protocol avg_tvl_2024 avg_tvl_2025 growth_percentage
##   <chr>           <dbl>        <dbl>             <dbl>
## 1 Ethena     486061182.  5754201643.             1084.

The protocol with the highest growth is Ethena with 1083.84% growth.

Share

R Visualizations

TVL Trends

ggplot(monthly_tvl, aes(x = Date, y = Avg_TVL, color = Protocol)) +
  geom_line(size = 1.2) +
  geom_point(size = 2) +
  labs(title = "DeFi Protocol TVL Trends (Q1 2024 - Q1 2025)",
       subtitle = "Monthly Average TVL in USD",
       x = "Date", y = "TVL (USD)",
       caption = "Data Source: DeFiLlama") +
  theme_minimal(base_size = 14) +
  scale_y_continuous(labels = dollar_format(scale = 1e-9, suffix = "B")) +
  scale_x_date(date_breaks = "1 month", date_labels = "%b %Y") +
  theme(legend.position = "bottom",
        plot.title = element_text(face = "bold"),
        axis.text.x = element_text(angle = 45, hjust = 1))
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Growth Comparison

ggplot(growth_data, aes(x = reorder(Protocol, -growth_percentage), y = growth_percentage, fill = Protocol)) +
  geom_bar(stat = "identity", color = "black", size = 0.2) +
  labs(title = "TVL Growth by DeFi Protocol",
       subtitle = "Percentage Change from Q1 2024 to Q1 2025",
       x = "Protocol", y = "Growth (%)",
       caption = "Data Source: DeFiLlama via BigQuery") +
  theme_minimal(base_size = 14) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1),
        plot.title = element_text(face = "bold"),
        legend.position = "none") +
  scale_fill_brewer(palette = "Set3") +
  geom_text(aes(label = sprintf("%.1f%%", growth_percentage)), vjust = -0.5, size = 4)

Tableau Dashboard

An interactive dashboard was created in Tableau Public, featuring:

  • Line chart: Monthly TVL trends for each protocol.

  • Bar chart: Growth percentages from Q1 2024 to Q1 2025 [or Jan to Mar 2024].

  • Infographic elements: Bold titles, icons (e.g., ), and vibrant colors.

  • View it here: View it here: Tableau Dashboard.

Insights

  • Ethena led with 1083.84% growth, likely due to the rapid adoption of its yield-bearing USDe stablecoin and institutional investments in its Converge blockchain.

  • Uniswap’s low 1.57% growth reflects its stability as a leading decentralized exchange, maintaining consistent trading volume despite broader DeFi market challenges.

  • Lido’s 9.71% TVL decline may be due to a $1.4B Bybit hack affecting stETH and competition from restaking protocols like EigenLayer.

  • All data and code available on my GitHub repository.

Act

  • Recommendation: Consider exploring Ethena’s USDe for yield opportunities, but research its synthetic stablecoin risks.

  • Next Steps: Monitor DeFi trends, especially stablecoin and restaking protocols.

Conclusion

This project showcases skills in:

  • Python: Data fetching from DeFiLlama API.

  • Google Sheets: Data cleaning.

  • BigQuery SQL: Growth calculations.

  • R: Statistical analysis and visualizations.

Tableau: Interactive dashboards. The code, data, and visuals are available on my GitHub repository.