Skip to main content
CSV & Spreadsheet Data Quality

How to Detect Schema Changes in Your Data Files Over Time

Data files that change structure over time — new columns, removed columns, renamed headers — silently break imports and analyses. Here's how to detect these changes early.

Your weekly CRM export has worked perfectly for six months. This week, someone added a new column, renamed two existing columns, and removed one that your reporting system depended on. Your automated import ran without errors — it just populated the wrong fields with the wrong data. You won't notice until the reports look wrong next week.

Schema drift — changes in the structure of data files over time — is one of the most common causes of silent import failures. Here's how to detect and manage it.

What Schema Changes Actually Happen

New columns added: The export now includes columns that weren't there before. If your import is set to match columns by name, new columns are typically ignored. If it matches by position, everything after the new column is shifted.

Columns removed: A column your system depended on no longer exists in the export. The import runs but that field is now null for all records.

Columns renamed: "Email" becomes "Email Address". "company" becomes "Company Name". Your field mapping no longer matches.

Sohovi profiles your datasets for quality issues in minutes — see what's broken before it breaks your pipeline — try Sohovi free.

Column order changed: For position-based imports, even a subtle reordering can put data in completely wrong fields.

Data type changed: A column that previously contained integers now contains text. Calculations break.

How to Detect Schema Changes

Compare column counts and names: Before every import, verify the column count and column names against the expected schema. A simple comparison with the previous import's headers catches most changes.

Header hash comparison: Store a hash (or just a concatenated string) of the column names in order. Compare this hash for each new file. Any change triggers a review.

Profile and compare: Run a profile on each new file and compare completeness rates and column profiles to the previous file. A column that drops from 95% complete to 0% in one period has likely been renamed or removed.

Sohovi profiles every column in your dataset for completeness and flags the exact rows where values are missing — free to try.

Automated column name matching: Build your import process to match columns by name rather than position. This is less fragile to column reordering, though it still fails on renames.

Building Schema Change Detection Into Your Process

Create a "schema snapshot" of each file you import — the list of column names, their data types, and their completeness rates. Compare each new import against the previous snapshot. Any difference triggers a review before the import runs.

This sounds complex, but it's often as simple as a saved spreadsheet with expected column names and a manual comparison before each import.

Sohovi gives you a full quality report on any spreadsheet in seconds — upload your file and see exactly what needs fixing.

Sohovi's profile output shows column names, types, and completeness rates — making it easy to build a comparison habit into your import process. Catching schema changes before import prevents the most frustrating class of data quality failures: the ones that don't produce errors, just wrong data.

Selva Santosh

Data quality, for people who ship

Selva writes practical guides on data quality, profiling, and governance to help teams ship better data.

Start for free

Stop guessing. Start knowing your data quality.

Sohovi profiles your datasets in minutes — surfacing completeness gaps, type mismatches, and duplicate patterns before they reach production.

No credit card required · Free forever plan