You're cleaning a CSV file with missing values in several columns. Some are empty because the information was never collected. Some are empty because they're not applicable for those records. Some are empty because of a import error that should have populated them. The right approach to each is different — deleting everything would be as wrong as keeping everything.
Here's how to make the right decision for each type of missing value.
Step 1: Understand Why the Value Is Missing
Before doing anything, investigate the cause:
Never collected: The field existed but wasn't filled in — optional form fields, records from before the field was added to your system, or manual entry that was rushed.
Not applicable: The field genuinely doesn't apply to this record. A "company name" field being empty for an individual consumer contact isn't a data quality problem.
Sohovi profiles your datasets for quality issues in minutes — see what's broken before it breaks your pipeline — try Sohovi free.
Import error: The value should be there but wasn't transferred correctly — a mapping error, encoding issue, or column mismatch during import.
Data not available: The information isn't known and can't be reasonably looked up. The record is complete given available information.
Step 2: Assess Impact on Your Use Case
A missing value in a field you don't use isn't a problem worth fixing. A missing value in the field you use to segment or filter your data is critical.
Sohovi profiles every column in your dataset for completeness and flags the exact rows where values are missing — free to try.
Prioritize fixing missing values in: email address (for contact use cases), primary identifier fields, fields used in segmentation or filtering, and fields used in calculations.
Step 3: Choose an Action
For "never collected" with a retrievable value: Look up the correct value and fill it in. This is the most complete solution.
For "never collected" with no retrievable value: Mark the record as incomplete for this field (add a flag column). Include or exclude from use cases based on whether the field is required.
For "not applicable": Confirm that null is the correct representation. Consider adding a separate field to explicitly flag "not applicable" vs. "unknown" if the distinction matters.
For import errors: Fix the import process. Re-run the import with corrected mapping. The data exists somewhere — retrieve it.
For "data not available": Use an explicit placeholder that's clearly "unknown" rather than null — if null is ambiguous in your system. For most cases, null is fine.
The Wrong Approaches
Deleting rows with missing values: Unless the missing field is absolutely required for every use case, you lose data unnecessarily.
Filling with averages or "most common values": Statistical imputation is for machine learning, not for business operational data. Don't fabricate business records.
Ignoring and proceeding: Using data with significant missing values without acknowledging the limitation leads to misleading analyses.
Sohovi shows you exactly which columns have missing values and at what rate — giving you the information you need to make the right decision for each.
