Phase 3
Team × Lens Matrix — Variations

Source: bake-off #1 Form D (Team Landing — Lens Bake-off) — c100 matrix thread, 2026-09-30 · sibling of Tile Map — Variations · plan cycles/c100.landing-pages/matrix-variations-plan.md

The tile map's three asks, applied to the matrix — which has two axes to label, not one. Ink: greyscale turns eight side-by-side charts into one picture. Size: numbers go first, then column names, then row names — and at DataMachine size the move the tile map doesn't have is to label the short axis. Spin: a matrix is the most reorderable form there is — Bertin's point was that reordering is the analysis. Hover any cell: the same team and lens light up in every matrix on the page.

Ink
Grey
Status colour
Steps
Morph
Lens
Period
Scale
State
Chosen lens: Violations — orders the rows and outlines its column · Payments · Violations 3 and ML Research · Violations 2 lead · 10 of 12 teams flagged
§1

Ink — one picture, or eight charts?

Bake-off #1 gave every column its own colour job — grape for magnitude, status for risk, amber for gaps — so the matrix reads as eight charts side by side. Greyscale makes every column the same heat: one picture, with the columns still shaded against their own max. Critical cells keep a corner notch. The picker sets the hue for 3 and 4 and every other matrix on the page.

1Grey
one heat for every column · critical = corner notch
2Grey + status
risk and gap columns keep status ink; magnitude columns go grey
3Chosen hue — Grape (pick one above)
the picker carries every column
4Chosen hue + status
with grape, this is bake-off #1's original per-job ink
§2

Size ladder — table to fingerprint

A matrix sheds labels in a fixed order: numbers, then column names, then row names. Past that it is a texture — and one row of it is a team's fingerprint, small enough to live inside a sentence or a listing column.

XL100% × auto— landing section — names + people, full headers, numbers in cells
L560 wide · 18 px rows— half page — names, short headers, no numbers
M360 × 180— card — truncated names, one-letter headers
S200 × 88— DataMachine #right — a texture; provenance carries the story
Team watch
12 teams × 8 lenses
10
/ 12
Payments · Violations 3 and ML Research · Violations 2 lead · 10 of 12 teams flagged
XS120 × 36— table cell — a department's teams × lenses
DepartmentTeams × lensesFlagged
Engineering · 3 teams
3 / 3
Product · 3 teams
3 / 3
Go-to-market · 3 teams
2 / 3
Operations · 3 teams
2 / 3
Glyph48 × 10— one row — a team's fingerprint, inside a sentence
Payments
is the team to look at first; Legal
is the calmest.
Glyph in a listing64 × 12— the fingerprint as a /team/teams column
TeamPeopleProfile
Platform28
Payments23
Web21
Mobile19
ML Research17
Support17
columns: U ai usage · $ spend · A active · V violations · C coverage · H harness · W waste · R retention
§3

Labelling at DataMachine size

Two axes, 88 px of height. Six ways to put the names somewhere — including the one the tile map can't do: turn it sideways and label the eight lenses instead of the forty teams. Each is a real DataMachine.

1Silent + note
Strong the cheapest; the sentence names what the texture only hints at · Weak at this size the matrix says "some red, somewhere" — the note does all the work
Team watch
12 teams × 8 lenses
10
/ 12
Payments · Violations 3 and ML Research · Violations 2 lead · 10 of 12 teams flagged
2Label the short axis
Strong eight lens names fit where forty team names never will; rows read as strips · Weak teams become anonymous columns — hover or the note has to name them
Team watch
12 teams × 8 lenses
10
/ 12
lenses as rows · one column per team, in story order
3Column key
Strong a one-letter header keeps the columns findable; the chosen lens is outlined · Weak the key is a second thing to read, and rows stay nameless
Team watch
12 teams × 8 lenses
10
/ 12
U ai usage · $ spend · A active · V violations · C coverage · H harness · W waste · R retention
4Highlight + callouts
Strong the matrix says "these three cells" — a picture of the story · Weak everything else is grey; it stops being a view of the whole
Team watch
12 teams × 8 lenses
10
/ 12
20 flagged cells · the three worst named
5Other bucket
Strong names fit because there are six rows · Weak the folded row averages away the hot spot
Team watch
12 teams × 8 lenses
10
/ 12
five largest teams named · the rest folded into one row
6Live readout
Strong the provenance line becomes an instrument — hover reads any cell exactly · Weak nothing is labelled until you touch it; useless in a screenshot
Team watch
12 teams × 8 lenses
10
/ 12
worst cell — Payments · Violations 3 (2 critical · oldest 13d) · hover to read any cell
§4

