Baselight

Hair Salon No-Show Dataset

A Dataset for Predicting Hair Salon Appointment No-Shows

@kaggle.frederickferguson_hair_salon_no_show_data_set

Loading...
Loading...

About this Dataset

Hair Salon No-Show Dataset

Context

No-shows are a big problem for hair salons the same as airlines and medical facilities. Excessive no-shows increase costs and wait times for businesses and all other customers alike. A No-show prediction service would allow hair salons to select from a variety of treatment options at the time of the booking such as requiring a non-refundable deposit or scheduling the appointment at a different time, location or with a different service provider such that the potential no-show would have less business and customer experience impact.

Content

This is a dataset that can be used to predict appointment no-shows. Datasets and models are available for predicting no-shows in healthcare but this is the first hair salon appointment dataset on Kaggle. The data includes bookings and cancellation information to determine whether a given booking resulted in a "no-show" wherein the client either didn't show up at all or canceled the appointment within 48 hours of the planned booking (i.e., an out-of-policy cancellation). The data consists primarily of attributes of the appointment booking itself and excludes client details or details on the staff member providing the service.

Acknowledgements

The data was used with the permission of an actual hair salon in Toronto, Canada. It covers a time series from March to July of 2018. The name of the salon is omitted for privacy reasons.

Inspiration

I was inspired by the extensive no-show analytics that has been done on Kaggle with appointment records from public hospitals in Vitoria, Espirito Santo, Brazil. The data set is provided by JoniHoppen on Kaggle: https://www.kaggle.com/joniarroba/noshowappointments . My goal is to answer the question: "Which client bookings are most likely to either 1) no-show or 2) cancel within 48 hours of the scheduled appointment time. False positives are okay as long as we can optimize the number of actual no shows predicted in test.

Tables

Client Cancellations0

@kaggle.frederickferguson_hair_salon_no_show_data_set.client_cancellations0
  • 8.74 KB
  • 243 rows
  • 7 columns
Loading...

CREATE TABLE client_cancellations0 (
  "cancel_date" TIMESTAMP,
  "code" VARCHAR,
  "service" VARCHAR,
  "staff" VARCHAR,
  "booking_date" TIMESTAMP,
  "canceled_by" VARCHAR,
  "days" DOUBLE
);

Future Bookings All Clients 0

@kaggle.frederickferguson_hair_salon_no_show_data_set.future_bookings_all_clients_0
  • 18.59 KB
  • 1906 rows
  • 6 columns
Loading...

CREATE TABLE future_bookings_all_clients_0 (
  "code" VARCHAR,
  "staff" VARCHAR,
  "service" VARCHAR,
  "date" TIMESTAMP,
  "time" VARCHAR,
  "timeint" BIGINT
);

Hair Salon No Show Wrangled Df

@kaggle.frederickferguson_hair_salon_no_show_data_set.hair_salon_no_show_wrangled_df
  • 41.82 KB
  • 1952 rows
  • 22 columns
Loading...

CREATE TABLE hair_salon_no_show_wrangled_df (
  "unnamed_0" BIGINT,
  "book_tod" VARCHAR,
  "book_dow" VARCHAR,
  "book_category" VARCHAR,
  "book_staff" VARCHAR,
  "last_category" VARCHAR,
  "last_staff" VARCHAR,
  "last_day_services" BIGINT,
  "last_receipt_tot" DOUBLE,
  "last_dow" VARCHAR,
  "last_tod" VARCHAR,
  "last_noshow" BIGINT,
  "last_prod_flag" BIGINT,
  "last_cumrev" BIGINT,
  "last_cumbook" BIGINT,
  "last_cumstyle" BIGINT,
  "last_cumcolor" BIGINT,
  "last_cumprod" BIGINT,
  "last_cumcancel" BIGINT,
  "last_cumnoshow" BIGINT,
  "noshow" BIGINT,
  "recency" BIGINT
);

No Show Report0

@kaggle.frederickferguson_hair_salon_no_show_data_set.no_show_report0
  • 4.02 KB
  • 60 rows
  • 4 columns
Loading...

CREATE TABLE no_show_report0 (
  "date" TIMESTAMP,
  "code" VARCHAR,
  "service" VARCHAR,
  "staff" VARCHAR
);

Product Listing Retail 0

@kaggle.frederickferguson_hair_salon_no_show_data_set.product_listing_retail_0
  • 13.33 KB
  • 101 rows
  • 14 columns
Loading...

CREATE TABLE product_listing_retail_0 (
  "isactive" BOOLEAN,
  "code" VARCHAR,
  "description" VARCHAR,
  "supplier" VARCHAR,
  "brand" VARCHAR,
  "category" VARCHAR,
  "price" DOUBLE,
  "on_hand" BIGINT,
  "minimum" BIGINT,
  "maximum" BIGINT,
  "cost" DOUBLE,
  "cog" DOUBLE,
  "ytd" DOUBLE,
  "package" BOOLEAN
);

Receipt Transactions0

@kaggle.frederickferguson_hair_salon_no_show_data_set.receipt_transactions0
  • 33.57 KB
  • 1934 rows
  • 9 columns
Loading...

CREATE TABLE receipt_transactions0 (
  "receipt" BIGINT,
  "date" TIMESTAMP,
  "description" VARCHAR,
  "client" VARCHAR,
  "staff" VARCHAR,
  "quantity" BIGINT,
  "amount" DOUBLE,
  "gst" DOUBLE,
  "pst" DOUBLE
);

Service Listing0

@kaggle.frederickferguson_hair_salon_no_show_data_set.service_listing0
  • 5.03 KB
  • 33 rows
  • 6 columns
Loading...

CREATE TABLE service_listing0 (
  "isactive" BOOLEAN,
  "code" VARCHAR,
  "desc" VARCHAR,
  "cate" VARCHAR,
  "price" BIGINT,
  "cost" BIGINT
);

Share link

Anyone who has the link will be able to view this.