# Brief 1: Setting Up Your Google Sheets Pattern Graph

> **For:** Strategists who want to build a queryable knowledge graph from their own research
> **Purpose:** Create the Google Sheet that becomes the backbone of your knowledge graph
> **Date:** 2026-03-22

---

## What You're Building

A Google Sheet with 4 tabs that follows the **Fodda Pattern Standard**. This sheet IS your knowledge graph — everything else (the analysis, the MCP server, the AI connections) reads from and writes to this sheet.

No database. No infrastructure. Just a spreadsheet.

---

## Quick Start

1. **Copy the template:** [→ Fodda Pattern Standard Template](https://docs.google.com/spreadsheets/d/1LqUytJ_Su4CVZvGmxTxDylsQLKmd4yWr5nC8rIhcZAk/copy)
   - File → Make a copy
   - Give it a name like "Sarah's Clean Beauty Radar" or "Nike Innovation Signals"

2. **Share with Fodda's service account** (if you want to publish later):
   - Click Share → Add: `fodda-sheets-reader@fodda-graphs.iam.gserviceaccount.com`
   - Permission: **Viewer** (read-only — Fodda never writes to your sheet)

3. **Start adding data** — or use Brief 2 (Signal Collector) to automate it

---

## The 4 Tabs

### Tab 1: Signals

This is your raw data — articles, observations, bookmarks. Each row is one signal.

| Column | Type | Description | Example |
|--------|------|-------------|---------|
| `signal_id` | Number | Auto-incrementing ID | `1` |
| `title` | Text | Article or observation headline | `Nike Opens Recycling-Focused Store` |
| `source_url` | URL | Where you found it | `https://hypebeast.com/2024/...` |
| `summary` | Text | 2–3 sentence factual summary. No marketing language. | `Nike opened a Seoul store dedicated to recycling sneakers. Customers bring in used shoes and receive store credit...` |
| `published_date` | Date | When the source was published | `2024-06-15` |
| `brands` | Text | Comma-separated brand/company names | `Nike, Adidas` |
| `technologies` | Text | Comma-separated technologies mentioned | `Computer Vision, AR, RFID` |
| `audiences` | Text | Comma-separated target demographics | `Gen Z, Sneaker collectors` |
| `sector` | Text | Primary sector | `Retail` |
| `industry` | Text | More specific industry | `Footwear` |
| `geography` | Text | Regions/countries mentioned | `Korea, US` |
| `pattern_name` | Text | Which pattern this signal belongs to (filled in during analysis) | `Circular Retail Experiences` |
| `date_added` | Date | When you added this signal | `2024-07-01` |

**Key rules:**
- `summary` is the most important field — it's what enables AI pattern recognition. Keep it factual, structural, free of marketing language
- `pattern_name` starts empty. It gets filled in during the analysis step (Brief 2)
- One signal = one row. Don't combine multiple articles into one signal

---

### Tab 2: Patterns

This is your analysis layer — the trends and recurring behaviors you've identified across multiple signals.

| Column | Type | Description | Example |
|--------|------|-------------|---------|
| `pattern_id` | Number | Auto-incrementing ID | `1` |
| `pattern_name` | Text | Concise, descriptive name | `Circular Retail Experiences` |
| `description` | Text | 2–4 sentences explaining what this pattern represents | `Physical retail spaces increasingly dedicated to product recycling, repair, and circularity...` |
| `sector` | Text | Primary sector | `Retail` |
| `industry` | Text | More specific industry | `Footwear, Fashion` |
| `confidence` | Number | 1–10 confidence score based on evidence strength | `7` |
| `related_patterns` | Text | Comma-separated names of related patterns | `Resale as Retail, Sustainable Packaging` |
| `date_identified` | Date | When this pattern was identified | `2024-07-15` |

**Key rules:**
- A pattern is NOT an individual event — it's an abstraction that connects multiple signals
- Every pattern must be supported by at least 2 signals
- `pattern_name` here must exactly match the `pattern_name` in the Signals tab — this is how they link
- Don't create overly broad patterns (e.g., "Digital Transformation"). Be specific about the structural behavior.

---

### Tab 3: Entities

This is your tag layer — the brands, technologies, audiences, and locations that appear across your signals.

| Column | Type | Description | Example |
|--------|------|-------------|---------|
| `entity_id` | Number | Auto-incrementing ID | `1` |
| `name` | Text | Entity name | `Nike` |
| `type` | Text | One of: `Brand`, `Technology`, `Audience`, `Location` | `Brand` |
| `pattern_names` | Text | Comma-separated patterns this entity appears in | `Circular Retail Experiences, Direct-to-Consumer Flagships` |
| `notes` | Text | Optional context | `Particularly active in Korea market` |

**Key rules:**
- Each unique entity gets one row (even if it appears in multiple signals)
- The `type` field must be one of the four allowed values
- `pattern_names` gets updated as you assign signals to patterns

---

### Tab 4: Graph Meta

This is your graph's identity — key-value pairs that describe who you are and what your graph covers.

| Key (Column A) | Description | Example Value (Column B) |
|----------------|-------------|--------------------------|
| `graphName` | Display name for your graph | `Sarah's Clean Beauty Radar` |
| `graphSlug` | URL-safe identifier (lowercase, hyphens) | `sarah-clean-beauty` |
| `description` | What this graph tracks | `Tracking innovation signals across clean beauty, sustainable packaging, and ingredient transparency` |
| `creator` | Your name | `Sarah Chen` |
| `organization` | Your company (optional) | `Acme Strategy` |
| `contactEmail` | Your email | `sarah@acme.com` |
| `perspective` | Your editorial lens / point of view | `Brand strategy perspective focused on Gen Z beauty consumers` |
| `sectors` | Comma-separated sectors covered | `Beauty, Retail, Health` |
| `industries` | Comma-separated industries covered | `Skincare, Fragrance, Supplements` |
| `geography` | Geographic coverage | `US, UK, Korea` |
| `updateFrequency` | How often you add signals | `Weekly` |
| `license` | Data license type | `fodda-network` |

---

## How the Tabs Connect

```
Signals tab                    Patterns tab
┌─────────────────┐           ┌──────────────────┐
│ signal_id: 1    │──────────▶│ pattern_name:     │
│ pattern_name:   │           │ "Circular Retail  │
│ "Circular Retail│           │  Experiences"     │
│  Experiences"   │           │ confidence: 7     │
│ brands: "Nike"  │           └──────────────────┘
└────────┬────────┘
         │
         ▼
Entities tab
┌──────────────────┐
│ name: "Nike"     │
│ type: "Brand"    │
│ pattern_names:   │
│ "Circular Retail │
│  Experiences"    │
└──────────────────┘
```

The `pattern_name` field is the glue — it links signals to patterns. The `name` + `pattern_names` fields link entities to patterns. This is your knowledge graph.

---

## Tips for Strategists

1. **Start with what you're already collecting.** If you bookmark articles in Feedly, Notion, or a Slack channel — those are your signals. Paste the URLs in.

2. **Don't overthink the summary.** Write what happened, who did it, and why it matters. Or let the Signal Collector (Brief 2) do it for you with AI extraction.

3. **Patterns emerge — don't force them.** Add 10–20 signals first, then look for connections. Brief 2 includes an AI-assisted "Suggest Patterns" feature that helps.

4. **The graph gets more valuable over time.** A graph with 50 signals and 8 patterns is already useful. At 200 signals, it starts surfacing connections you wouldn't have spotted.

5. **Your perspective IS the value.** Anyone can scrape articles. Your editorial judgment — which signals matter, how they connect — is what makes your graph worth querying.

---

## What's Next

| Step | Brief | What It Does |
|------|-------|--------------|
| Automate signal collection + pattern recognition | [Brief 2: Signal Collector](brief-signal-collector.md) | Builds a web app that extracts signals from URLs and suggests patterns |
| Publish to the Fodda network | [Brief 3: Publish to Fodda](brief-publish-to-fodda.md) | Register your graph so others can query it |
| Build your own MCP server (optional) | [Advanced: Standalone MCP Server](brief-standalone-mcp.md) | For power users who want full control |

---

*Fodda Pattern Standard · Template Version 1.0 · March 2026*