Other variations — for a spin

4aNormalisation — what is the shade relative to?

Once columns share one ink, the shade's reference becomes a design choice. Per column compares teams on one lens; per row shows each team's own outlier; rank resists one huge team flattening the rest; deviation asks 'unusual for us?' — filled when a team sits past the company median on the lens's attention side, hollow when it sits on the calm side.

Per column — bake-off #1 — teams compared on one lens
Per row — each team against itself — its own outlier lens
Rank — percentile within the column — skew-proof
Deviation from median — filled = past typical on the attention side · hollow = calmer
4bOrdering — Bertin's reorderable matrix

Story order sorts teams by the chosen lens (the lever strip in disguise). Size order is stable across lenses. Seriated orders both axes by similarity — teams with the same profile sit together, lenses that move together sit together — so blocks appear that no single sort shows.

Story — sorted by Violations
Team size — stable across lenses
Seriated — rows and columns by similarity
4cCell mark

Fill is the heatmap. Dot puts value in area and leaves the ground neutral. The in-cell bar trades the image for precision — lengths compare where shades don't. Coloured numerals are the table with a whisper of heat: the most precise and the least 30 ft.

Fill (heatmap)
Dot (area ∝ value)
In-cell bar (+ numbers where they fit)
Coloured numerals
4dRow height = people — the matrix meets the tile map

Rows sized by team: big teams are tall, and a cell's area now says how many people the value is about. At 1,500 the small teams become hairlines — the same labelling problem the tile map has, arriving from the other side.

Equal rows
Row height = people
4eReader groups + focus column

Columns banded by who reads them (the c100 lens ledger: Eng manager · FinOps · Security) — the matrix becomes three small matrices, one per Home lens. The chosen lens stays in full colour; the rest dim to context, so the matrix answers one question while keeping the others in view.

4fMorph

Turn Morph on, then change the Lens: rows glide into the new story order instead of jumping, so your eye keeps hold of a team while the order changes. Worth trying on 4b's story column and the XL matrix.

Judge

What to try, and what to look for

Does grey make it one picture?

Compare §1 1 and 4. Per-job ink says "eight different charts"; grey says "one heat". Which do you read faster — and is the loss of kind (volume vs risk) a loss, when the column header already says it?

The smallest matrix

Walk §2. At which size does it stop being a table and become a texture? Is the one-row fingerprint a picture you would read in a listing, or decoration?

Is transposition the answer?

§3 2 labels the eight lenses instead of the teams. Flip Scale → 1,500: forty thin columns, eight named rows. Does that beat the tile map's best DataMachine strategy?

What should the shade mean?

Walk §4a on Spend and Violations. Deviation-from-median is the only one that says "unusual for us" — does the hollow "calmer than typical" mark read, especially in grey?

Does seriation find anything?

Look at §4b's seriated matrix at 200 and 1,500. If blocks appear (the spenders are the violators; the late adopters are the uncovered), that is a finding no single sort shows — and a case for a "similar teams" view.

Three readers, one matrix

§4e bands the columns by reader. Is the matrix really three matrices — one per Home lens — and should each Home lens carry only its own band?

Parked (see the plan): hierarchical rows (org → team, collapsible — no org level in the fixture), time as a third axis (a matrix per week — no history yet), and cell-level drill into the team detail filtered to that lens (a port question).

Qpoint Brand Style Guide