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.

Tools: Python, Pandas, MatplotlibFocus: Patient attendanceDeliverables: Code + 6 visuals
Bar chart of missed appointments by weekday, showing Tuesday and Wednesday as the busiest no-show days
Operational signalMissed visits peaked on Tuesday and Wednesday.
110,527appointment records
20.19%appointments missed
79.81%appointments attended
6questions visualized

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.

Code preview

Transparent, reproducible analysis.

The downloadable Python file contains the data checks, feature preparation, grouping logic, and all six charts.

01Prepare the data
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()
02Measure the outcome
appointment_percentage = (
    df["No-show"]
    .value_counts(normalize=True)
    .mul(100)
    .round(2)
)
03Find weekday patterns
missed = df[df["No-show"] == "Yes"]
weekday_missed = (
    missed["AppointmentWeekday"]
    .value_counts()
    .reindex(weekday_order)
)
Ready to reviewHealthcare no-show analysis — Python sourceThe dataset is not bundled; the script expects the original CSV named in the code.
Download .py file

Insights to action

What a healthcare team could test next.

01

Strengthen early-week outreach

Test additional confirmation touchpoints before Tuesday and Wednesday appointments, where missed-visit volume was highest.

02

Segment reminder strategies

Pair SMS with confirmation links, calls, or tailored timing instead of relying on a single reminder channel.

03

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.