How to structure class packages for a language school
How to design class packages that actually make sense for a language school, from the package-by-number-of-classes format to the closed plan by level, plus how to control credit usage without a spreadsheet.
Structuring class packages is one of those quiet decisions that has the biggest impact on a language school's cash flow. A well-designed package gives the school predictability, gives the student commitment, and gives the team a clear rule to follow. A poorly designed one turns into a disguised discount, students vanishing halfway through a plan, and the front desk spending half the day explaining balances over WhatsApp.
The good news is there is not much mystery to it. There is a small set of class package formats that work for a language school, and choosing between them depends far more on your student profile than on any magic formula.
Why selling one-off classes almost never works for a school
A one-off class at full price seems like the simplest option. The student pays for one class, takes one class, then pays for the next. No commitment, no hassle.
In practice, one-off classes have two big problems for a language school. The first is financial. With no subscription, no monthly fee, no package, the school cannot forecast next month's revenue. Every student is a brand-new decision, and any week the student is in a bad mood turns into a hole in the cash flow.
The second is pedagogical. A language is learned through consistency. A student who only shows up when they remember, at an irregular pace, does not progress. And without progress, they quit. The school loses the student and is left feeling like the method does not work, when in fact what did not work was the frequency.
That is why almost every serious language school sells in packages. The question is which package format to choose.
The four most common class package formats
Package by number of classes
The student buys a fixed quantity of classes, with no tight deadline to use them up. Example: a package of 8 classes, 12 classes, or 24 classes. Each class taught deducts one from the balance. When the balance hits zero, the student buys another package.
This works well for adult students who travel, have irregular schedules, or want private classes without being tied to a fixed group. It works less well when the school needs month-to-month predictability, because the student might burn through every class in two weeks or stretch them out over four months.
To keep this under control, schools usually set an expiration window for the package. Twelve classes valid for ninety days, for example. Without a deadline, the package becomes an endless liability.
Package by month (monthly plan)
The student pays a fixed monthly fee that entitles them to a set number of classes that month. Example: a plan of 4 classes per month, 8 classes per month, or 12 classes per month. The classes for the month have to be used within the month.
This is the most popular format for a language school because it is the most predictable. The school knows exactly how much it will bill that month if it keeps the same number of students. The student knows exactly how much they will spend. The front desk knows exactly when to renew.
The thing to watch is the rule for unused classes. If the student pays for 4 classes and only takes 3, does the 4th expire at the end of the month or roll over to the next? Most schools choose "it expires" to avoid building up a liability, but it is a choice that has to be spelled out in the contract from day one.
Closed plan by level or course
The student buys an entire course, with a beginning, middle, and end. Example: a beginner level in 60 classes, an advanced conversation course in 40 classes, or proficiency exam prep in 30 classes.
This is the format closest to the traditional in-person language school model. It works well when the school has a structured curriculum and the student comes in with a clear goal (passing an exam, reaching a specific level). It works less well when the student wants flexibility.
Usually the closed plan by level is split into monthly installments, but the commitment is to the entire package. If the student quits halfway through, the school has to decide what to do: charge a penalty, refund proportionally, or release them at no cost. Without that rule in writing, it becomes a fight.
Corporate plan (B2B)
A company buys a package of hours to distribute among its employees. Example: 200 class hours per semester, split among 15 employees. Each employee draws from the same pool, with or without an individual cap.
This is a completely different format in terms of billing and management. The payer is the company's HR or finance department, not the student. The one consuming the classes is the employee. The school has to track two levels: the company's total balance and each employee's individual usage.
A corporate plan tends to carry a much larger ticket, a long sales cycle, and it requires a usage report for the company to renew. It is not just a variation on the end-student plans.
Price per hour or price per package with a discount
Another important decision is how to price the package. Two approaches are common.
The first is a flat price per hour. The school sets the value of a class hour (say $80) and the package is simply that hour multiplied by the quantity. 12 classes cost $960. Simple, transparent, no discount.
The second is a progressive discount by package. A one-off hour costs $100, but in a package of 4 classes the hour comes out to $90, in a package of 8 it is $85, and in a package of 12 it is $80. The discount rewards the student's bigger commitment.
The second approach works better for retaining students and pushing bigger packages. The first works better for a school that wants radical simplicity in its pricing. Almost every online language school ends up going with the second, because a progressive discount is the cheapest upgrade lever there is.
Regardless of the approach, the package price needs to live somewhere the student and the front desk can look it up, without relying on the memory of whoever closed the sale.
How to handle a student who quits midway through a package
This is the point that causes the most headaches in a school's daily routine. The student pays for 12 classes, takes 5, quits, and asks for their money back. What does the school refund?
The right answer depends on the rule the school wrote beforehand. Some common options:
- Refund the proportional value of the unused classes, minus a percentage penalty.
- Do not refund cash but offer credit to use on another package or on another language at the school.
- Refund nothing if the student quit on their own, refund in full if the school is the one that canceled.
Any rule works, as long as it is written into the contract the student signed. The problem is not the rule. The problem is the rule not existing, so every cancellation request becomes a case-by-case negotiation, usually at a loss for the school.
What a package-tracking spreadsheet is missing
Almost every language school starts out tracking packages in a spreadsheet. One tab per student, one column per class, someone crosses out a cell when a class is taught.
It works up to around thirty students. Past that, three things start to break.
The first is recording the class in real time. The teacher finishes the class, but the front desk only updates the spreadsheet at the end of the day. In that gap, the student might book another class, close an upgrade deal, or ask for a balance report. Nobody has the current answer.
The second is the consolidated view. Knowing how many students have packages expiring this week, how many have already run out, and how many have a zero balance but are still booking requires opening every tab and doing the math. In a school with 80 students, nobody does it.
The third is the preventive alert. When a student is on the last class of their package, nobody notices. Renewal only comes up after the next class has already been taught with no available credit, and by then it is too late to charge cleanly.
A good class package tracker for a language school needs to do those three things automatically. Real-time balance, a consolidated list of who needs to renew, and an alert before the package runs out.
How Noladi solves this
In Noladi, plans and credits are a core part of the system. You register each of the school's plans once, with its price, number of classes (credits), and billing period. You can create as many plans as you want: a monthly package of 4 classes, a quarterly package of 24 classes, a closed beginner-level course, or a corporate plan with a pool of hours shared among employees.
When you assign a plan to a student, the class balance is managed automatically. Each class booked in Noladi's live classroom consumes one of that student's credits. The balance shows up on their profile and in a consolidated list of all the school's students, filterable by who is running low, who renewed this month, and who has a package expiring.
Billing itself stays on the school's own Pix or card setup, through the channels you already use. Noladi tracks who bought a package, what it is worth, how many classes are left, who is overdue, and who needs to renew this week. The one receiving the student's money is the school, not the platform.
Managing plans, students, and finances is free forever in Noladi. The school only subscribes when it wants to use the live classroom inside the platform, starting at $499/month.
Get to know Noladi
If you want to stop tracking class packages in a spreadsheet and have a single place where your school's plans, balances, schedule, and students all talk to each other, Noladi is worth a look at noladi.app/teacher. No card required to create your account.