The City of Boston publishes inspection records for all licensed food establishments, documenting whether restaurants pass or fail health inspections and detailing violations when they occur. These inspections are conducted by the Health Division of the Department of Inspectional Services, which ensures that all food establishments meet sanitary codes and safety standards. Every business serving food is inspected once per year, with high-risk establishments receiving more frequent follow-up inspections.
This dataset is important for urban informatics because it reveals how local regulatory processes intersect with community well-being. Food safety enforcement represents a critical public health function that operates differently across urban neighborhoods and business types. Residents of neighborhoods like Roxbury and corridors such as Blue Hill Avenue rely heavily on local food outlets for both daily meals and economic opportunities, so inspection outcomes affect both community health and the economic vitality of local businesses. The data also captures how regulatory systems respond to different types of violations and establishments, providing insight into how cities balance public health protection with supporting local commerce. By examining individual inspection records, we can understand the ground-level realities of how urban regulatory systems function and what they reveal about neighborhood conditions and municipal governance.
knitr::opts_chunk$set(echo = TRUE)
# Load tidyverse
library(tidyverse)
# Import CSV
inspections <- read.csv("/Users/jilla/Downloads/Food_Establishment_Inspections_2006-2024.csv", na.strings=c(""))
ins <- data.frame(inspections)
names(ins)
## [1] "businessname" "dbaname" "legalowner" "namelast" "namefirst"
## [6] "licenseno" "issdttm" "expdttm" "licstatus" "licensecat"
## [11] "descript" "result" "resultdttm" "violation" "viol_level"
## [16] "violdesc" "violdttm" "viol_status" "status_date" "comments"
## [21] "address" "city" "state" "zip_code" "property_id"
## [26] "latitude" "longitude" "Blk_ID_20" "BG_ID_20" "CT_ID_20"
## [31] "NSA_NAME" "BRA_PD"
## [1] 845911
## [1] 32
## businessname dbaname legalowner
## 1 100 Federal Market & Barista- 10th Floor NA ONE HUNDRED FEDERAL ST LPS
## 2 100 Federal Market & Barista- 10th Floor NA ONE HUNDRED FEDERAL ST LPS
## 3 100 Federal Market & Barista- 10th Floor NA ONE HUNDRED FEDERAL ST LPS
## 4 100 Federal Market & Barista- 11th Floor NA ONE HUNDRED FEDERAL ST LPS
## 5 100 Federal Market & Barista- 11th Floor NA ONE HUNDRED FEDERAL ST LPS
## 6 100 Federal Market & Barista- 11th Floor NA ONE HUNDRED FEDERAL ST LPS
## namelast namefirst licenseno issdttm
## 1 Compass Group USA Inc Attn:Licensing 537890 2023-08-24 15:28:18
## 2 Compass Group USA Inc Attn:Licensing 537890 2023-08-24 15:28:18
## 3 Compass Group USA Inc Attn:Licensing 537890 2023-08-24 15:28:18
## 4 Compass Group USA Inc Attn:Licensing 443880 2021-11-04 16:59:15
## 5 Compass Group USA Inc Attn:Licensing 443880 2021-11-04 16:59:15
## 6 Compass Group USA Inc Attn:Licensing 443880 2021-11-04 16:59:15
## expdttm licstatus licensecat descript
## 1 2026-01-01 04:59:00 Active FS Eating & Drinking
## 2 2026-01-01 04:59:00 Active FS Eating & Drinking
## 3 2026-01-01 04:59:00 Active FS Eating & Drinking
## 4 2026-01-01 04:59:00 Active FT Eating & Drinking w/ Take Out
## 5 2026-01-01 04:59:00 Active FT Eating & Drinking w/ Take Out
## 6 2026-01-01 04:59:00 Active FT Eating & Drinking w/ Take Out
## result resultdttm violation viol_level
## 1 HE_Pass 2023-08-23 12:28:50 NA NA
## 2 HE_NotReq 2024-01-03 20:23:54 NA NA
## 3 HE_Pass 2024-03-11 16:18:18 NA NA
## 4 HE_Filed 2021-11-03 14:47:15 590.006/6-201.12-C 1
## 5 HE_Pass 2022-03-10 16:33:56 NA NA
## 6 HE_NotReq 2022-03-15 19:22:42 NA NA
## violdesc violdttm
## 1 NA NA
## 2 NA NA
## 3 NA NA
## 4 Floors Walls and Ceilings Utility Lines (C) 2021-11-03 14:47:15+00
## 5 NA NA
## 6 NA NA
## viol_status status_date
## 1 NA NA
## 2 NA NA
## 3 NA NA
## 4 Fail NA
## 5 NA NA
## 6 NA NA
## comments
## 1 NA
## 2 NA
## 3 NA
## 4 The ceiling is an exposed ceiling. Provide a cleanable surface (will talk to heatlh department supervisors about the ceiling)
## 5 NA
## 6 NA
## address city state zip_code property_id latitude
## 1 100 FEDERAL ST BOSTON ma , 02110 57150 42.3547695176604
## 2 100 FEDERAL ST BOSTON ma , 02110 57150 42.3547695176604
## 3 100 FEDERAL ST BOSTON ma , 02110 57150 42.3547695176604
## 4 100 FEDERAL ST BOSTON ma , 02110 57150 42.3547695176604
## 5 100 FEDERAL ST BOSTON ma , 02110 57150 42.3547695176604
## 6 100 FEDERAL ST BOSTON ma , 02110 57150 42.3547695176604
## longitude Blk_ID_20 BG_ID_20 CT_ID_20
## 1 -71.056130450668 250250701042028 250250701042 25025070104
## 2 -71.056130450668 250250701042028 250250701042 25025070104
## 3 -71.056130450668 250250701042028 250250701042 25025070104
## 4 -71.056130450668 250250701042028 250250701042 25025070104
## 5 -71.056130450668 250250701042028 250250701042 25025070104
## 6 -71.056130450668 250250701042028 250250701042 25025070104
## NSA_NAME BRA_PD
## 1 Downtown/Central/West End Central
## 2 Downtown/Central/West End Central
## 3 Downtown/Central/West End Central
## 4 Downtown/Central/West End Central
## 5 Downtown/Central/West End Central
## 6 Downtown/Central/West End Central
## [1] "businessname" "dbaname" "legalowner" "namelast" "namefirst"
## [6] "licenseno" "issdttm" "expdttm" "licstatus" "licensecat"
## [11] "descript" "result" "resultdttm" "violation" "viol_level"
## [16] "violdesc" "violdttm" "viol_status" "status_date" "comments"
## [21] "address" "city" "state" "zip_code" "property_id"
## [26] "latitude" "longitude" "Blk_ID_20" "BG_ID_20" "CT_ID_20"
## [31] "NSA_NAME" "BRA_PD"
## [1] "BOSTON" "ROSLINDALE" "JAMAICA PLAIN"
## [4] "ROXBURY" "DORCHESTER" "BRIGHTON"
## [7] "CHARLESTOWN" "EAST BOSTON" "NA"
## [10] "HYDE PARK" "ALLSTON" "WEST ROXBURY"
## [13] "MATTAPAN" "MISSION HILL" "SOUTH BOSTON"
## [16] "FINANCIAL DISTRICT" "CHESTNUT HILL" "FENWAY"
## [19] "SOUTH END" "WEST END" "BACK BAY"
## [22] "CHINATOWN"
## [1] "ma" "NA"
## [1] "Downtown/Central/West End" "West St/River St"
## [3] "Jamaica Central/South/Sumner" "South End - Shawmut"
## [5] "Prudential/St Botolph" "Columbia Pt/Savin Hill"
## [7] "Brighton - St Elizabeth's" "Central-Maverick Sq/Paris St"
## [9] "Chinatown/SCove/Bay Village" "Beacon Hill"
## [11] "NA" "Stoney Brook/Cleary Square"
## [13] "Washington Park" "South End - Columbus"
## [15] "Back Bay East" "Allston"
## [17] "Commonwealth - Cleveland Cir" "Brighton - Oak Square"
## [19] "Eagle Hill" "Jeffries Point/Airport"
## [21] "Upper Washington/Spring St" "Lower Washington/Mt Hope"
## [23] "W Codman Hill/W. Lower Mills" "Egleston Square"
## [25] "Fields Corner East" "Fenway"
## [27] "West Fens" "Southern Mattapan"
## [29] "Metropolitan Hill/Beech St" "Meeting Housing Hill"
## [31] "Jamaica Hills/Pond" "Uphams Corner/Jones Hill"
## [33] "Medical Center Area" "South End - Harrison Lenox"
## [35] "D Street/West Broadway" "Hyde Square"
## [37] "Thompson Sq/Bunker Hill" "Franklin Field South"
## [39] "Brook Farm/VFW Parkway" "Lower Roxbury"
## [41] "Kenmore" "Mission Hill Projects"
## [43] "Highland Park" "North End/Waterfront"
## [45] "Franklin Field North" "Back Bay West"
## [47] "Fields Corner West" "Columbus Park/Andrew Sq"
## [49] "Ashmont" "St Marks"
## [51] "Wellington Hill" "Commonwealth - Kelton St"
## [53] "Telegraph Hill" "Dudley/Brunswick King"
## [55] "Bowdoin North/MtBowdoin" "Forest Hills/Woodbourne"
## [57] "Neponset/Port Norfolk" "Medford St/The Neck"
## [59] "East Lower Mills/Cedar Grove" "Codman Sq/East Codman Hill"
## [61] "Sav-Mor" "Harbor View/Orient Heights"
## [63] "City Point" "Top/Back of Hill/Delle Av/RTH"
## [65] "Fairmount Hills" "Centre South"
## [67] "Bellevue Hill" "Readville"
## [69] "Georgetown"
The dataset contains about 845,911 rows and 32 columns. The dataset contains food inspection records of different neighbourhoods in the city of Boston. Each record is a part of the inspection and represents a violation as apart if the inspection on a specific restaurant.
Key variables include business information (“businessname”, “licenseno”, “licstatus”) for tracking establishment performance over time, inspection results (“result”, “resultdttm”) showing outcomes, violation details (“viol_level”, “violdesc”) revealing specific safety problems, and geographic fields (“address”, “latitude”, “longitude”, “NSA_NAME”) that link violations to census areas and neighborhoods. This geographic linking allows researchers to analyze food safety patterns across different spatial scales and study how public health enforcement varies by location and changes over time.
Dataset includes inspection results (result) which explains the category of the inspection result like HE_Fail: Inspection failed; violations found or HE_Pass: Inspection passed; no critical issues found.
## viol_level
## 1 NA
## 4 1
## 21 3
## 168 2
## 225 None
The dataset uses a three-level violation system where Level 1 represents minor issues, Level 2 indicates problems that need attention, and Level 3 shows serious violations that pose health risks and usually result in failed inspections.
# Record 1
record_1 <- ins %>%
filter(city == "ROXBURY", viol_level == 3, licstatus == "Active", !is.na(resultdttm)) %>%
arrange(desc(resultdttm)) %>%
head(1)
# Record 2
record_2 <- ins %>%
filter(str_detect(address, "BLUE HILL"), viol_level == 2, licstatus == "Active", !is.na(resultdttm)) %>%
arrange(desc(resultdttm)) %>%
head(1)
# Record 3
record_3 <- ins %>%
filter(city != "ROXBURY", viol_level == 1, licstatus == "Active", !is.na(resultdttm)) %>%
arrange(desc(resultdttm)) %>%
head(1)
I selected three records using tidyverse filtering to represent different violation levels and locations: a Level 3 violation from Roxbury, a Level 2 violation from Blue Hill Avenue, and a Level 1 violation from outside Roxbury, filtering for active licenses and taking the most recent example of each type.
## businessname dbaname legalowner namelast namefirst licenseno
## 1 Liberty Diner NA DOUCETTE DOUCETTE YONG SUN 18787
## issdttm expdttm licstatus licensecat
## 1 2011-12-06 15:35:27 2026-01-01 04:59:00 Active FS
## descript result resultdttm violation viol_level violdesc
## 1 Eating & Drinking HE_Fail NA M-2-102.11 3 PIC Knowledge
## violdttm viol_status status_date comments address
## 1 2007-06-20 19:12:49+00 NA NA NA 1003 MASSACHUSETTS AV
## city state zip_code property_id latitude longitude
## 1 ROXBURY ma , 02118 NA 42.328062595444 -71.0683122036459
## Blk_ID_20 BG_ID_20 CT_ID_20 NSA_NAME BRA_PD
## 1 250250801001030 250250801001 25025080100 Lower Roxbury Roxbury
Liberty Diner, located at 1003 Massachusetts Avenue in Lower Roxbury, received an “HE_Fail” result for a Level 3 violation related to “PIC Knowledge” (Person in Charge Knowledge). This establishment has been operating under an active “Eating & Drinking” license since 2011, owned by Yong Sun Doucette. The violation indicates that management lacks adequate understanding of food safety requirements, which represents the most serious category of food safety violations since it affects all operational practices. This type of critical violation typically requires follow-up inspections to ensure proper food safety protocols are implemented before the establishment can continue normal operations.
## businessname dbaname legalowner namelast namefirst licenseno
## 1 Mattapan Fish Market NA NA RK Seafood Inc. Eun Hee 539633
## issdttm expdttm licstatus licensecat descript
## 1 2023-09-22 18:28:11 2026-01-01 04:59:00 Active RF Retail Food
## result resultdttm violation viol_level
## 1 HE_Hearing 2025-08-22 14:42:51 590.006/6-501.111-PF 2
## violdesc violdttm viol_status status_date
## 1 Controlling Pests (Pf) 2025-08-22 14:42:51+00 Fail NA
## comments
## 1 Observed black flys upstairs and in the basement. Contact licensed exterminator and provide detailed IPM report. Observed an electrical insect catching device located to the right of the front door. Remove.
## address city state zip_code property_id latitude
## 1 1600 BLUE HILL AV MATTAPAN ma , 02126 189794 42.2692795766329
## longitude Blk_ID_20 BG_ID_20 CT_ID_20 NSA_NAME
## 1 -71.0933507251896 250251010023012 250251010023 25025101002 Southern Mattapan
## BRA_PD
## 1 Mattapan
Mattapan Fish Market at 1600 Blue Hill Avenue received an “HE_Hearing” result for a Level 2 “Controlling Pests” violation. The inspection found black flies upstairs and in the basement, requiring the business to contact a licensed exterminator and provide an IPM report while removing an improperly placed insect device. This retail food establishment, operating since 2023 and owned by RK Seafood Inc, can continue operating while addressing the pest control issues through professional treatment.
## businessname dbaname legalowner namelast namefirst licenseno
## 1 Adams Fish Mkt NA ADAMS VILLAGE LLC CIULLA JR PRES JOHN 18021
## issdttm expdttm licstatus licensecat descript
## 1 2011-12-23 15:48:43 2026-01-01 04:59:00 Active RF Retail Food
## result resultdttm violation viol_level violdesc
## 1 HE_Fail NA 23-4-602.13 1 Non-Food Contact Surfaces Clean
## violdttm viol_status status_date comments
## 1 2007-06-29 19:40:45+00 NA NA odors noted.
## address city state zip_code property_id latitude
## 1 781 ADAMS ST DORCHESTER ma , 02124 968 42.2833935220828
## longitude Blk_ID_20 BG_ID_20 CT_ID_20 NSA_NAME
## 1 -71.0558866079709 250251008003006 250251008003 25025100800 Ashmont
## BRA_PD
## 1 South Dorchester
Adams Fish Market at 781 Adams Street in Dorchester’s Ashmont neighborhood received an “HE_Fail” result for a Level 1 violation involving “Non-Food Contact Surfaces Clean.” Despite being the lowest severity violation level, this retail food establishment failed inspection due to cleanliness issues, with inspector comments noting “odors noted.” The business, operating since 2011 under Adams Village LLC and owned by John Ciulla Jr., demonstrates that even minor cleanliness violations can result in inspection failure when they indicate broader sanitation problems affecting the establishment’s overall food safety standards.
Each record shows different enforcement patterns - Liberty Diner’s management knowledge gap created the most serious violation but received a standard failure, Mattapan Fish Market’s pest issues got a hearing process despite being moderate severity, and Adams Fish Market failed for minor surface cleanliness problems. The differences reveal that violation severity doesn’t always predict inspection outcomes, and regulatory responses vary based on factors beyond just violation level.
These patterns show that food inspection data captures both compliance measures and how inspectors apply regulations to specific situations. From an urban informatics perspective, this reveals how administrative data reflects the structured but flexible nature of regulatory enforcement in urban communities. The data demonstrates that food safety problems happen across different neighborhoods and business types, with inspectors making decisions based on violation context and business circumstances. Among these three records, two fish markets had violations. Athough this small sample cannot establish whether seafood establishments have higher violation rates generally. The varying enforcement responses indicate differences in regulatory decision making that would require additional analysis to understand.