Your customer email field is 78% complete. Your pipeline has $2.4M with no close date on 35% of opportunities. Your product catalog has 40% of SKUs with no category assigned. These aren't random gaps — null values enter your database through predictable pathways, each with a specific fix.
How Null Values Enter Your Database
Path 1: Optional Fields at Data Entry
The most common source of null values: fields that are labeled as optional on entry forms and CRM record creation flows. When a field isn't required, many users skip it — especially under time pressure. "Primary contact phone" is optional on your CRM contact creation form, so 60% of contacts get created without one.
Optional fields create null values by design. The question is whether those optional fields actually need to be optional, or whether requiring them would improve data quality without being unreasonably burdensome.
Sohovi profiles every column in your dataset for completeness and flags the exact rows where values are missing — free to try.
Path 2: Imports That Don't Map All Fields
When data is imported from an external file or system, fields in the source file may not have a corresponding field in the destination — or the field names may not match and the import tool doesn't connect them.
The result: every record in the import has a null in the unmapped destination field. A contact import from a partner file that doesn't have a "Lead Source" column leaves every imported contact with a null Lead Source.
Path 3: Schema Changes Without Backfill
A new field is added to a table — "Customer Tier" — to classify customers into segments. The field starts populating for new records, but existing records remain null because no one runs a backfill. A year later, 60% of customer records have "Customer Tier" populated; 40% are still null from before the field was added.
Sohovi finds gaps, duplicates, and format errors in your CRM data — so your team is working from records they can trust.
Path 4: Integration Failures
When a system integration fails to sync data, the destination may receive the record with some fields null — the integration wrote what it could and left the rest blank. This produces a partial record that looks complete at a structural level but is missing critical fields.
Path 5: Data Deletion or Expiration
Sometimes null values appear because a referenced record was deleted or expired. An order linked to a customer who was later deleted leaves the customer name field effectively null (even if the ID isn't null). A subscription plan that expired leaves the "Current Plan" field without a meaningful value.
Path 6: "Not Available" Treated as Null
When a field genuinely doesn't apply to a record — an individual contact has no "company size" if they're an independent freelancer — there's a decision about whether to leave the field null or use a placeholder like "N/A" or "Unknown." Inconsistent handling of this creates a mix of nulls and placeholder strings that both represent "not applicable" but break filtering and segmentation logic.
Frequently Asked Questions
Q: What causes null values in a database? The most common causes are: optional fields at data entry that users skip, imports that don't map all source fields, schema changes without backfilling existing records, integration failures that produce partial records, deletion of referenced records, and inconsistent handling of "not applicable" values.
Q: What is the difference between a null and an empty string in data quality? A null means "no value" — the field is absent. An empty string means "a value exists but it's zero-length text." In most database systems, null and empty string are different — a WHERE clause checking for null won't return empty strings, and vice versa. This causes completeness checks to behave unexpectedly if the two are mixed.
Q: How do I find null values in my data? In SQL: SELECT COUNT(*) - COUNT(field_name) FROM table gives the null count for a field. In a spreadsheet: COUNTBLANK(column_range) returns the count of empty cells. Data quality tools like Sohovi show null rates for every column automatically.
Q: What's the best way to handle null values in analysis? It depends on the context. Nulls may represent "not applicable" (no company size for an individual), "not yet collected" (email not captured at entry), or "genuinely unknown" (birth date not provided). Each has different implications for analysis. Never assume nulls mean the same thing across all records.
Q: Should I replace null values with defaults during data cleaning? Only if the default meaningfully represents "no value provided" and won't distort analysis. Replacing a null revenue with 0 will understate average revenue. Replacing a null country with "US" will overstate US representation. Use defaults carefully and document every substitution.
Q: What is null propagation and why is it a problem in analytics? Null propagation occurs when a null value in one field propagates through calculations to produce null outputs. NULL + 5 = NULL in most SQL environments. An aggregate that includes a null-containing row may return null instead of a number. This can silently corrupt KPIs.
Q: How do I prevent nulls from entering through imports? Validate every import file before loading: check that all required fields are present and populated. For optional fields that you want populated where possible, add a pre-import step that maps commonly available fields from the source file to the required destination fields.
Q: What is a backfill and when is it needed? A backfill is the process of populating a new field with values for existing records that were created before the field existed. It's needed whenever a new required field is added to a system that already has data. Without a backfill, every existing record has a null in the new field.
Q: How do I reduce nulls in an existing database? Identify which fields have the highest null rates. For each, investigate: why is it null? Can it be filled from other data in the system? Can it be filled from an external source (enrichment)? Can it be inferred from other fields? Then implement a fill strategy for each field and add prevention to stop new nulls from entering.
Q: What completeness threshold should trigger action for a field? It depends on how the field is used. For fields used in every campaign or report (like email), 98%+ completeness should be the target, and any drop below 95% should trigger investigation. For optional enrichment fields, 70-80% may be acceptable. Define thresholds based on how much the field matters for your primary use cases.
Nulls don't appear randomly — they enter through specific, identifiable pathways. Fix the pathway and you fix the null rate. Add validation, improve import mapping, backfill after schema changes, and monitor completion rates over time.
Sohovi lets you set up validation rules for any column and instantly see which rows fall outside them — no code or SQL required.
