Short answer
A real calculator — not “depends on the client.” Hourly floor, project ceiling, the discount you can quote without losing the deal, and the line where you walk away.
IllustrativeVoiced by an illustrative designer. First-person details are not a real person’s experience.
The scariest email in freelance instructional design isn’t the one where a project goes sideways. It’s the one that just says: “Sounds great — what would you charge for this?” Cursor blinking. You don’t want to lowball and spend three weekends resenting the job. You don’t want to throw out a big number and never hear back. So you stall, you write “it depends,” and you sound like every other ID who hasn’t figured this out yet.
Here’s the thing nobody tells you on your first project: pricing isn’t a vibe, and it isn’t a single number you pull from the air. It’s a small calculator with four inputs — an hourly floor, a project ceiling, a discount you can actually afford to quote, and the line where you politely walk. Build it once and that blinking cursor stops being scary.
Clients don’t buy Storyline hours. They buy a finished module with a known scope — so price the outcome and keep the hours to yourself.
/01Find your hourly floor first.
Before you can quote a project, you need one private number you will never put in a proposal: your hourly floor. This is the rate below which the work isn’t worth doing — it covers your actual time, the unbillable hours (admin, sales, revisions you didn’t scope), taxes, and the gaps between contracts. Most new freelancers compute a “rate” that quietly assumes they bill 40 hours a week. You don’t. You bill maybe half that, and the floor has to absorb the rest.
So work backwards from the income you need, divide by the hours you can actually bill, then pad it for the unbillable load. The exact arithmetic is yours, but the shape is always the same: a floor that already accounts for the weeks you spend chasing the next gig instead of building courses.
The hourly floor · back-of-envelope
// What you need to clear, after the gaps and the taxes.
target_income = annual_take_home + taxes + tools_and_overhead;
// Hours you ACTUALLY bill — not 2,080. Closer to half.
billable_hours = weeks_working × realistic_billable_hours_per_week;
// The floor. Quote projects from here; never go under it.
const hourly_floor = target_income / billable_hours;/02Then price the project, not the hours.
The floor is for you. The client gets a project price — a single number tied to a concrete deliverable and a definition of “done.” Hourly billing is a trap on both ends: it punishes you for getting faster, and it tempts the client to litigate your timesheet. A fixed project price says “here is exactly what you receive, and here is what it costs.” That’s what they actually want to buy.
The trick to setting that number without guessing is to stop counting hours and start sorting work into effort tiers. Every ID project I’ve ever scoped slots into one of three:
Tier 1 — the awareness module.
A click-through course in Rise with stock assets, one review round, and SCORM 1.2 packaging. Low branching, low SME load. Fast to build, quick to price.
Tier 2 — the scenario build.
A branching module in Storyline with custom interactions, two SME review rounds, a scored quiz with reporting, and SCORM 2004 packaging. This is the bread-and-butter project, and it’s where most underquoting happens — the review rounds and branching eat far more time than the seat-time estimate suggests.
Tier 3 — the program.
A multi-module program with xAPI instrumentation, facilitator guides, job aids, and a pilot cycle. Long timeline, heavy stakeholder load, real project management. Price it as the engagement it is, not as “a few modules.”
When a quote request comes in, slot it into a tier, then adjust for the multipliers that actually move cost: audience size, number of languages, and review complexity. A 30-minute compliance module with legal review, three SME passes, and SCORM 2004 for Cornerstone is a completely different project than a 30-minute Rise course for internal awareness — even though a client will describe both as “a 30-minute module.” Ask what business problem triggered the request before you name a price. The answer is the price.
/03Three pricing shapes that hold up.
Once you know the tier, you still have to choose how the money moves. There are three shapes worth using, ranked by how often they fit a first project:
Option 01
Milestone pricing for a defined module.
Best for: clear scope, concrete deliverable, your first few gigs
When the deliverable is concrete — “one Storyline module, 20 minutes seat time, SCORM 2004, two revision rounds, facilitator guide” — quote a single number and break it into three payments: a deposit at kickoff, a second payment at storyboard approval, the balance at SCORM delivery. Name the change-order rate in the SOW before you sign, so a fourth revision round is a quote, not an argument.
- Works well
- One fixed price, split across kickoff / storyboard / SCORM delivery
- Client never pays everything upfront; you never deliver everything unpaid
- Extra revision rounds trigger a change order at a rate you set
- Watch out for
- Needs a genuinely clear scope to work — fuzzy briefs break it
- You eat the overrun if you under-scoped the tier
Option 02
Sprint pricing for discovery-heavy work.
Best for: fuzzy scope, new clients, needs analysis before a build
When the brief is “we’re not totally sure what we need yet,” don’t guess a flat fee — sell sprints. Sprint one delivers a needs analysis and storyboard outline; sprint two delivers a working prototype with one scenario path. Predictable income for you, an exit ramp for them. This is also how you generate the hour data that makes your future fixed quotes accurate.
- Works well
- Each two-week sprint has one defined output the client can keep
- Client can stop after any sprint; you get paid for finished work
- Lowers a new client’s risk while you both build trust
- Watch out for
- Feels open-ended to clients who want one fixed number
- You have to actually ship something concrete every sprint
Option 03
Advisory retainer for ongoing oversight.
Best for: client builds the content, you guard the quality
When a client’s internal team authors the content but needs a senior eye on design quality, SCORM packaging, accessibility, or LMS config, structure a monthly block — say 10 to 20 hours — with a defined menu of what those hours cover. It’s rarely your first deal, but it’s the one that turns a single project into a relationship.
- Works well
- Monthly block of hours with a clear menu: reviews, SCORM QA, pilots
- Positions you as a partner, not a vendor — more referrals
- Smooths the income gaps between build projects
- Watch out for
- Harder to land before you have a track record
- Unused hours shouldn’t roll over — define that or it drifts
You can mix shapes inside one engagement — sprint-priced discovery, milestone-priced build, an optional post-launch retainer — as long as you label the boundaries explicitly in the proposal. Clients reward that clarity, and it keeps a single flat fee from either undervaluing the build or overcharging for something simple.
/04The discount line and the walk-away line.
Two numbers do the negotiating for you. The first is the discount you can quote without bleeding — and the rule is simple: never cut the price without cutting the scope. If a client needs a smaller number, you trade for it. Drop a review round. Narrow the audience. Cut a language. Move voiceover to their side. A discount is a different project at a lower price, never the same project for less money.
The second number is the floor from section one — and that’s your walk-away line. When the scope-adjusted price would still drop you below your hourly floor, the answer is a warm “no.” Not a guilt trip, not a counteroffer you’ll resent. Walking from work that pays under your floor is how you stay available for the work that pays above it.
Protect the scope, or the floor doesn’t matter.
None of this survives contact with a client unless you fence the scope in writing. List the exclusions in plain language — not legalese — and make each one something a past client actually asked for: this project does not include translation, LMS upload and configuration, voiceover recording, ongoing maintenance after delivery, or more than two rounds of SME review. If it’s happened once, it’ll happen again; putting it on the list isn’t adversarial, it protects the timeline the client needs too.
Then define change orders before the first one lands: additions beyond the agreed scope — new modules, extra review rounds, new audiences, format changes — get scoped and quoted separately, and work begins only after written approval. Build the “scope creep early-warning” habit: when someone says “could we also…” in a meeting, write it down where they can see it and say, “Great idea — let me scope that as an add-on so it doesn’t delay the main delivery.” That one sentence validates the request, signals a cost, and protects the timeline all at once.
/05Frequently asked questions.
Should I charge hourly or per project for my first ID gig?
How do I price when I have no idea how long it will take?
What should I do when a client asks for a discount?
How do I stop scope creep from eating my project fee?
See Allure Training OS pricing
About Field Notes
Allure Training OS
Practical guides for instructional designers from Allure Training OS.