Skip to content
Log in

Theory

Dana's floor: a rate from real hours

A solo tutor's rate from target income, the hours actually worked, taxes and the quiet summer, and why a price per lesson can hide a low hourly rate.

~8 min read · 9 exercises · 250 points

Before you start

Dana's 600

A detour from Klasna's price list: Dana, who teaches English at Klasna, has also taught adults privately since September, at 600 for a 60-minute lesson. She picked 600 because Klasna charges families 650 and never revisited it. Does 600 cover what she wants from the practice, and what does it really pay per hour of her time?

A rate needs its own floor

A solo professional's rate is a price like any other, so it needs the same anchors. The most common shortcut is to copy a number you happen to know.

Dana set 600 because "Klasna charges families 650, so 600 felt fair". That rests on another seller's price. It checks neither her costs and taxes nor the hours behind a lesson. And Klasna's 650 buys a 50-minute lesson with materials and support behind it, so it isn't even her adult learners' alternative.

A rate floor comes from inside the practice: what you want it to earn, what it costs, the tax on its income, and how many lessons will actually be paid. This lesson builds Dana's floor from those, then checks the hours behind them.

  • Do
    "My floor: income target plus costs, over the lessons I'll actually be paid for, after tax."
  • Don't
    "The school charges 650, so 600 feels fair."

    Another seller's price checks none of your own numbers.

Count only the costs the practice changes

A cost belongs to a decision only if the decision changes it. Ask of every cost: would it disappear if the practice didn't exist?

Dana's practice adds 6% of its income in single tax and military levy, and 7,200 a year for her video plan and materials. Both exist because of the practice, so both count. She is in single-tax group 3 without VAT, so her prices are final.

The monthly social contribution (ЄСВ, 1,902.34 as of October 2026) is a big number, but Dana pays it anyway as a FOP with Klasna income. The practice adds nothing to it. Counting it, or a share of it split by income, would charge the practice for something it didn't cause and make the rate look worse than it is.

  • Do
    "Tax on practice income and the 7,200 of tools count; the ЄСВ would be paid anyway."
  • Don't
    "Half my income is from the practice, so half the ЄСВ is its cost."

    Splitting a cost that doesn't change is allocation, not a cost of the decision.

The rate floor from an income target

For a solo practice the floor starts from what it must earn. The rate floor is the price per lesson that reaches the income target after the practice's own costs and tax:

rate floor = (income target + costs) / (paid lessons × (1 − tax share))

Dana wants 150,000 a year net. Tools cost 7,200; tax and levy take 6%. She has 369 lessons booked for the year and expects 21 no-shows she won't charge, so 348 paid lessons. Each paid lesson keeps 94% of its price.

(150,000 + 7,200) / (348 × 0.94) = 480.56.

Rfloor=Itarget+CNpaid×(1−t)=150 000+7 200348×0.94=480.56R_{floor} = \frac{I_{target} + C}{N_{paid} \times (1 - t)} = \frac{150\,000 + 7\,200}{348 \times 0.94} = 480.56
I target: net income she wants from the practice; C: costs of the practice; N paid: lessons she will be paid for; t: the 6% single tax and levy.

Divide by paid lessons, not booked ones: the no-shows bring nothing, so the paid lessons must carry them. Use booked lessons and the floor comes out too low.

  • Do
    "Floor = (150,000 + 7,200) / (348 × 0.94) = 480.56."
  • Don't
    "Divide by all 369 booked lessons."

    No-shows pay nothing; dividing by them understates the floor.

Net income from the practice

The floor tells you the lowest price that reaches the target. The year's net income tells you what today's price actually brings: paid lessons times price, minus the tax on that income, minus the practice's own costs.

At 600, Dana's 348 paid lessons bring 348 × 600 = 208,800. Tax at 6% is 12,528; tools are 7,200. Net: 189,072, well above her 150,000 target. Per paid lesson she keeps 189,072 / 348 = 543.31, comfortably above the 480.56 floor.

The ЄСВ is still not subtracted: it doesn't change because of the practice. So far, then, 600 looks fine. The per-lesson view can't see one thing: how many hours each lesson really takes. That's the next check.

  • Do
    "208,800 − 12,528 tax − 7,200 tools = 189,072 net."
  • Don't
    "Revenue 208,800 is what the practice earns me."

    Tax and the practice's costs come out first.

