Quarterly Metric MatrixPRO

A quarterly results matrix of hairline cells, each pairing a light figure with a signed change tinted by whether the movement is good or bad rather than by its direction, over a line of context.

Stats69: Quarterly Metric Matrix

A quarterly results matrix of hairline cells, each pairing a light figure with a signed change tinted by whether the movement is good or bad rather than by its direction, over a line of context.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/stats69?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/stats69?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/stats69.tsx plus the badge23 component it uses for the eyebrow.

Quick start

The installed file exports stats69Demo alongside the block: the exact props behind the preview above. Spread it to get a working matrix in one line.

tsx
import { Stats69, stats69Demo } from "@/components/beste/block/stats69";

export default function QuarterPage() {
  return <Stats69 {...stats69Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Stats69 } from "@/components/beste/block/stats69";

export default function QuarterPage() {
  return (
    <Stats69
      badge={{ label: "This quarter" }}
      heading="The board pack, without the board pack"
      description="Six numbers a practice lead is asked about every quarter."
      periodLabel="Compared with the previous quarter"
      metrics={[
        {
          label: "Appointments booked",
          value: "3,841",
          delta: "+12.4%",
          direction: "up",
          better: true,
          context: "Across four sites, including the two that opened in February.",
        },
        {
          label: "Invoices outstanding past 30 days",
          value: "£4,180",
          delta: "+£620",
          direction: "up",
          better: false,
          context: "Up, and almost entirely one insurer we are still chasing.",
        },
        {
          label: "Support conversations",
          value: "94",
          delta: "0",
          direction: "flat",
          better: true,
          context: "Flat while appointment volume grew.",
        },
      ]}
      footnote="Every figure links back to the records behind it."
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string }Eyebrow above the hairline rule, rendered through Badge23
headingstringSection heading in the left column of the header
descriptionstringSupporting paragraph, right-aligned from md up
periodLabelstringWhat the changes are measured against
metricsMetric[][]The figures, three across from lg
footnotestringClosing note under the matrix
classNamestringExtra classes for the outer section
ts
type Metric = {
  label: string;
  value: string;
  delta: string;
  direction: "up" | "down" | "flat";
  better: boolean;
  context: string;
};

Behavior notes

More Stats blocks

View all Stats
FREE

stats66

Outcome Metric Rows

A results section that stacks each metric on its own hairline row, pairing an oversized figure with a short label, a sentence of context, and an optional year-over-year delta.

PRO

stats67

Before And After Pairs

A results section stacking each measure on its own hairline row, moving a muted starting figure to an accented result across an arrow, with a soft closing panel that floats a live comparison card.

FREE

stats68

Segmented Total Breakdown

A results section that leads on one oversized total, splits it across a segmented accent bar, then legends each segment on a hairline row aligning its value, share, and what it covers.

PRO

stats61

Typographic Stats

Oversized number rows with labels and context, editorial style.

PRO

stats14

Trend Indicator Stats

Dashboard-style stat cards with colored trend badges showing up, down, or neutral changes. Perfect for quarterly reports and growth metrics.

PRO

stats70

Annual Report Readings

An annual results section pairing an image tile that floats a live breakdown chart with a light interpretation of it, then four hairline readings that each name their own source, closing on a method panel.