Skip to content
Codecademy course catalog page — ‘Browse the full catalog’ with course cards for Learn Python 3, Learn HTML, Learn JavaScript, Learn SQL, Learn Java, and Learn C++
Subscription Monetization Foundations

Codecademy

The Story Of $10M To $50M ARR — On The Way To A $525M Exit.

Four years inside Codecademy. Optimizing every corner of the subscription business — pricing, trials, paywalls, retention, payments. The team grew from 20 to 250. Traffic stayed flat. Revenue 5x'd.

Client Snapshot

Codecademy logo
Product
Interactive coding curriculum for self-taught developers
Model
Consumer freemium subscription (Basic / Pro / Pro Plus)
Funding
~$87.5M raised across Series A–D — Kleiner Perkins, Naspers, Owl Ventures, USV, Prosus
My Role
Head of Growth, 2017–2021 (~20 people → ~250)

The Situation

When I joined Codecademy in 2017, we were about 20 people. By the time I left in 2021, we were around 250. Shortly after, Skillsoft acquired the company for $525M.

The product had been famous for years. Millions of self-taught developers had learned to code through the free curriculum. Anyone who tried to copy Codecademy failed. The brand was a moat.

What we didn't have, when I joined, was a real subscription engine underneath the product. Pricing hadn't been seriously revisited in years. Packaging didn't map to how different users actually used the product. Free-to-paid conversion had room to grow. International conversion was lagging the US by an order of magnitude. There was almost no expansion revenue.

The assumption people make is that we grew traffic during those four years. We didn't — not meaningfully. Codecademy already had massive awareness. Millions of people had heard of us, used the free product, knew the brand. The problem wasn't at the top of the funnel. It was everything after.

We grew revenue 5x without growing the funnel. The work I did in those four years became the foundation for everything I do now at Subscription Index.

Inside The Codecademy Years

Codecademy team offsite group photo, roughly 60 people outdoors on a sunny day, circa 2018
The Codecademy team, ~2018. The product, the curriculum, the platform — all of it built by the people in this photo.
The Codecademy office on Prince Street in NYC — exposed brick, columns, and open desks under tall arched windows
The Prince Street office in NYC, where most of this work got done.
Gold balloons spelling $500,000! floating above the Codecademy office lounge — celebrating the first half-million-dollar revenue month
Our first $500K revenue month. We celebrated.
Dan Layfield in front of the Codecademy office sign on his last day, 2021
Last day at Codecademy, 2021.

You can only monetize a great product

Every lever on this page — pricing, paywalls, conversion, retention, payments — is a multiplier on something else. If the product underneath is weak, every monetization win is a short-term squeeze that accelerates churn. If the product is strong, the same levers compound for years. Codecademy worked because the curriculum, the engineering, and the design were already great when I joined — a product millions of self-taught developers in 190+ countries came back to year after year. The monetization story is leverage on top of that. Never a substitute for it.

The Plan

Three levers, in this order:

  • 1.Re-architect pricing — for the US market, for international markets, and for how monthly-versus-annual decisions actually got made
  • 2.Fix the conversion engine — paywall placement, trial model, time-to-value, every step where free users dropped before paying
  • 3.Build the LTV layer — cancellation saves, dunning, payment recovery, expansion paths. The invisible stuff that funds the business

Every change had to pass through one of the most opinionated learner communities on the internet, ship under the founder's bar of “this still feels like Codecademy,” and pay for itself in a metric we could watch every single week.

The Results

Four years in: ARR grew from $10M to $50M. The share of new subscribers on annual plans grew from roughly 5% to 50% — a 10x shift in plan mix. International conversion stopped being a leak and started being a contributor. Free-to-paid conversion roughly tripled at the same cohort lifecycle stage. The team grew from 20 to 250 people. Skillsoft acquired Codecademy for $525M in December 2021, shortly after I left.

ARR Growth

$10M → $50M

Subscription ARR grew 5x over four years — without meaningful traffic growth

Annual Plan Share

5% → 50%

10x'd the share of new subscribers on annual plans by re-architecting the monthly-to-annual ratio

Free-To-Paid Conversion

214%

Cohort-over-cohort free-to-paid conversion grew by 214% at the same lifecycle stage

Exit Outcome

$525M

Skillsoft acquired Codecademy in December 2021, shortly after I left

Execution: What We Did

Three workstreams, run roughly in sequence. We started with pricing — because the cheapest revenue is from cohorts you've already acquired but under-monetized. Then we fixed the conversion engine. Then the LTV layer. Each step was measured independently. Each stacked on the one before.