Count every hour the practice takes

A price per lesson hides the time around the lesson. To know what a solo practice pays, count all the hours it takes in a year, not just the hours in front of a learner.

Dana's year:

  • each paid lesson: 60 minutes + 20 of preparation + 10 of messages and rescheduling = 90 minutes; 348 × 1.5 = 522 hours;
  • each no-show still costs 80 minutes (she prepared and waited): 21 × 80 minutes = 28 hours;
  • marketing on her account, channel and finding learners: 80 hours, heavy in autumn, little once evenings are full;
  • records, tax and payments: 24 hours.

Total 654 hours, about 1.88 hours of her time per paid lesson. The comparison point: at Klasna a 50-minute lesson plus 10 minutes of notes is one hour for 500, which is 470 after the 6%.

  • Do
    "Lessons 522 h + no-shows 28 h + marketing 80 h + admin 24 h = 654 h."
  • Don't
    "348 lessons of 60 minutes is 348 hours of work."

    Preparation, messages, no-shows and marketing are work too.

The effective hourly rate

The effective hourly rate is the practice's net income divided by all the hours it takes. It's the number a price per lesson hides.

Dana: 189,072 net / 654 hours = 289.10 an hour. An hour of Klasna lessons pays her 470 after tax. So every evening spent on the practice pays her less than an hour at the school, even though each lesson clears her floor.

How big is the gap in price terms? To earn 470 an hour at today's hours, the price would need to be (470 × 654 + 7,200) / (348 × 0.94) = 961.67. Nobody is suggesting 962 tomorrow. The number says the gap is mostly unpaid time, preparation, messages, no-shows and posting, and only partly the price.

  • Do
    "189,072 / 654 = 289.10 an hour, against 470 at Klasna."
  • Don't
    "600 for 60 minutes means I earn 600 an hour."

    Tax, costs and the hours around each lesson come out first.

Judge a rate over the whole year

A solo practice is seasonal. Judge its rate from one busy month and you leave out the months that pull it down.

Dana's forecast runs from 18 lessons in September to 48 in March and April, then falls to 14 in July and 9 in August: July and August bring only 23 of the 369 lessons. Her posts and admin go on all year, and most of the marketing hours fall in autumn, before the calendar fills. March alone would show a much better hourly rate than the year really delivers.

So compute income, hours and the effective rate over twelve months, thin summer and heavy autumn included. A monthly view is useful for spotting where the hours go, not for judging the price.

Dana's booked private lessons, September 2026 – August 2027September is actual (3 students); the other months are her forecast made in October. 369 lessons booked in the year.

Chart data

monthBooked lessons
09.2618
10.2624
11.2630
12.2622
01.2732
Show 7 more rows
02.2740
03.2748
04.2748
05.2746
06.2738
07.2714
08.279
  • Do
    "Twelve months: 369 booked lessons, 654 hours, 289.10 an hour."
  • Don't
    "In March I teach 48 lessons, so that's my real rate."

    A peak month hides the summer and the autumn marketing hours.

Two true numbers: target met, hours underpaid

Dana's case ends with two numbers that are both true. Per lesson, 600 clears her 480.56 rate floor and brings 189,072 a year, above her target. Per hour, the practice pays 289.10 against 470 at Klasna.

The honest answer to "is 600 too low?" holds both. Doubling the price would close the gap on paper and risk half her learners. The first levers are the unpaid hours: shorter preparation from reusable materials, fewer messages through a clear booking routine, a no-show rule, and less posting once evenings are full. Raising a rate well is a separate skill, covered later in the course.

How it fits together: a rate floor comes from the income target, the practice's own costs and paid lessons; the effective hourly rate checks it against real hours over a whole year. Next lesson: back to Klasna, and a first case, a price corridor for NMT Sprint.

  • Do
    "600 reaches my target; first I'll cut unpaid prep and messages, then revisit the price."
  • Don't
    "I'm above my floor, so my rate is fine."

    The floor ignores how many hours each lesson takes.

Ready to practise?

Answer the lesson's exercises and earn 250 points the first time you finish it.

Start the exercises