Inspiration

Tipping is a fascinating social norm influenced by many hidden factors—service quality, payment method, time of day, even weather. We wanted to use data provided by TouchBistro to uncover patterns in tipping behaviour and provide actionable insights for service workers, businesses, and customers!

What it does

Using real-world restaurant transactions, Tips for Tips analyzes patterns in tipping behaviour to help restaurants maximize earnings potential. Our analysis is based on key factors like order type and duration, waiters, holiday, day of week, and income demographics.

  • We found a strong correlation between bartab orders and high tip percentages, and low correlation between order duration and tip percentage.
  • Weekends and Fridays have slightly higher tip percentages than weekdays, and New Year's, Thanksgiving, Labour Day and Veterans Day have similar tip percentages to weekends, although all fall on weekdays.
  • There is a high tip percentage around 3am, which we believe corresponds to bartab orders. During the day, tips peak at meal times, like breakfast around 8-9am, lunch around 1pm, and dinner from 7-10pm.
  • We found minimal correlation between the frequency of waiter's orders to their tips.
  • For median income, tip percentages are uncorrelated, so it seems that tipping culture supersedes wage. A stronger correlation was found between bill sizes and income.

How we built it

We collected and processed a large sample of tipping data across various cities and types of dining from TouchBistro's dataset. We used pandas to aggregate key features of the data, such as tip percentage for each bill. To analyze how each of our key factors affects tipping behaviours, we needed to use different methodologies:

  • For order type and duration, we grouped our data categorically so we could compare the average tipping percentages.
  • For holidays, we included an external library with holiday data and combined this with our dataset to highlight the affect of holidays on tipping behaviour.
  • For time of day, we used a run chart to model tips as a function of when the order was made.
  • For median income, we processed an external dataset and integrated it with our bills data to produce scatterplots with matplotlib, allowing us to intuitively assess the correlation between the variables.

Challenges we ran into

  • Filtering noise and outliers from datasets
  • Finding high-quality, comprehensive external datasets to complement our data models

Accomplishments that we're proud of

  • Successfully identifying key tipping trends based on multiple factors
  • Integrating various Python libraries to enhance our results

What we learned

  • How different external factors influence human behaviour in financial decisions
  • Best practices for data cleaning in real-world datasets
  • Effective ways to visualize and communicate data insights

What's next for Tips for Tips

We plan to integrate real-time data in the future so that businesses can better predict and budget according to their customers' tipping behaviour, as well as provide immediate feedback on the quality of our suggestions.

Built With

Share this project:

Updates