# Making Data Sing: The Short Version

**The idea:** the questions a dataset can answer depend on **what kinds of columns it has** and **which columns appear together**. Learn to see those, and better questions follow.

**The model in one line:**

> **TYPE** the columns → **PAIR** the types → apply a **MOVE** → look for a **SHAPE** → **SHARPEN** the question

---

## 1. TYPE: name each column's job

| Type | Plain-English question | Examples |
|---|---|---|
| 👤 **Who / What** (entity) | *Which thing?* | name, product, student |
| 🏷️ **Kind** (category) | *What group?* | sex, department, region |
| 🕒 **When** (time) | *When?* | year, date, term |
| 📍 **Where** (place) | *Where?* | state, country, zip code |
| 🔢 **How much** (measure) | *How many?* | count, price, minutes |

Some columns have two jobs. A state is a *Where*, and it's also a *Kind* that nests inside a region.

## 2. PAIR: every pair of types asks its own question

| Pair | Signature question |
|---|---|
| Who × When | When did it peak? Is it a fad or a classic? |
| Who × Kind | Which ones crossed over from one group to another? |
| Who × Where | Where is it unusually popular? |
| Kind × When | Is the gap between groups growing or shrinking? |
| Where × When | Are places becoming more alike or more different? |
| How much × anything | How concentrated is the total? |

## 3. MOVE: three families of moves that turn a flat answer into a story

| Family | Moves | Why |
|---|---|---|
| ⚖️ **Rescale** (make it fair) | count → **share**, count → **rank** | Totals differ; shares and ranks compare fairly |
| ↔️ **Contrast** (compare it) | value → **change**, global → **over-index**, **top-N within each group** | Finds movers and what's *distinctive*, not just what's big |
| 🔦 **Spotlight** (find the story) | **peak / first / last**, **concentration**, **reversals & outliers**, **the identifier is data** | Gives the number a timeline, a twist or a hidden pattern |

*Flat:* "Michael is the most common boys' name."
*Singing:* "Michael held #1 for decades, but today's #1 name covers a far smaller share of babies. Parents are spreading out." (rank + share + concentration)

## 4. SHAPE (advanced): three doors that open when columns appear together

| Door | Ask | Shapes it unlocks | Usual technical step |
|---|---|---|---|
| ➡️ **Order** | Can I put rows **in order within an entity**? | event sequences / process mining, cohorts, survival, intervals, rank trajectories, before/after | window function (`rank`, `lag`) by entity |
| 🔗 **Pair** | Can I **pair rows that share a key**? | co-occurrence (market basket), networks, similarity, origin→destination flows | self-join |
| 🪆 **Nest** | Does one category **nest inside another**? | hierarchies, drill-down, Simpson's paradox | join to a parent table |

## 5. SHARPEN: turn a seed phrase into a full question

A **seed** is a few words ("names over time"). A **full question** has five parts:

| Part | Ask |
|---|---|
| **Subject** | Who or what, exactly? |
| **Measure** | Which number, and as a count, share or rank? |
| **Move / shape** | Which move or door? |
| **Comparison** | Compared to what? |
| **Surprise** | What result would surprise you? Write it down *before* you compute. |

**Test:** could two classmates compute the *same* answer from your question? If not, it's still a seed.

---

## Checklist

1. ☐ Type every column.
2. ☐ Pick two pairs and write their signature questions.
3. ☐ Apply at least one move from two different families.
4. ☐ Knock on all three doors: order? pair? nest?
5. ☐ Sharpen three seeds into full questions, and write your expected answer first.

*The full version, with all eleven compound shapes, is in `making-data-sing-framework.md`.*
