top of page

[Project] Tutoring Business Revenue & Risk Analysis (SQL, Python & Power BI)

  • Anna's Data Journey
  • 4 dni temu
  • 3 minut(y) czytania

Why I worked on this project

While working in tutoring, one thing became very clear:

Not every scheduled lesson actually turns into real revenue.


At first glance, a tutoring business might look predictable - lessons are booked, schedules are full, and revenue seems easy to estimate.


But in reality, many factors disrupt this:

  • cancellations

  • no-shows

  • late or missing payments


This made me curious about a simple but important question:

Where is revenue actually being lost?


The business problem

Tutoring businesses operate on planned schedules, but real performance depends on what actually happens.


From a business perspective, several questions become critical:

  • How big is the gap between expected and actual revenue?

  • Which factors contribute most to revenue loss?

  • Are some student groups more risky than others?

  • Does revenue instability vary across the academic year?


Without analysing these areas, it’s easy to overestimate performance and underestimate operational risk.


How I approached the analysis

This project was inspired by my own experience running a tutoring business, where I observed how operational factors such as cancellations, no-shows and payment delays affect real revenue.


To reflect this realistically while maintaining privacy, I created a synthetic dataset in Python based on patterns observed in a real tutoring environment.


The dataset includes:

  • students and tutors

  • lesson schedules

  • lesson outcomes (completed, cancelled, no-show)

  • pricing and payments


Once the data was generated, I used SQL to analyse key business questions.

This included:

  • revenue distribution by lesson status

  • percentage contribution of each status to revenue

  • revenue loss by age groupmonthly patterns in disrupted lessons

  • expected vs actual revenue calculation


Finally, I built a Power BI dashboard to present the results in a clear and business-focused way.


The goal was not just analysis, but decision support.


What the analysis revealed

Several important patterns emerged.


First, there is a clear gap between expected and actual revenue.

Not all scheduled lessons translate into income, which creates a hidden layer of financial risk.


Second, cancellations and no-shows are the main drivers of revenue loss.

These factors have a direct and measurable impact on overall performance.


Third, revenue risk is not evenly distributed.

Certain student groups contribute more to lost revenue than others, suggesting the need for more targeted strategies.


Finally, revenue patterns vary across the academic year.


Some months show increased instability, indicating periods where the business is more vulnerable.


Why this matters from a business perspective

Without analysing operational disruptions, businesses may assume their revenue is more stable than it actually is.


This type of analysis helps organisations:

  • identify where revenue is being lost

  • understand which segments are higher risk

  • adjust policies around cancellations and attendance

  • improve forecasting and financial planning


In real-world settings, even small improvements in these areas can significantly impact profitability.


Tools used

Python (Pandas, Faker) for data generation

SQL for business analysis

Power BI for dashboard development and visualisation


Final thought

What stood out to me in this project is how much revenue loss can remain hidden behind a “full schedule”.


From the outside, everything looks fine.

But underneath, cancellations and no-shows quietly reduce performance.


This project reinforced something I’m noticing more and more:

clear business questions and structured analysis often matter more than complex models.


Want to see the technical side?

The full project - including Python notebooks, SQL queries, dataset and Power BI dashboard - is available on my GitHub.


The repository shows the complete workflow from data generation to final visualisation.


Komentarze


Follow Me

  • GitHub
  • LinkedIn
  • Microsoft_Outlook_Icon_(2025–present).svg

© 2025 By Nicol Rider.
Powered and secured by Wix

bottom of page