• 5 tables
  • 14,084 rows
  • 7 formats
  • SQL edition
  • synthetic data

Food Delivery Dataset for SQL Database Analysis

This ready-made food delivery dataset is designed for SQL database analysis. It contains 14,084 rows across 5 tables, covering customer information, restaurant details, orders, and delivery logistics. The data spans from February 29, 2020, to July 1, 2024, providing a recent snapshot for practice.

  • last updated 28 Oct 2026
  • by GoMask
  • Dataset includes 5 tables: customers, drivers, restaurants, orders, and deliveries.
  • Contains 14,084 rows of synthetic data.
  • Covers order and delivery information from February 29, 2020, to July 1, 2024.
  • Includes details on customer demographics, order specifics, and delivery performance.
  • Ideal for practicing SQL queries related to e-commerce and logistics.

At a glance

  • 5tables
  • 14,084rows
  • 27columns
  • Feb 2020 – Jul 2024date range

The 5 tables

preview and data dictionary per table

Customers customers · table · 3,000 rows

Contains information about registered customers.

Preview

First 10 of 3,000 rows of the Customers table
customer_iduuidcustomer_namestringcustomer_emailstringcustomer_addressstringcustomer_citystringcustomer_statestringsignup_datedate
fcfdc668-9573-4f39-95a3-587c623167b3Robert Jones[email protected]123 Maple Street, Los Angeles, CALos AngelesCA2022-09-20
e7e23f7e-968b-439a-a478-0a37d7a1027fOlivia Garcia[email protected]456 Oak Avenue, New York, NYNew YorkNY2024-02-18
b3090a27-b228-401a-8c0b-924d599fd341Sophia Martinez[email protected]789 Pine Lane, San Francisco, CASan FranciscoCA2022-12-14
f03161d3-f85a-404b-b9d4-1bd4662af2c8Noah Rodriguez[email protected]101 Elm Drive, New York, NYNew YorkNY2023-03-01
ac944a28-caa2-4ed7-95ce-54c44fe057ecEmma Hernandez[email protected]202 Birch Road, Los Angeles, CALos AngelesCA2020-01-18
4ef8e912-aa0f-4708-9af5-7e920bef1ea6Ethan Lopez[email protected]303 Cedar Court, New York, NYNew YorkNY2023-08-30
d326836e-6533-4963-a860-f347c2d718b4Ava Gonzalez[email protected]404 Spruce Way, Los Angeles, CALos AngelesCA2023-10-21
b25927e5-5cce-45dd-ba52-a32e96959113Liam Wilson[email protected]505 Walnut Circle, Los Angeles, CALos AngelesCA2022-07-15
f365f09a-151f-4444-80a9-f82329bfe559Mia Anderson[email protected]606 Cherry Street, Seattle, WASeattleWA2020-10-12
035b3a10-74ba-42c3-9230-9888467db4c3James Thomas[email protected]707 Poplar Avenue, New York, NYNew YorkNY2023-04-15
10 of 3,000 rows · 7 columns

Data dictionary

Data dictionary for the Customers table
columntypedescriptionexamplenull %
customer_iduuidPrimary key identifier for each unique customer.uniquefcfdc668-9573-4f39-95a3-587c623167b30%
customer_namestringFull legal name of the registered customer.Robert Jones0%
customer_emailstringContact and login email address for the customer account.unique[email protected]0%
customer_addressstringPrimary street address for delivery drop-offs.123 Maple Street, Los Angeles, CA0%
customer_citystringCity where the customer resides.Los Angeles0%
customer_statestringTwo-letter US state postal abbreviation.CA0%
signup_datedateDate on which the customer account was created.2022-09-200%

Drivers drivers · dimension table · 498 rows

Information about the delivery drivers.

Preview

