1. Final Data Management Project – Midtown Motors
Teresa J. Rothaar
Wilmington University
2. Background
Midtown Motors owns three dealerships in the San Fernando Valley area of Los Angeles:
Midtown Ford Lincoln, Midtown Chrysler Jeep Dodge Ram, and Midtown Fiat. They are all
located within two miles of each other on Ventura Boulevard in Woodland Hills.
The company currently has an archaic CRM system that does not meet their needs. Each
dealership has its own database, and there is no sharing of data between dealerships, or even
between the salespeople in each location. Further, once a customer is “assigned” to a
salesperson, no one else can view the customer’s data. This results in extreme data redundancy
as the same customer is entered multiple times by multiple salespeople, lost sales opportunities
when salespeople cannot see a customer’s history, and conflicts between salespeople when one
salesperson inadvertently “poaches” another’s customer.
Purpose
The new CRM system will help Midtown Motors sell more cars by giving salespeople the
tools they need to effectively build relationships with customers. Being able to track what a
customer has looked at and when, and what their likes and dislikes are, is critical to matching
that customer with a suitable vehicle.
Requirements & Business Goals
Midtown would like one relational CRM database that all three dealerships can access,
with data shared between the sales managers, Internet salespeople, and floor salespeople. For
example, if a customer visits the Ford Lincoln dealership to test-drive a car, then visits the
Chrysler location to look at more cars, the customer is entered into the CRM only once, and all
salespeople and managers can view that customer’s history. Similarly, if a customer visits the
Ford Lincoln shop in January and talks to one salesperson, leaves without buying anything, and
2
3. comes back again in May, to be waited on by another salesperson, the second salesperson can see
that the customer “belongs” to the first. Additionally, floor salespeople would be able to see if a
customer who showed up in-person at a dealership previously communicated by email with an
Internet salesperson.
The system also needs to track which vehicles are for sale at each location, as well as
which have been sold, and to which customer.
Business Rules
Following are key business rules:
• In the car industry, there is a difference between the “sale date” and the “delivery
date” for a vehicle. The sale date is when the customer agrees to purchase a
vehicle and places a down payment to hold it. The delivery date is when the
customer actually takes the car home. These are often the same, but not always.
From the dealership’s perspective, a deal is not final, and the salesperson does not
receive credit or commission, until the customer takes the car home, because
sometimes deals fall through (for example, the customer cannot qualify for
financing).
• Up to two salespeople may get credit for the sale of a vehicle.
• Salespeople will be permitted to view all customer records, add new customer
records, and update existing ones.
• Only managers will be permitted to reassign customers to individual salespeople,
delete customer records, or add vehicles into the system.
• Only managers will have the ability to add new salespeople as they are hired, and
delete them when they leave the company.
3
4. System Overview
We recommend a centralized, relational MySQL database to be run off the server
currently located in the Internet Sales Department, which is located within the Ford Lincoln
dealership. MySQL will save the company money while allowing the flexibility and scalability
needed as the dealerships grow.
User Requirements
Users of the system will be sales managers and salespeople in each location. Because
many car salespeople are not computer gurus, the system should have a GUI that is easy to use
even for beginners. Additional requirements include:
• Login screen: with different access privileges for managers and salespeople.
• Add/delete/update functionality.
• History: managers and salespeople will be able to view and update each
customer’s complete history, including visits to each dealership, which cars the
customer test-drove (if any), and who the customer spoke with.
Data Requirements
There are no paper records to input, as the dealership has been computerized for a
number of years, but existing customer data will need to be migrated from the dealership’s
current CRM systems.
Each customer, salesperson, and vehicle will have a unique ID number. Salespeople will
be assigned a “type” of floor, Internet, or manager. The associative entity Customer Visit will
link customers with the locations they have visited, the salespeople they dealt with, and the
vehicles they test-drove. The associative entity Deal will link a customer with a particular car
they purchased and the salespeople who get credit for the sale.
4
6. Table Attribute Data Type Size Definition
Location LocationID (PK) CHAR 4 Assigned identifier with the format
M1234.
LocationName VARCHAR 60 Location name, i.e., Midtown
Motors Ford Lincoln.
Customer CustomerID (PK) CHAR 8 Assigned identifier with the format
CID12345.
CustFirstName VARCHAR 30 Customer first name.
CustLastName VARCHAR 30 Customer last name.
CustStreet VARCHAR 60 Customer address.
CustCity VARCHAR 30 Customer city.
CustState CHAR 2 Customer state (USPS abbreviation,
i.e., PA).
CustZip CHAR 10 Customer ZIP+4.
CustPhone CHAR 10 Customer phone number with area
code.
CustEmail CHAR 50 Customer email address.
CustNotes TEXT N/A Notes regarding this customer, i.e.,
“Doesn’t want blue or red.”
Salesperson SalespersonID (PK) CHAR 8 Assigned identifier with the format
EID12345.
LocationID (FK) CHAR 4 ID for location where employee
works.
SPFirstName VARCHAR 30 Salesperson first name
SPLastName VARCHAR 30 Salesperson last name.
SPType ENUM 3 Type of salesperson: floor,
manager, or BDC.
Vehicle VehicleID (PK) CHAR 8 In-house vehicle stock number;
assigned identifier with the format
VID12345.
LocationID (FK) CHAR 4 Dealership where the vehicle is
currently located.
VehicleMake VARCHAR 30 Vehicle make.
VehicleModel VARCHAR 30 Vehicle model.
VehicleYear CHAR 4 Model year of vehicle.
NewOrUsed ENUM 2 Whether vehicle is classified as
new or used.
VehiclePrice DECIMAL 6,2 The sticker (or asking) price for the
vehicle.
VehicleNotes TEXT N/A Notes regarding vehicle: known
issues, features such as sunroof,
color, etc.
Deal DealID (PK) CHAR 8 Assigned identifier with the format
DID12345.
CustomerID (FK) CHAR 8 Customer making the deal.
VehicleID (FK) CHAR 8 Vehicle involved in deal.
SalespersonID (FK) CHAR 8 Salespersons (up to two) who get
credit for deal.
SalePrice DECIMAL 6,2 Vehicle sale price.
DeliveryDate DATE N/A Date that customer takes delivery
of the vehicle (drives it off the lot).
6
7. Table Attribute Data Type Size Definition
CustomerVisit CustomerVisitID (PK) CHAR 16 Composite of FK’s CustomerID &
SalespersonID.
CustomerID (FK) CHAR 8 From Customer table.
SalespersonID (FK) CHAR 8 From Salesperson table –
salesperson who waited on
customer during this visit.
VisitDate DATE N/A Date customer visited.
TestDrive ENUM 2 Whether or not customer took a test
drive.
VisitNotes TEXT N/A Notes regarding this visit: which
cars customer looked at/test drove,
objections, etc.
Reporting Requirements
Salespeople should be able to print reports listing all of their customers, as well as which
customers have visited and/or purchased cars over a specific period of time. Sales managers
should be able to print these same reports, along with weekly and monthly sales reports for each
dealership (cars sold and which salespeople sold them).
Sample SQL Statements
CREATE TABLE Customer
(
CustomerID char(8) NOTNULL,
CustFirstName varchar(30) NOTNULL,
CustLastName varchar(30) NOTNULL,
CustStreet varchar(60),
CustCity varchar(30),
CustState char(2),
CustZip char(10),
CustPhone char(10),
CustEmail char(50),
PRIMARY KEY (CustomerID)
);
7
8. CREATE TABLE Salesperson
(
SalespersonID char(8) NOTNULL,
LocationID char,
SPFirstName varchar(30) NOTNULL,
SPastName varchar(30) NOTNULL,
SPType enum(‘floor’, ‘BDC’, ‘manager’) NOTNULL,
PRIMARY KEY (SalespersonID),
FOREIGN KEY (LocationID) REFERENCES Location(LocationID),
);
/* Display all vehicles delivered in May 2014. Include delivery
date, salesperson ID, vehicle ID, vehicle make, model and year,
and sale price. */
SELECT Deal.DeliveryDate, Deal.SalespersonID, Deal.VehicleID,
Vehicle.VehicleMake, Vechile.VehicleModel, Vehicle.VehicleYear,
Deal.SalePrice
FROM Deal, Vehicle
WHERE Deal.DeliveryDate >= 2014-05-01
AND Deal.DeliveryDate =< 2014-05-31;
/* Display all vehicles delivered in the period of January
through May 2014, sold by salesperson no. EID32858. Include
delivery date, salesperson ID, vehicle ID, vehicle make, model
and year, and sale price. */
SELECT Deal.DeliveryDate, Deal.SalespersonID, Deal.VehicleID,
Vehicle.VehicleMake, Vechile.VehicleModel, Vehicle.VehicleYear,
Deal.SalePrice
FROM Deal, Vehicle
WHERE Deal.DeliveryDate >= 2014-01-01
AND Deal.DeliveryDate =< 2014-05-31
AND DealSalespersonID == EID32858;
/* Display all used vehicles currently in stock at all three
dealerships. Include location ID, vehicle ID, vehicle make,
model and year, and sticker price. */
SELECT LocationID, VehicleID, VehicleMake, VehicleModel,
VehicleYear, VehiclePrice
FROM Vehicle
WHERE NewOrUsed == “used”;
/* The Ford Lincoln shop, location ID no. M001, just traded in a
2012 Lincoln MKZ and is putting it up for sale at an asking
price of $24,000.00. Add this car to the database. */
8
9. INSERT INTO Vehicle(LocationID, VechicleMake, VehicleModel,
VehicleYear, NewOrUsed, VehiclePrice)
VALUES (‘M0001’, ‘Lincoln’, ‘MKZ’, ‘2012’, ‘Used’, ‘24000.00’);
/* Employee no. EID32860 has just been promoted from floor
salesperson to sales manager! Update his employee record. */
UPDATE Salesperson
SET SPType= ‘Manager’
WHERE EmployeeID='EID32860';
/* Unfortunately, employee no. EID32860 did not do very well as
a manager, and his employment has been terminated. Delete him
from the database. */
DELETE FROM Salesperson
WHERE EmployeeID='EID32860';
9
10. Project Data Model
Implementation Timeline & Costs
Days Tasks Estimated Cost
N/A MySQL Enterprise Edition Subscription (1-4 socket
server) – one year
$5,000.00
1-15 Verify business rules, data requirements, reporting
requirements, and user requirements. Finalize data
model.
$1,500.00
16-45 Create database and test functions and GUI. $2,000.00
46-52 Import existing data and ensure integrity of system. $1,500.00
53-60 Hold sessions to train employees on use of new
system.
$1,000.00
10
11. 61 System goes live in all three dealerships. N/A
Project Total $11,000.00
11