Data Quality & Audit · Automotive retail

Check what happened after a lead

A CRM status tells only part of the story. We linked leads with recorded vehicle sales and registration history so reviewers can see which records need a closer look.

RoleData engineering
IndustryAutomotive retail
ScopeLead records and manager summaries

The problem

CRM status alone could not explain the outcome

A vehicle could appear in registration records after a lead was opened, with no corresponding sale in the company’s records. Checking these cases meant bringing together information from separate systems.

What we built

A comparison across three sources

Start with the lead

Keep the opening date, status and responsible manager. Use the vehicle identifier from the appraisal or lead record.

Check recorded sales

Match the vehicle against company sales records and compare the sale date with the lead opening date.

Add registration history

Find qualifying registration events after the lead was opened. Retain the event type and date for review.

The review rule

Which leads are flagged

A lead is flagged when it has a vehicle identifier, no matching recorded company sale on or after its opening date, and a qualifying registration event within the following 30 days. The rule applies across CRM statuses, including leads still in progress.

A flag is a reason to check the record. Registration events can include changes to owner details, inheritance and other operations; they do not, by themselves, establish a sale or misconduct.

The result

The details behind each flagged lead

The output feeds a Power BI report. Each lead record includes its CRM status, recorded sale, first and subsequent registration events, and the time between them. A separate manager summary shows the number and share of flagged leads among records with a vehicle identifier and no matching company sale.

Data checks

Avoid counting the same event twice

The same vehicle can appear in several leads. Registration events are deduplicated after matching so one event does not become a false repeat registration. Matching also excludes missing or non-17-character vehicle identifiers and keeps the registration operation type available for review.

Processing

Limit the registration data to relevant vehicles

The registration stage selects vehicles already present in the lead data. Source loading supports parallel reads, and detailed row counts for each stage are reserved for debug mode.

Implementation

From source records to a review report

Our work covered source integration, matching rules, lead-level output and manager summaries. The pipeline runs the comparison and writes its results for reporting.

PySparkSpark SQLPostgreSQLPower BI

Need to check CRM outcomes against other records?

We can help define the matching rules and put the relevant records in one report for your reviewers.

Discuss your project →