Python · Healthcare analytics · Exploratory analysis
Why do patients miss medical appointments?
An evidence-led analysis of 110,527 appointment records, designed to reveal attendance patterns and turn them into practical scheduling recommendations.
Business question
Which patient and scheduling factors are associated with missed visits?
I cleaned and profiled the data, standardized date fields, created appointment weekdays, and compared attendance outcomes across age, gender, SMS reminders, scholarship status, and day of week.
The goal was not to claim causation. It was to identify useful patterns that a healthcare operations team could test through targeted reminders and scheduling interventions.
Visual analysis
Six views of appointment behavior.
These are the original Matplotlib outputs exported from the public Zerve notebook.
Code preview
Transparent, reproducible analysis.
The downloadable Python file contains the data checks, feature preparation, grouping logic, and all six charts.
df = pd.read_csv("KaggleV2-May-2016.csv")
df["ScheduledDay"] = pd.to_datetime(df["ScheduledDay"])
df["AppointmentDay"] = pd.to_datetime(df["AppointmentDay"])
df["AppointmentWeekday"] = df["AppointmentDay"].dt.day_name()
appointment_percentage = (
df["No-show"]
.value_counts(normalize=True)
.mul(100)
.round(2)
)
missed = df[df["No-show"] == "Yes"]
weekday_missed = (
missed["AppointmentWeekday"]
.value_counts()
.reindex(weekday_order)
)
Insights to action
What a healthcare team could test next.
Strengthen early-week outreach
Test additional confirmation touchpoints before Tuesday and Wednesday appointments, where missed-visit volume was highest.
Segment reminder strategies
Pair SMS with confirmation links, calls, or tailored timing instead of relying on a single reminder channel.
Move from EDA to prediction
Evaluate lead time, prior attendance, neighborhood, and clinical factors in a validated predictive model before operational deployment.
Project source
Code and visuals, presented in one employer-friendly case study.
The code and chart outputs were exported from Oluwatoyin Akadiri’s public Zerve notebook and organized locally for faster portfolio review. The original dataset is not included.