Tools and troubleshooting

Use ChatGPT Data Analysis to Compare Two Tracker Versions Without Counting Formatting

Summary

Cihan's view: Upload both tracker versions, define one matching key, and state which fields count as material. Ask for a table of changed rows with old value, new value, and change type, plus separate added and removed sections. Reformatting and letter case should be reported as ignored, not as changes, and totals should be recalculated from the rows.

Choose another work task →

Two versions of the same tracker usually differ in ways that do not matter. A date changes format, a supplier name changes letter case, and the change log fills with noise. The changes that do matter get buried.

Reader and decision: You are an operations manager comparing last month’s supplier tracker with this month’s. The artifact is a change report with real changes separated from cosmetic noise. The decision is which changes need an owner’s review before the tracker is used for planning.

Evidence label: Documentation-based and illustrative. OpenAI documents file uploads, tables, Python-backed calculations, and reviewing assumptions and outputs in Data Analysis. The CSV files, prompt, and report below are fictional. No ChatGPT run or personal test is claimed.

What you need

  • ChatGPT with file uploads and Data Analysis available. OpenAI notes that available file types and capabilities vary by model, plan, workspace settings, and account capabilities.
  • Both tracker versions, exported as CSV with clear column names and one record per row.
  • A named owner for the fields that count as material.
  • Approved data, or the fictional sample below.

Create the fictional input

Save this as suppliers-2026-10.csv:

supplier_id,name,annual_value,contract_date,status
SUP-01,Northwind Logistics,18000,2026-10-15,Active
SUP-02,Arden Print,4200,2026-09-30,Active
SUP-03,Kaya Freight,9500,2026-10-02,Active
SUP-04,Belen IT,12750,2026-09-12,Active

Save this as suppliers-2026-11.csv:

supplier_id,name,annual_value,contract_date,status
SUP-01,Northwind Logistics,19500,15/10/2026,Active
SUP-02,Arden Print,4200,2026-09-30,Paused
SUP-03,kaya freight,9500,2026-10-02,Active
SUP-05,Demir Security,6100,2026-11-01,Active

Three differences are deliberate traps. SUP-01 shows the same contract date in a different format. SUP-03 shows the same name in lower case. Neither is a business change. SUP-04 disappears and SUP-05 appears, which a simple field-by-field comparison can miss entirely.

Run the workflow

Upload both files and use this prompt:

Compare the two attached supplier trackers.

Reference rules:
- suppliers-2026-10.csv is the OLD version.
- suppliers-2026-11.csv is the NEW version.
- Match rows on supplier_id only.
- Material fields: name, annual_value, contract_date, status.
- Treat these as formatting, not change: date format differences that
  describe the same calendar date, leading or trailing spaces, and
  letter case in text fields.

Produce these sections:
1. Changed rows: supplier_id, field, old value, new value, change type.
2. Added rows, with all field values.
3. Removed rows, with all field values.
4. Ignored formatting differences, listed separately with a reason.
5. Totals: sum of annual_value in each version, and the difference.
6. Counts: rows in each version, material changes, ignored formatting items.

Rules:
- Use only the two attached files.
- Convert dates to YYYY-MM-DD before comparing, and show the converted value.
- Do not infer a reason for any change.
- Do not reformat, rename, or merge supplier IDs.
- If a field is empty or unreadable, write UNKNOWN for that field.

OpenAI states that Data Analysis can create tables for row-by-row review and run Python-based calculations, and that generated code, outputs, and assumptions should be reviewed before you rely on the result. The illustrative report below is written from the fictional files. It is not a captured ChatGPT response.

Changed rows
| supplier_id | field        | old value   | new value   | change type    |
|-------------|--------------|-------------|-------------|----------------|
| SUP-01      | annual_value | 18000       | 19500       | value change   |
| SUP-02      | status       | Active      | Paused      | status change  |

Added rows
| SUP-05 | Demir Security | 6100 | 2026-11-01 | Active |

Removed rows
| SUP-04 | Belen IT | 12750 | 2026-09-12 | Active |

Ignored formatting differences
| supplier_id | field         | reason                                  |
|-------------|---------------|-----------------------------------------|
| SUP-01      | contract_date | 15/10/2026 and 2026-10-15 are the same date |
| SUP-03      | name          | letter case only                        |

Totals
Old annual_value total: 44450
New annual_value total: 39300
Difference: -5150

Counts
Rows: old 4, new 4
Material changes: 4 (1 value, 1 status, 1 added, 1 removed)
Ignored formatting items: 2

The counts are the part to check by hand. Four material changes and two ignored items is six field-level differences between the versions, which matches a manual pass. The totals also move by the amount the changes explain: the price rise adds 1500, the removal takes out 12750, and the addition brings in 6100, which nets to minus 5150.

Acceptance checks

The report is usable when:

  • both files are identified as old and new before any comparison;
  • matching uses supplier_id only, with no fuzzy name matching;
  • the date format difference appears under ignored items, with both forms shown;
  • the letter case difference appears under ignored items, not as a name change;
  • SUP-04 and SUP-05 appear in their own removed and added sections;
  • material changes total 4 and ignored formatting items total 2;
  • the totals are 44450 and 39300, with a difference of minus 5150; and
  • no reason for a change has been invented.

Troubleshooting

The report lists the date reformat as a change. The normalisation rule is missing or was ignored. Restate that dates must be converted to YYYY-MM-DD before comparison and that identical calendar dates are formatting.

A removed supplier is missing from the report. The comparison anchored on the new file alone. Ask for removed rows explicitly, then confirm the old row count of 4 against the listed rows.

Totals do not match the rows. Recalculate from the listed rows yourself. If the difference is not explained by the added, removed, and value changes, the report is wrong and should not be sent.

Text fields are marked as changed when only spacing moved. Add spacing and case to the formatting rules, then rerun. Patterns from spreadsheet exports are a common source of this noise. The CSV input troubleshooting guide covers the input side of the same problem.

Limits and decision

A change report describes differences between two files. It cannot tell you whether a price change was agreed, whether a pause was authorised, or whether a removal was a mistake. Those are owner conversations. Keep both files, the prompt, and the report together so the comparison can be reproduced next month.

TRY this on a fictional export or a low-risk tracker. SKIP it for anything involving payments or contract commitments until the totals have been checked by hand. USE the report to decide which changes need an owner’s answer.

For more practical AI workflows built around real work tasks, join The Weekly Verdict.

Sources

Evidence label: Documentation-based and illustrative. The CSV files, prompt, change report, counts, and totals are fictional teaching material. No ChatGPT execution, supplier data, or Cihan test is claimed.

About Cihan

Creator and operator focused on practical AI for business professionals. Background and editorial approach →