First 10 of 498 rows of the Drivers table
driver_iduuiddriver_namestringdriver_phonestringvehicle_typestring
f1796792-1cc4-4d1c-ac6e-16fd2d986cc6Thomas Smith-Jones+15551234567Motorcycle
6e0047bc-769f-4178-9233-7961bd24d5bbBeatrice O'Malley+15551234568Motorcycle
67cc56b6-4b22-48a5-92ba-079cc3ed8372Charles Dubois+15551234569Motorcycle
81e946ec-55de-4809-8515-b4488491f0d0Diana Garcia-Lopez+15551234570Motorcycle
edb0b9dd-1072-4a66-998c-90b6c54ba3a6Ethan Kim+15551234571Motorcycle
11aced29-923f-421b-bbd7-4888d250bc1fFiona Campbell+15551234572Motorcycle
e13c818c-536e-4175-b726-bd67087a1100George Rodriguez+15551234573Motorcycle
bf413cf4-d54f-4eaf-bc85-95db1ef57056Hannah Lee+15551234574Motorcycle
f8ce5b8c-8b30-45bd-9b1c-13ec37762700Isaac Patel+15551234575Motorcycle
c15cd763-6123-4966-9de5-afca22fa6f4cJasmine Williams+15551234576Motorcycle
10 of 498 rows · 4 columns

Data dictionary

Data dictionary for the Drivers table
columntypedescriptionexamplenull %
driver_iduuidUnique identifier for the delivery driver (primary key).uniquef1796792-1cc4-4d1c-ac6e-16fd2d986cc60%
driver_namestringFull name of the delivery driver.Thomas Smith-Jones0%
driver_phonestringUnique contact phone number for the delivery driver in E.164 standard format.unique+155512345670%
vehicle_typestringMode of transportation used by the driver for deliveries.Motorcycle0%

Restaurants restaurants · dimension table · 100 rows

Details about the partner restaurants.

Preview

First 10 of 100 rows of the Restaurants table
restaurant_iduuidrestaurant_namestringrestaurant_citystringrestaurant_cuisine_typestring
d934cfa8-972c-47d3-a97e-b3befa844c5bSpice of IndiaSan DiegoIndian
192d3d14-4955-41a4-a449-3eedf60ae351The Urban SpoonNew YorkOther
3dffe1e8-6a39-4525-9335-8bf33d38ad74Bombay PalaceLos AngelesIndian
f4eea4fb-9dfc-4974-bd05-a6f0c36e9ed8LA Food HubLos AngelesOther
020f15a4-0c15-4a1d-a70f-0d6bc7350b95Metro BitesNew YorkOther
0dfb5c6b-c40e-471d-9235-557f67cf3636Philly FlavorsPhiladelphiaOther
94f51899-5cfc-4f86-b6c1-15cd3d5ab913Desert DelightsPhoenixOther
44244eb7-17ec-482f-be6b-f18ea5486e51Curry House ChicagoChicagoIndian
e4797e4d-858d-4fd8-bf1e-9ff5ae73052dSan Diego EatsSan DiegoOther
f832d6a4-7433-4d52-9237-395d4abe6373Liberty Bell GrubPhiladelphiaOther
10 of 100 rows · 4 columns

Data dictionary

Data dictionary for the Restaurants table
columntypedescriptionexamplenull %
restaurant_iduuidUnique identifier for the partner restaurant.uniqued934cfa8-972c-47d3-a97e-b3befa844c5b0%
restaurant_namestringTrading name of the restaurant establishment.Spice of India0%
restaurant_citystringOperating city of the restaurant.San Diego0%
restaurant_cuisine_typestringPrimary cuisine type served by the restaurant.Indian0%

Orders orders · fact table · 5,243 rows

Records of customer food orders.

Preview

