Cycle Month Performance Heatmap
Month-over-month BTC returns (close to close) laid out as a 12-month by multi-year matrix - emerald for positive months, red for negative, intensity scaled to magnitude - with the historical median per calendar month as a footer row. Calendar seasonality read at a glance, on closed months only.
What is it?
This heatmap is a two-dimensional matrix - 12 calendar months as columns, one row per year - where each cell encodes the BTC monthly return in percent, close to close. Color encodes direction and magnitude: emerald for a positive month, red for a negative one, intensity proportional to amplitude. A footer row displays the historical median of each calendar month, synthesizing the seasonal pattern across all years. Only closed months appear in the grid: the running month shows up once it closes.
How to read
Spot the monthly columns with emerald or red dominance: a recurring seasonal pattern shows as a uniformly colored column. The footer median row gives each month's central tendency - more robust than the mean against extreme years. Hovering a cell shows the year, the month and the precise return. A BTC sparkline in the footer places the grid in recent price context.
Key zones
Across the observable history, the highest-median months are October (crypto folklore's « Uptober »), February, April (anchored by halvings and their run-ups), July and November. The lowest-median month is August - a little-known fact: its median is worse than September's, despite September's cursed reputation - followed by December, September and March, all slightly negative. These zones read directly off the footer median row.
What to observe
Watch the vertical consistency of columns: the most robust patterns appear as columns with homogeneous color across most years. Months with contrasted cells reflect dependency on the macro cycle phase more than on pure seasonality. Also watch for breaks: a historically strong month printing a markedly negative return, or the reverse, indicates the current year is deviating from the seasonal template - information in itself.
Historical context
The grid starts in the early 2010s, as soon as monthly closes become usable. Aprils have benefited from halving anchors and the run-ups preceding them. October and November concentrate several of the major bullish legs, including past cycles' year-end tops. Conversely, Augusts have chained negative closes across several consecutive recent years, and the big crypto bear summers read as contiguous red bands.
Expert notes
The median is preferred over the mean for the footer row: BTC monthly returns have fat tails and a few extreme months are enough to distort an average. Calendar seasonality overlaps the halving cycle without reducing to it - crossing this grid with the Halving Seasonality Map helps separate a calendar effect from a cycle-position effect. The sample remains short by statistical standards: about fifteen observations per month, to be treated as an empirical regularity, not a law.
Common mistakes to avoid
Seasonality is not a trigger: a historically weak month can print strongly positive in any given year, and vice versa. Confusing the median with a guarantee is the classic mistake - dispersion around each median is wide. Finally, the grid encodes calendar returns: it says nothing about the position within the halving cycle, which other charts of this section cover.
Programmatic access
REST API
curl -sS \
'https://api.trinityinsights.io/api/v1/cycle-intelligence/cycle-month-heatmap/history?days=90' \
-H 'X-API-Key: $TRINITY_API_KEY'MCP server
{
"tool": "get_chart_value",
"metric_id": "cycle-month-heatmap",
"timeframe": "1y"
}Required tier: pro. See the pricing grid for the tier list and the MCP documentation for multi-client configuration.
Related metrics
Institutional disclaimer
Trinity Insights is an educational and analytical tool. The metric above does not constitute investment advice. Trinity Insights is not a Crypto-Asset Service Provider (CASP) registered under MiCA Regulation (EU) 2023/1114. See the full disclaimer.