Revenue explorerPro
A SaaS revenue chart you zoom with a brush while paths, axes and figures glide to the range.
Live block · sample data
Recurring revenue
Sep 2025 – Aug 2026
- MRR
- $2.56M
- +42.3%since Aug 2025
- Net new per month
- $63.3k
- +44.1%vs previous 12 months
- Churn rate
- 1.53%
- −0.26 ptsvs previous 12 months
| Month | New | Expansion | Churn | Net new | MRR |
|---|---|---|---|---|---|
| Sep 2025 | $67.6k | $20.1k | −$27.7k | $60k | $1.86M |
| Oct 2025 | $63.3k | $29.7k | −$29.8k | $63.2k | $1.92M |
| Nov 2025 | $61k | $31.6k | −$29.5k | $63.1k | $1.98M |
| Dec 2025 | $47k | $31.3k | −$29.6k | $48.7k | $2.03M |
| Jan 2026 | $67.2k | $32.8k | −$33.6k | $66.4k | $2.10M |
| Feb 2026 | $68.3k | $28.2k | −$31.1k | $65.4k | $2.16M |
| Mar 2026 | $72.5k | $31.5k | −$34.1k | $69.9k | $2.23M |
| Apr 2026 | $71.9k | $31.7k | −$35.7k | $67.9k | $2.30M |
| May 2026 | $70.8k | $30.2k | −$36.4k | $64.6k | $2.37M |
| Jun 2026 | $72k | $31.3k | −$32.2k | $71.1k | $2.44M |
| Jul 2026 | $66k | $30.1k | −$37.9k | $58.2k | $2.50M |
| Aug 2026 | $63.4k | $33.6k | −$35.4k | $61.6k | $2.56M |
- Monthly MRR or revenue broken into new, expansion, and churn on an analytics page.
- Charts where people need to zoom a date range with an overview brush and compare against a prior period.
- Use mrr-waterfall to explain how MRR moved between two points in time.
- Use metric-explorer for a row of KPI cards that open into a chart.
- Use bar-chart or sparkline for a small chart inside a card.
Installation
Pro source and install commands unlock with a Pro plan.
Usage
Use this for MRR or other monthly flow metrics on an analytics page. Replace the seeded months in revenue-data.ts with your billing data; the chart, brush and comparison compute everything from that series.
example.tsx
import { RevenueExplorer } from "@/registry/blocks/revenue-explorer/revenue-explorer"; export default function AnalyticsPage() { return ( <section> <RevenueExplorer /> </section> );}Built fromAnimated counter
RevenueExplorer
A monthly revenue chart with series toggles, a comparison mode, a hover scrubber and an overview brush that zooms the range. All figures derive from the seeded months in revenue-data.ts.
No props.
- Arrow keys
- On the plot, step the scrubbed month. On the brush or its handles, move the window or one edge by a month.
- Shift+Arrow keys
- Move the brush or a handle by three months.
- HomeorEnd
- Jump to the range start or end (plot), or to the timeline edges (brush).
- Escape
- Clears the scrubbed month on the plot.
- The brush window and both handles are role="slider" with aria-valuenow and month-name aria-valuetext.
- Series toggles use aria-pressed and the comparison toggle is a role="switch" with aria-checked.
- The plot is a focusable role="img" with aria-describedby pointing at the live summary.
- Paths, axes and ticks glide to the new range on springs while totals roll with Animated counter.
- Reduced motion jumps values instantly and replaces movement with opacity changes.
- Chart width follows its container through a ResizeObserver, so axes and paths recompute at any width.
- Below a 560px container padding tightens and the comparison context wraps under the KPIs.
- The plot uses touch-action pan-y so vertical page scroll still works, while the brush uses touch-action none and pointer capture for dragging.
- Geometry is computed from 24 months of data; paths and ticks animate on springs rather than a per-frame loop.
- It is SVG with no downsampling, so long daily series should be aggregated to months before passing them in.
Notes for AI
Give your coding assistant the Markdown reference instead of screenshots.
- Use for MRR or other monthly flow metrics (new, expansion, churn) on an analytics page.
- Replace DATA and the month calendar in revenue-data.ts with your billing series; geometry, summaries and y domains are computed from it.
- No props or callbacks; lift the data into props if you load it at runtime.
The full library index for assistants is at /llms.txt.