First 10 of 5,243 rows of the Orders table
order_iduuidorder_datetimedatetimeorder_total_amountdecimalorder_statusstringdelivery_feedecimalcustomer_iduuid
52ef47c2-b0bc-4538-a089-1e4dd712ade42024-02-23 18:41:5331.87Completed2.91137595d5-fc1e-4492-9872-9f44299edf99
16efc2e7-2390-431f-a610-9ed2f932f9362023-06-13 18:33:4120.26Completed3.68b20f5d45-3a87-46ae-805d-d872135f7c3a
fbffead4-cea2-4faa-96f7-7b6b9d0c88162021-12-18 17:35:5536.82Completed3.31a5e96496-783b-4f73-8e9c-3c9447bd8262
962941b6-187f-4a70-b328-f133655472f92024-02-10 16:00:5117.36Completed3.48134b8ad5-359c-43e7-957a-8d0e74bed3d7
f1f5d2c7-4f14-49e1-b9e8-1d0f3072ed3b2022-11-11 21:24:4323.2Completed3.066356f848-373c-48d9-99fb-bd53ff10bb61
7887c3cf-8331-404c-a2d6-d0e4f5e90c8e2023-08-31 12:11:0237.78Completed3.4770e35fcf-d491-4831-8d09-ec56e21b5bb4
359cd556-5b47-49fb-9848-4a9c383b5f382024-04-11 10:32:4421.11Completed4.06a60a3b36-d5d5-4655-9010-29c5279e7c68
597d2569-9e9e-431e-ba53-1acc0c8374c72024-03-08 15:08:1933.68Completed4.13340a5074-4b0f-4006-a7f5-a019827b73f0
c9ec87b5-8e09-454f-b744-1e1dc53c36e92022-10-09 14:20:4730.96Completed1.66a424da83-a7fd-41e8-8bd3-7be827e76dad
e0b47a5b-7f02-434e-8b1a-bf496ee058cf2023-07-14 17:37:3627.9Completed4.16847eaa68-7662-4f6e-972b-52197621a26c
10 of 5,243 rows · 6 columns

Data dictionary

Data dictionary for the Orders table
columntypedescriptionexamplenull %
order_iduuidUnique identifier for the food delivery order.52ef47c2-b0bc-4538-a089-1e4dd712ade40%
order_datetimedatetimeTimestamp when the customer placed the order.2024-02-23 18:41:530%
order_total_amountdecimalTotal monetary amount for the meal order in USD.31.870%
order_statusstringCurrent fulfillment status of the order.Completed0%
delivery_feedecimalDelivery fee charged for the order in USD.2.910%
customer_iduuidForeign key to customers.customer_id.137595d5-fc1e-4492-9872-9f44299edf990%

Deliveries deliveries · fact table · 5,243 rows

Information related to the delivery of orders.

Preview

First 3 of 5,243 rows of the Deliveries table
delivery_iduuidpickup_datetimedatetimedelivery_datetimedatetimedelivery_regionstringorder_iduuiddriver_iduuid
a1bf891f-cd46-43d0-9b77-44d945d23b342024-05-16 10:46:212024-05-16 11:34:18North52ef47c2-b0bc-4538-a089-1e4dd712ade431345092-2870-4fda-84e6-e9680536c559
e83e0bd6-6dbd-45cd-8628-7f1b405c27e42024-05-31 09:55:362024-05-31 10:56:13North962941b6-187f-4a70-b328-f133655472f90059d9a2-e133-4343-89b7-9221f89c25a4
6623b0a0-1e35-422a-b0e0-4cedbc82a18d2024-06-14 04:31:242024-06-14 05:14:35Northf1f5d2c7-4f14-49e1-b9e8-1d0f3072ed3bafca51d4-68b0-4729-9b03-b0783a85827e
3 of 5,243 rows · 6 columns

Data dictionary

Data dictionary for the Deliveries table
columntypedescriptionexamplenull %
delivery_iduuidUnique primary identifier for the delivery event.4027a045-ef9c-4a71-8844-ac2ac4d18e490%
pickup_datetimedatetimeTimestamp when driver picked up the order from the restaurant.2024-05-17 08:56:240%
delivery_datetimedatetimeTimestamp when driver completed delivery to the customer.2024-05-17 10:02:300%
delivery_regionstringGeographical quadrant or zone where the delivery took place.North0%
order_iduuidForeign key to orders.order_id.bdb32460-593f-4487-83b1-3e8e0a9702980%
driver_iduuidForeign key to drivers.driver_id.09ab3079-810a-4fb3-99b6-78c1115b313b0%

How the tables join

  • orders.customer_id references customers.customer_idmany to one: each Orders row points to one Customers row
  • deliveries.order_id references orders.order_idmany to one: each Deliveries row points to one Orders row
  • deliveries.driver_id references drivers.driver_idmany to one: each Deliveries row points to one Drivers row

