This project analyzes the top 10 meme coins from November 1, 2024, to May 1, 2025, using CoinGecko data. We explore price changes, trading volume, and volatility to identify top performers and risks. Tools used: Python, SQL (BigQuery), R, and Tableau.
The data was cleaned in R to fill missing daily price changes with 0 and remove rows with missing prices or volumes.
price_change <- read_csv("meme_coins_results.csv")
## Rows: 10 Columns: 5
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): coin
## dbl (4): start_price, end_price, price_change_pct, avg_volume
##
## ℹ 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.
print(head(price_change, 5))
## # A tibble: 5 × 5
## coin start_price end_price price_change_pct avg_volume
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 dogecoin 0.162 0.172 6.68 4614117173.
## 2 pepe 0.00000911 0.00000889 -2.44 2207913635.
## 3 bonk 0.0000202 0.0000196 -2.99 437308918.
## 4 shiba-inu 0.0000179 0.0000132 -26.1 913577363.
## 5 floki 0.000139 0.0000893 -35.6 336451193.
ggplot(price_change, aes(x = reorder(coin, price_change_pct), y = price_change_pct, fill = coin)) +
geom_bar(stat = "identity") +
coord_flip() +
theme_minimal() +
labs(title = "Total Price Change (%)", x = "Coin", y = "Price Change (%)")
volatility <- read_csv("meme_coins_volatility.csv")
## Rows: 10 Columns: 2
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): coin
## dbl (1): volatility
##
## ℹ 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.
print(head(volatility, 5))
## # A tibble: 5 × 2
## coin volatility
## <chr> <dbl>
## 1 popcat 10.4
## 2 mog-coin 9.37
## 3 brett 9.26
## 4 bonk 8.05
## 5 dogwifcoin 7.60
ggplot(volatility, aes(x = reorder(coin, volatility), y = volatility, fill = coin)) +
geom_bar(stat = "identity") +
coord_flip() +
theme_minimal() +
labs(title = "Volatility of Meme Coins", x = "Coin", y = "Volatility")
Price Trends
Price Change vs. Volume
Daily Price Changes