Skip to content

The table response

When the right shape for the answer is rows and columns.

9 min

Tabular data is where most AI product formatting falls apart. The model either bullets everything into prose the user has to reconstruct into a mental table, or dumps a bare table with no context. The correct answer is almost always a lede sentence followed by a real table — two layers, each doing work the other can't.

"Pure prose hides comparisons. A bare table hides the point. Lede + table is the default."
The pattern

Sentence first, table second, sort always.

A one-sentence lede states the headline insight. The table follows, sortable by every column, with quiet affordances — monospace numbers, right-aligned counts, subtle row hover. Short notes column for human judgment ("Healthy," "Growing," "Sticky") lives in the rightmost slot.

The key discipline is restraint: a table answer doesn't need a paragraph after it unless the user explicitly asked for commentary.

Prose / table / lede + table
Click column headers to re-sort

Starter and Team together hold 75% of paying seats and run at 2–3% monthly churn.

Free$014,200
Starter$91,8503.2%Healthy
Team$296401.8%Healthy
Business$991840.9%Growing
Enterprisecustom220%Sticky

Lede + table is usually right. Prose hides comparisons; table without prose hides the point.

The why

Structure beats sentences at comparisons.

Readers comparing five plans across four attributes need twenty data points. Prose forces them to reconstruct the grid in their head, one sentence at a time. A table does that reconstruction for them. The lede above it holds the one thing the grid can't say — the conclusion.

Three moves

Table hygiene that matters.

  • Monospace numerics. Numbers right-align into clean columns only in monospace. Prose fonts will drift.
  • Sortable as default. Every numeric column gets a sort toggle. The user has the question, let them ask it.
  • Judgment column. A short text column for annotation — "Healthy," "At risk" — is the fastest way to turn data into a recommendation.

The trap

Markdown tables in chat.

Some products render tables as raw markdown, letting the browser guess column widths. The result is a table that looks almost right until one cell has a long value and the whole grid collapses. The user loses trust in the precision of the numbers even when the underlying data is fine.

Failure modes

What this pattern gets wrong when it gets wrong.

Silent truncate
The response ran out of room or tokens and the product didn't tell the user where it stopped.
Confidence theater
Language or typography that performs certainty beyond what the model actually has.
Seen in the wild

Three shipping variants worth copying.

  • Column headers that offer sort on click
  • A 'copy as markdown' affordance in the table's footer
  • Empty cells explicitly marked '—' not left blank