Questions to answer with it

  1. Calculate the average delivery time per region using orders and deliveries tables.

    You may need to calculate the difference between delivery_datetime and pickup_datetime to find delivery time.

    tables: orders, deliveries

  2. Identify the top 5 customers by total order amount using customers and orders tables.

    Join customers and orders tables and group by customer to sum their order amounts.

    tables: customers, orders

  3. Determine the busiest hours for order placement by analyzing the hour component of order_datetime in the orders table.

    Extract the hour from the order_datetime column and count the occurrences for each hour.

    tables: orders

  4. What is the distribution of order statuses in the orders table?

    Group by order_status and count the number of orders for each status.

    tables: orders

Starter SQL

run against this data before publishing

Table names match the SQLite file and the SQL script.

Top 20 Customers by Total Order Amount

sql
SELECT c.customer_name, SUM(o.order_total_amount) AS total_spent
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
GROUP BY c.customer_name
ORDER BY total_spent DESC
LIMIT 20;

Order Volume by Hour of Day

sql
SELECT STRFTIME('%H', order_datetime) AS order_hour, COUNT(order_id) AS order_count
FROM orders
GROUP BY order_hour
ORDER BY order_count DESC
LIMIT 20;

Order Status Distribution

sql
SELECT order_status, COUNT(order_id) AS status_count
FROM orders
GROUP BY order_status
ORDER BY status_count DESC
LIMIT 20;

Load it with pandas

python
import pandas as pd

# Unzip the CSV download first: one file per table
customers = pd.read_csv("customers.csv")
drivers = pd.read_csv("drivers.csv")
restaurants = pd.read_csv("restaurants.csv")
orders = pd.read_csv("orders.csv")
deliveries = pd.read_csv("deliveries.csv")

# Join orders to customers
df = orders.merge(customers, left_on="customer_id", right_on="customer_id", how="left", suffixes=("", "_customers"))
print(df.groupby("customer_city").size().sort_values(ascending=False))

Using it in your tool

SQL
The dataset is provided in SQLite format. The tables are already defined with appropriate data types. Primary and foreign keys are established to facilitate joins between tables. For example, 'orders.customer_id' links to 'customers.customer_id', and 'deliveries.order_id' links to 'orders.order_id'.

Formats available

  • CSV (zip)One CSV file per table, zipped
  • Excel workbookOne worksheet per table
  • SQLite databaseA ready-to-query database file with every table
  • Parquet (zip)One Parquet file per table, zipped
  • SQL scriptCREATE TABLE with primary and foreign keys, then INSERTs
  • CSVA single CSV file
  • JSONA single JSON file

How this data was generated

Synthetic data. Every row was generated: no real people, customers or companies are in this dataset.

Synthetic data generated by GoMask DataFactory from a relational blueprint: keys, links and rules are enforced in code, text columns are filled by a language model. No real people, companies or transactions.

  • The data was generated using GoMask DataFactory, creating synthetic customer, order, and delivery records.
  • Relationships between customers, orders, and deliveries were simulated to mimic realistic transaction patterns.
  • Timestamps and monetary values were randomized within plausible ranges for the food delivery industry.
  • Checked by an automated quality gate: unique keys, no orphan foreign keys, required columns filled, declared rules and date ranges (realism score 84).

Limitations

  • The dataset is synthetic and does not represent real-world individuals or transactions.
  • Geographic data is limited to city and state level for customers and city for restaurants, with delivery regions simplified.
  • Restaurant cuisine types are categorized broadly, with an 'Other' category for less common types.
  • Distributions and correlations are modelled, not measured from real records.

blueprint · food-delivery-dataset-for-sql

Scale this dataset

Same tables. As many rows as you need.

Open the blueprint behind these 5 tables in Data Factory: keep the relationships, change a column, and generate it at the size you need.

  • 200,000 rows
  • 1,000,000 rows
Scale this dataset in Data Factory
Tables
customers, drivers, restaurants, orders, deliveries
Licence
yours to use, including commercially
API slug
food-delivery-dataset-for-sql

What should your data show?

Preview 20 rows free
No signup. No card.