Chapter 1. Data Readiness: Why AI Can’t Help If Your Data Is a Mess
Overview
- Purpose: Understand why “just ask AI about our data” doesn’t work, and what foundation you need first.
- You will implement: A simple data dictionary for your key sources and a sample pack for testing AI prompts.
- Prerequisites: Access to your main data sources (ERP exports, spreadsheets, BI views).
The Story: “Can’t You Just Ask AI?”
The moment I knew we had a problem came during a budget review.
Our CFO asked a reasonable question: “Why is Q3 software spend $70K over budget?” She’d heard about AI tools and suggested, “Can’t you just upload the data and ask ChatGPT to explain it?”
I thought I could. I exported our vendor spend data, uploaded it to ChatGPT with Code Interpreter, and asked: “Explain why software spend is over budget.”
ChatGPT responded:
“Looking at your data, I see a ‘Category’ column with values including ‘SW’, ‘Software’, ‘Tech-SW’, and ‘SOFT’. These appear to be software-related. The ‘Amount’ column shows negative and positive values. Could you clarify: 1. Are all these categories supposed to be the same? 2. Are negative amounts credits or expenses? 3. What time period does this cover? 4. What was the budget amount?”
I couldn’t answer most of these questions confidently. The data came from three different systems, each with its own category names. Nobody had documented which categories mapped to “software.” The negative amounts were credits, but that wasn’t noted anywhere. And the budget was in a separate spreadsheet with a different category structure.
The CFO’s “simple” question required three hours of reconciliation work before AI could help at all.
The lesson: AI can’t analyze data you don’t understand yourself. If you can’t quickly explain what each column means, where the data comes from, and how things should add up, AI will just be confused in a more sophisticated way.
“SW,” “Software,” “Tech-SW,” and “SOFT” are all the same thing… right?
Why AI Fails on Messy Data
AI tools are pattern-matching engines. They’re good at: - Finding trends in clean, labeled data - Explaining what’s in front of them - Drafting narratives about numbers
They’re bad at: - Knowing what your data should look like - Understanding your company’s definitions - Reconciling inconsistent sources - Filling in context that isn’t there
When you upload messy data, AI will confidently analyze it–and produce confidently wrong answers.
🏆 Minimum Viable AI Win (10 Minutes)
Try this: Pick one data source you use regularly (a key report, an ERP export, a spreadsheet). Write down:
- Where it comes from (system, report name)
- What each column means (in plain English)
- How often it updates
- What the numbers should add up to (a control total)
That’s a data dictionary for one source. Took 10 minutes. Now when you share that data with AI, you can paste these definitions too, and you’ll get much better answers.
The Minimum Viable Data Foundation
You don’t need a data warehouse project. You need:
1. Know What You Have (Data Map)
A simple list of your key data sources:
| Source | What’s In It | Updates | Owner | Key Gotchas |
|---|---|---|---|---|
| ERP GL Export | Journal entries, actual spend | Daily | Controller | Categories don’t match budget |
| Budget Workbook | Annual budget by account | Monthly | FP&A | Uses different account names |
| CRM Revenue Report | Bookings and pipeline | Hourly | RevOps | Includes multi-year deals at total value |
| Headcount Tracker | Employee roster | Weekly | HR | Doesn’t include open reqs |
2. Define Your Terms (Data Dictionary)
For each key column, document what it means:
Example: Spend Category
Field: Category
Source: ERP GL Export
Values: SW, HW, PS, MKT, FAC, OTH
Mappings:
- SW = Software (includes SaaS subscriptions)
- HW = Hardware (computers, equipment)
- PS = Professional Services (consulting, audit)
- MKT = Marketing (advertising, events)
- FAC = Facilities (rent, utilities)
- OTH = Other
Note: "Tech-SW" and "SOFT" in legacy data should map to SW
Owner: Controller
3. Standardize Time and Currency
Decide once and write it down:
Time: - What’s your fiscal year? (Calendar year? 4-4-5?) - When does a month “close”? (1st business day after month end?) - How do you handle revenue timing? (Booking date? Service start? Cash receipt?)
Currency: - What’s your reporting currency? - Where do exchange rates come from? - How often are they updated?
4. Create a Sample Pack
A small folder of anonymized test data you can safely share with AI:
sample-pack/
├── gl_sample.csv # 20 rows of anonymized GL data
├── budget_sample.csv # 10 rows of budget data
├── mapping.csv # Category mappings
└── README.md # What each file is and how to use it
This lets you: - Test AI prompts without exposing real data - Share examples when asking for help - Have consistent test cases for verification
A Real Data Dictionary Example
Here’s what a useful data dictionary looks like for a spend analysis:
Table: vendor_spend
| Column | Type | Description | Example | Notes |
|---|---|---|---|---|
| vendor_id | text | Unique vendor identifier | V-1234 | From ERP master |
| vendor_name | text | Display name | “Acme Software” | May differ from legal name |
| category | text | Spend category code | SW | See category mapping |
| amount | number | Spend amount in USD | 5000.00 | Positive = expense, negative = credit |
| invoice_date | date | Invoice date | 2024-07-15 | May differ from payment date |
| posting_period | text | Fiscal period | 2024-07 | YYYY-MM format |
| cost_center | text | Department code | FIN-100 | See cost center mapping |
Category Mappings
| Code | Full Name | Includes | Excludes |
|---|---|---|---|
| SW | Software | SaaS subscriptions, perpetual licenses, maintenance | Implementation services (use PS) |
| HW | Hardware | Computers, servers, network equipment | Leased equipment (use FAC) |
| PS | Professional Services | Consulting, audit, legal, implementation | Employee training (use HR) |
| MKT | Marketing | Advertising, events, sponsorships | Sales travel (use T&E) |
Known Issues
- Legacy category codes: Before 2023, “SOFT” and “Tech-SW” were used instead of “SW”
- Multi-currency: Non-USD invoices converted at invoice-date rate; may not match month-end rate
- Accruals: End-of-quarter accruals post on the 1st of next month
The Quality Checklist
Before trusting any data for analysis, check:
Basic Checks (Do Every Time)
Joining Multiple Sources
Before Sharing With AI
When Data Issues Block AI
If you ask AI a question and get a confusing answer, the problem is often data, not AI:
| Symptom | Likely Data Issue | Fix |
|---|---|---|
| “I see conflicting definitions” | Inconsistent categories | Create a mapping table |
| “Multiple time periods” | Mixed date formats | Standardize to YYYY-MM-DD |
| “Can’t determine the total” | Mix of actuals and adjustments | Separate or label clearly |
| “Missing values in key fields” | Incomplete extract | Check source filters |
| “Numbers don’t add up” | Duplicates or missing rows | Check key uniqueness |
Tools That Can Help
For Understanding Your Data
| Tool | Good For | Cost |
|---|---|---|
| NotebookLM | Uploading docs and asking questions about them | Free |
| ChatGPT Code Interpreter | Uploading CSVs for analysis | $20/mo |
| Excel Power Query | Exploring and cleaning data | Included in Excel |
For Documenting Your Data
| Tool | Good For | Cost |
|---|---|---|
| Markdown files | Simple data dictionaries | Free |
| Notion/Confluence | Team-shared documentation | Free tier available |
| Actual data catalogs (Atlan, Collibra) | Enterprise governance | Enterprise pricing |
For most FP&A teams, a shared folder with Markdown files is plenty. Don’t over-engineer.
Start Small: The 5-Field Exercise
Don’t try to document everything at once. Start with one source:
Pick your most-used data source. The one you touch every week.
Document 5 key fields:
## Monthly Revenue Report
### Source
- System: CRM export (Revenue Ops)
- Refresh: Daily
- Granularity: Line item by customer by month
### Key Fields
1. **customer_id**: Unique customer identifier
- Format: CUST-12345
- Source: CRM master
2. **revenue**: Monthly recognized revenue
- Currency: USD
- Negative values: Credits/refunds
3. **segment**: Customer segment
- Values: Enterprise, Mid-Market, SMB
- Based on: ARR at time of booking
4. **product_line**: Product category
- Values: Platform, Add-ons, Services
- Note: "Legacy" products map to "Platform"
5. **period**: Fiscal month
- Format: YYYY-MM
- Timing: By service delivery month
### Control Totals
- Monthly total should match Flash report line 1
- Customer count should match ARR reportThat’s it. Now you have something useful you can share with AI when you need help with this data.
Common Mistakes
| Mistake | Why It Happens | Fix |
|---|---|---|
| No documentation | “Everyone knows this” | Write it down; people leave |
| Stale docs | Updated once, never maintained | Date your docs; review quarterly |
| Too detailed | Over-engineering | Start with 5 fields; add more later |
| No control totals | “I trust the system” | Always have a number to check against |
| Undocumented mappings | “It’s in my head” | Create explicit mapping tables |
Key Takeaways
AI can’t fix data you don’t understand. Document before automating.
Start with one source. Document 5 key fields. Build from there.
Definitions matter. “Category = SW” doesn’t help unless you know SW means Software.
Control totals are essential. Always have a number to check against.
Good enough beats perfect. A one-page Markdown file is infinitely better than nothing.
What You’re Shipping This Week
Next Up
Chapter 2 covers safe and responsible AI use–the security, compliance, and data handling practices you need before experimenting with company data.