01

Re-Architected Pricing — US, International, And The Annual Ratio

Pricing hadn't been seriously revisited in years. We didn't just change the numbers — we changed how the whole shelf worked, who it was priced for, and how monthly-versus-annual decisions actually got made.

  • -Moved US monthly from $19.99 to $39.99 — nearly doubled — while keeping the annual plan around $19.99/month. That's a roughly 0.50 ratio, deliberately calibrated to the 3–4 month average lifetime of a monthly subscriber
  • -Stood up regional pricing tiers across India, Brazil, Southeast Asia, and the long tail of non-US markets. These weren't discounted users — they were users we would never have converted at the US price. The real choice was $7.99 vs. $0, not $7.99 vs. $19.99
  • -Layered Pro Plus on top of Pro to capture career-track learners willing to pay more for outcomes — without overpricing the base subscription
  • -Annual replaced monthly as the dominant on-ramp. Cohort LTV climbed steadily as the mix shifted; year-two renewal rates on annual were meaningfully higher than monthly churn would have predicted
Codecademy plan-mix chart showing the share of subscribers on annual (teal), monthly (gray), and six-month (yellow) plans over time. Annual climbs as the dominant subscription path; six-month decays out.

The long arc of plan-mix at Codecademy. Monthly used to own the shelf. Annual was the lever we kept pushing.

Codecademy free-to-paid conversion chart — each line is a monthly signup cohort, fanning upward from the earliest cohorts (red) to the latest (yellow). The fan-out shows newer cohorts converting higher and faster.

Each line = one monthly signup cohort, oldest (red) to newest (yellow). The fan-out is the work compounding.

02

Fixed The Conversion Engine — Trial, Paywall, And Time-To-Value

Codecademy already had millions of free users. The problem wasn't getting them in the door — it was converting them after. We rebuilt the funnel from the inside.

  • -Replaced the locked-content model with a true trial — every user got to feel the full product before they were asked to pay
  • -Moved paywalls to high-intent moments inside the curriculum — projects, certifications, career paths — not brittle landing pages
  • -Restructured onboarding around one insight from our cohort data: users who completed their first lesson within 24 hours were dramatically more likely to convert to paid AND still be subscribed six months later
  • -Each new signup cohort converted higher than the previous one. Free-to-paid conversion roughly tripled on the latest cohorts vs. the earliest, at the same lifecycle stage — with no change in product and no change in core pricing
03

Built The LTV Layer That Nobody Talks About

Front of the funnel gets all the attention. The bottom — cancellation, dunning, expansion — is where we found most of the easy revenue.

  • -Built a cancellation flow that asked first, then offered a save tailored to the reason. The #1 cancellation reason wasn't price — it was "life got busy." So pause became the primary save lever, and it worked
  • -Stood up a real dunning system: pre-expiration emails, multiple retry windows, grace periods, multi-currency support. Most churn turned out to be involuntary, not voluntary — and most of it was recoverable
  • -Added expansion paths — Pro Plus upgrades, gift subscriptions, multi-product offers — to give existing subscribers somewhere to spend more, since the cheapest revenue is from people who already trust you
  • -None of these wins moved the needle on their own. Stacked over 36+ months, they reshaped the unit economics enough to fund everything else
A scrolling list of internal launch announcements from Codecademy's growth team — pricing tests, checkout monitoring, PayPal flows, plan modals, dunning improvements, multi-currency support, anonymous trial experiments

Hundreds of small, invisible launches. Most never made it into a slide deck.

Why It Worked

Worked With The Funnel That Already Existed

Codecademy had millions of users walking in the door. The job wasn't to bring more in — it was to make the existing funnel do its job. That's the cheapest and most defensible kind of growth there is.

Pricing Decisions Came Out Of Cohort Data

Every annual ratio, every international tier, every price change came out of retention math. The cohort data told us how to price. Opinions came after the data, not before.

The Bottom Of The Funnel Got First-Class Attention

Most companies obsess over acquisition and ignore the cancellation flow. We treated dunning, save flows, and the boring payments work like first-class problems — because the cohorts we already had were worth more than the cohorts we hadn't gotten yet.

Same Playbook For Your Subscription Business?

I work with subscription businesses that look like Codecademy did in 2017 — strong product, strong brand, real traffic, and a monetization layer that hasn't been built yet. If that's you, the next move is the same one I made there: stop trying to grow the funnel and start fixing what happens after it.