Public dataSEC filings · NASDAQ: DUOLArchived API price lists

Unit economics and AI costs

Duolingo Video Call: AI cost and gross margin model

A unit-economics case on a real decision. Duolingo is giving Video Call, its AI conversation feature, to every Super subscriber, and its filings say AI costs moved its gross margin. This memo and Excel model price each call on OpenAI's archived price lists, build the cost per subscriber, and work out what holds the 71.0% margin Duolingo guided for Q3 2026. The memo recommends the mini model with a 20-minute monthly allowance.

The Duolingo Video Call cost model running in the browser: five ways to give Super subscribers Video Call with their gross margin, driver sliders, the margin by monthly allowance and the cost of one call on each archived price list.

Generative AI turned part of a software company's cost of revenue into something that grows with every minute customers use a feature, so packaging an AI feature is now a finance question: which model, how much use, at what price. Duolingo is a clear case to work it on. It reports its gross margin every quarter, says when AI costs moved it, and is now giving its most expensive AI feature to about ten times as many learners.

The memo

Two pages to Duolingo's CFO, written from public data only. The first sentence is the recommendation; every number in it is read from the workbook after Excel recalculates it.

Download the PDF · 117 KB

Video Call for every Super subscriber: run it on the mini model with a monthly allowance

ToDuolingo's CFO (written from public data only)
FromGary Wu
Date24 October 2026
BasisDuolingo's 10-K, 10-Qs and shareholder letters to Q2 2026; OpenAI's price lists as archived

Recommendation. Extend Video Call to existing Super subscribers on a mini real-time model with a 20-minute monthly allowance, about 5 calls of 4 minutes each, and keep the flagship model and unlimited calls as what Max adds. In the base case that holds gross margin at 71.37%, above the 71.0% Duolingo guided for Q3 2026; giving Super the calls Max has today would take it to 64.91%.

What is being decided. In February Duolingo said it would "move Video Call to be part of the Super Duolingo tier", reaching "about ten times as many learners", and in August that it expects "to extend that access to existing Super subscribers later this year". At the Q2 2026 run-rate of $298.45m revenue and 12.60m average paid subscribers, that is 11.34m Super subscribers; if 30% call in a month, 3.40m callers. Margin was 72.78% in Q4 2025, before Super had the feature, so the room down to the target is $5.31m a quarter, or $0.52 per caller a month.

OptionAI cost per caller a monthCost a quarterMargin, baseBearBull
A · Flagship, unlimited$2.30$23.48m64.91%53.0%69.4%
B · Mini, unlimited$0.72$7.32m70.33%66.7%71.7%
C · Flagship, 20 minutes$1.32$13.47m68.27%63.3%70.5%
D · Mini, 20 minutes (recommended)$0.41$4.20m71.37%69.9%72.1%
E · Flagship, unlimited, price up$2.30$23.48m65.68%54.9%69.7%

Why the mini model, and why an allowance. One call of 4 minutes costs $0.3771 on OpenAI's GPT-Realtime-2 list and $0.1175 on gpt-realtime-mini. About 38% of the flagship cost is the model reading the conversation again before each reply from Lily, the character learners talk to, a cost that grows with the square of the call's length. Even with every Super call on the mini model, unlimited use costs $7.32m a quarter and leaves margin at 70.33%, because the heaviest 15% of callers use 80 minutes a month at $0.0294 a minute. The allowance cuts the average caller from 24.4 minutes to 14.0 minutes and the cost to $4.20m.

The options I rejected. The same allowance on the flagship model leaves margin at 68.27%; to hold the target the flagship needs an allowance of 5.5 minutes, less than two calls, which is not a feature. Raising the Super price does not fix a margin rate: a rise of 13.9% keeps gross profit dollars whole but leaves margin at 65.68%, and holding the rate would take 440%, because each extra dollar carries its own costs. Unlimited calls on the mini model fall short unless Duolingo pays 72.6% of list or less, and its contract price is not public.

Does the cost model match Duolingo's own numbers. Gross margin fell 1.91 points from Q1 2024 to Q1 2025, $4.41m, "mainly due to lower subscription gross margin as a result of increased generative AI costs" for Max. On the GPT-4o list in force then ($0.5340 a call) and at 50% of 2026's use per caller (Duolingo has since "more than doubled the average number of words spoken per user in Video Call"), the model puts Max's Video Call at $2.90m, 66% of the drop; the model should come in below the drop, since it leaves out Max's other AI features such as Explain My Answer and Roleplay. In February Duolingo expected to give up 3.78 points for "expanding access to AI-powered features for all users". The model gives 2.45 points on the mini model and 7.87 points on the flagship, so at base-case usage the outlook, which also covers voice answers for all learners, is much closer to a mini-class cost than to the flagship.

What would change the view. The plan holds the target until more than 37.9% of Super subscribers call in a month, or until less than 65.5% of the re-read conversation is served from the cache (base cases 30% and 80%); these are the two drivers that move the margin most. Read both monthly from the first rollout cohort. If either is crossed, step the allowance down to 15 minutes, which holds up to 46.2% adoption. The model leaves out voice answers for all learners and any change to Max, and Duolingo does not disclose Max subscribers, adoption or call length, so those are judgments, stated in the workbook.

The model

Pick an option or a scenario, or move a driver, and the cost of a call, the cost per caller and the gross margin recalculate. The logic is the workbook's, line for line.

Download .xlsx · 81 KB
Duolingo_Video_Call_Unit_Economics10-K · 10-Qs · archived price lists
Costs add up · allowance solves

D · Mini, allowance

Base case · Q2 2026 run-rate

The mini model with a monthly allowance; Max keeps the flagship model and unlimited calls. The memo's recommendation.

Gross margin
71.37%
Against before
−1.41 pts
AI cost per caller a month
$0.41
Video Call cost a quarter
$4.20m
Minutes per caller
14.0

Gross margin by monthly allowance

Mini modelFlagship modelTarget
64%66%68%70%72%020406080100120target 71.0%

Minutes a month per caller, across. The dot is the allowance set for C and D.

One call of 4.0 minutes, on each price list

Lily's audioRe-reading the callLearner's audioInstructions
GPT-4o, Oct 2024$1.486GPT-4o, Dec 2024$0.534GPT-4o mini, Dec 2024$0.121gpt-realtime, Aug 2025$0.377realtime-mini, Nov 2025$0.118Realtime-2, Jun 2026$0.377

OpenAI's list prices as the Internet Archive kept them; the plan uses Realtime-2 and realtime-mini.

What holds 71.0%Value
Allowance on the mini model35.4 min
Allowance on the flagship model5.5 min
Super price rise, flagship unlimited440%
Share of list paid, mini unlimited72.6%

Run-rate: $298.45m revenue a quarter, 12.60m paid subscribers, $6.83 subscription revenue per subscriber a month (Q2 2026 10-Q). Margin before: 72.78% (Q4 2025). Super subscribers: 11.34m; callers: 3.40m.

How it was built. I built it with an AI agent system I run. It wrote the pipeline and the workbook to my brief, I went through it myself, and a separate check re-derives its figures from the source data. Every input comes from Duolingo's filings, with its accession number, or from OpenAI's price lists as the Internet Archive kept them, with the snapshot address, or is labelled as a judgment with the reason for it.

Duolingo_Video_Call_Unit_Economics.xlsx · CallCost
The workbook's CallCost sheet: the tokens and cost of one four-minute Video Call on each of six archived OpenAI price lists
The same four-minute call cost $1.49 on OpenAI's October 2024 GPT-4o list, $0.53 after the December 2024 cut and $0.38 on GPT-Realtime-2; on gpt-realtime-mini it costs $0.12. Re-reading the conversation before each reply is 38% of the flagship cost.
Duolingo_Video_Call_Unit_Economics.xlsx · Model
The workbook's Model sheet: the five options side by side, from cost per call to gross margin, and what holds the target
Giving Super the calls Max has today takes gross margin from 72.78% to 64.91%. The mini model alone gets to 70.33%; with a 20-minute allowance it holds 71.37%, above the 71.0% target.
Duolingo_Video_Call_Unit_Economics.xlsx · Reconcile
The workbook's Reconcile sheet: the model against Duolingo's Q1 2025 margin drop and its February 2026 outlook
Checked against Duolingo's own numbers: the model accounts for 66% of the $4.41m margin drop in Q1 2025, and the 3.78 points Duolingo expected to give up in 2026 sits, at base-case usage, much closer to the mini model (2.45 points) than to the flagship (7.87 points).

The full analysis

Each part opens on click.

Why DuolingoFive candidates, scored on how explicitly their own filings tie AI costs to margin and on fit for an AI company's finance interview

The company had to be US-listed and its own 10-K, 10-Q or earnings exhibits had to say that AI inference or generative AI costs moved its gross margin or its pricing. I scored five candidates from 1 to 5 on each test after reading the sentences their latest filings give it.

CompanyDataFitWhat its filings say, in their wordsWhat the filings documentWhy it does or does not fit
Duolingo · DUOL55“This was mainly due to lower subscription gross margin as a result of increased generative AI costs year over year related to expansion of the Duolingo Max subscription tier.” (0001562088-25-000100)Every 10-Q and 10-K from Q1 2025 states the gross margin and puts its change on generative AI costs for Max and Video Call; the shareholder letters give paid subscribers, the growth in revenue per subscriber, the move of Video Call into Super and the margin it expects as a result.A consumer subscription whose AI feature is priced per use underneath and per subscriber on top: the unit-economics question an AI company's finance team works on, on numbers the company itself reports every quarter.
GitLab · GTLB34“As our SaaS and Duo Agent Platform offerings make up an increasing percentage of our total revenue, we expect to see increased associated cloud-related costs, such as hosting and managing costs, which may adversely impact our gross margins.” (0001628280-26-059943)The 10-Q quantifies the margin drop and the hosting cost increase, but attributes it to SaaS and cloud usage together; the AI share and the Duo usage behind it are not given.Developer AI agents priced per seat is a close fit, but without usage or seat counts for Duo the cost per user cannot be anchored.
Atlassian · TEAM33“Cost of revenues primarily consists of expenses related to third-party hosting fees, including expenses related to our Cloud infrastructure and AI inference incurred through our customer's usage of our AI tools, compensation expenses for our employees, including stock-based compensation, amortization of acquired intangible assets, such as the amortization of the cost associated with an acquired company's developed technology, payment processing fees, consulting and contractors costs associated with our customer support and infrastructure service teams, and facilities and related overhead costs.” (0001650372-26-000036)The 10-K names AI inference as a cost and as one reason for the expected margin decline, alongside a license-revenue comparison and the Cloud mix shift, and it does not quantify any of them separately.Rovo is a current AI cost story, but the margin outlook mixes three effects the filing does not separate.
Salesforce · CRM24“Cost of revenues increased in absolute dollars, and by one percent as a percentage of total revenues, for the three and six months ended July 31, 2026 compared to the same period a year ago, primarily as a result of an increase in service delivery expenses, including spend on hosting services and generative AI technologies, as well as amortization of intangible assets acquired through business combinations.” (0001108524-26-000190)One point of a $10 billion-a-quarter cost base, shared between hosting, generative AI and amortization; no per-user or per-agent cost.Agentforce is the most-discussed AI pricing change in enterprise software, but the AI cost cannot be isolated from the filings.
Adobe · ADBE23“Cost of subscription revenue consists primarily of third-party hosting services and data center costs, including expenses related to operating our network infrastructure and AI inferencing costs.” (0000796343-26-000156)The 10-Q names AI inferencing as part of cost of subscription revenue but states no effect on gross margin and no amount.Generative credits are a usage allowance inside plans, close to this question, but there is nothing to reconcile a cost model to.

Duolingo scores highest on both. Every 10-Q and 10-K since Q1 2025 states the gross margin and says what moved it, generative AI costs for Max and Video Call first and lower per-unit AI costs later; its shareholder letters give paid subscribers, the growth in revenue per subscriber and the margin it expects from moving Video Call into Super. The decision it faces, how to give a per-use AI feature to a flat-priced subscription, is the unit-economics question an AI company's finance team works on.

What Duolingo said, in its own wordsThe decision, the costs and the margin, quoted from its filings with accession numbers

The decision

“And yet, to lead the transformation we see possible, we will move Video Call to be part of the Super Duolingo tier and experiment with changes to our top subscription tier, Duolingo Max.” (Q4 2025 shareholder letter, 8-K · 0001628280-26-012246) “This will give access to a critical learning feature, conversation practice, to about ten times as many learners.” (Q4 2025 shareholder letter, 8-K · 0001628280-26-012246) “Additionally, most new Super Duolingo subscribers now have access to Video Call, and we expect to extend that access to existing Super subscribers later this year.” (Q2 2026 shareholder letter, 8-K · 0001628280-26-053299)

What Video Call is

“The biggest announcement was our new Video Call feature within Duolingo Max, our highest subscription tier.” (Q3 2024 shareholder letter, 8-K · 0001562088-24-000248) “Duolingo Max is a premium subscription tier launched in 2023 and offered to a portion of our user base and priced higher than Super Duolingo.” (FY2025 10-K, business, 10-K · 0001628280-26-012494) “Adoption of our highest-priced subscription tier, Duolingo Max, is growing, and its flagship feature, Video Call, allows learners to chat with Lily in a fun, low-stakes environment that builds confidence over time.” (Q1 2025 shareholder letter, 8-K · 0001562088-25-000098)

The model it uses

“We are working to incorporate generative AI (i.e., AI that can produce and output new content, software code, data and information) features into our solutions, such as Duolingo Max which is powered by OpenAI's GPT-4 AI model.” (FY2023 10-K, risk factors, 10-K · 0001562088-24-000050) “Further, our ability to continue to develop, maintain or use such technologies may be dependent on access to specific third-party software and infrastructure, such as processing infrastructure for the training of our own machine-learning models or the use of third-party AI models.” (FY2025 10-K, risk factors, 10-K · 0001628280-26-012494)

The costs

“Cost of revenues predominantly consists of third-party payment processing fees charged by various distribution channels in addition to hosting fees and Artificial Intelligence ("AI") costs.” (FY2025 10-K, cost of revenues, 10-K · 0001628280-26-012494) “This was mainly due to lower subscription gross margin as a result of increased generative AI costs year over year related to expansion of the Duolingo Max subscription tier.” (10-Q for the quarter to 2025-03-31, gross margin, 10-Q · 0001562088-25-000100) “The decrease was primarily attributable to both a decline in subscription gross margin, reflecting increased AI costs used in features like Video Call, and a shift in revenue mix toward advertising, which carries lower margins than subscriptions.” (FY2025 10-K, gross margin, 10-K · 0001628280-26-012494) “Though Role Play represents a small portion of our overall GenAI costs, we expect the process we followed to reduce its costs is indicative of how we can implement further cost-saving measures in the second half of the year.” (Q1 2025 shareholder letter, 8-K · 0001562088-25-000098)

Costs falling

“The increase was primarily attributable to an increase in subscription gross margin, reflecting continued reductions in per-unit AI costs and improved efficiency across our features, including Video Call, partially offset by higher hosting costs.” (10-Q for the quarter to 2026-03-31, gross margin, 10-Q · 0001628280-26-029976) “The increase was primarily attributable to an increase in subscription gross margin, reflecting continued reductions in per-unit third-party AI costs.” (10-Q for the quarter to 2026-06-30, gross margin, 10-Q · 0001628280-26-053603) “This reflects our measured pace of AI-powered feature expansion (such as Video Call), as well as AI cost efficiencies.” (Q2 2026 shareholder letter, 8-K · 0001628280-26-053299)

The outlook

“We expect our gross margin percentage to be approximately 71% in Q1 and roughly 69% for the rest of the year, driven primarily by expanding access to AI-powered features for all users.” (Q4 2025 shareholder letter, 8-K · 0001628280-26-012246) “We expect a gross margin of approximately 71.0% in Q3 and approximately 71.6% for the full year, better than the trajectory we outlined on our Q1 call based on AI cost trends.” (Q2 2026 shareholder letter, 8-K · 0001628280-26-053299) “Over the last year, we've more than doubled the average number of words spoken per user in Video Call . And as promised in our last shareholder letter, we're starting to expand access to Video Call to Super subscribers.” (Q1 2026 shareholder letter, 8-K · 0001628280-26-029790)

QuarterRevenueGross marginPaid subscribersSubscription revenue per subscriber a monthWhat the filing says about the marginFiling
Q1 2024$167.6m73.0%7.4m$6.27Total gross margin increased slightly to 73.0% from 72.8% during the three months ended March 31, 2024 and 2023. This was primarily due to higher subscription gross margin contribution from an increase in subscriber revenue as a percentage of total revenue, partially offset by a decline in Advertising margins, which was due to decreases in average revenue per DAU and increased amortization of capitalized software.0001562088-24-000113
Q2 2024$178.3m73.4%8.0m$6.23Total gross margin was 73.4% during both the three months ended June 30, 2024 and 2023. This was primarily due to higher subscription gross margin contribution from an increase in subscriber revenue as a percentage of total revenue, offset by a decline in Advertising margins, which was due to decreases in average revenue per DAU.0001562088-24-000207
Q3 2024$192.6m72.9%8.6m$6.33Total gross margin was 72.9% during the three months ended September 30, 2024, a decrease from 73.7% in the three months ended September 30, 2023. This was due to a combination of lower margins in Other revenue offset by an increase in Subscription revenue as a percentage of total revenue.0001562088-24-000250
Q4 2024$209.6m71.9%9.5m$6.42In Q4, gross margin decreased by approximately 120 basis points year over year to 71.9% due to lower subscription margins from increased generative AI costs due to the increased adoption of Duolingo Max, and lower advertising gross margin during the period from lower advertising revenue per DAU.0001562088-25-000042
Q1 2025$230.7m71.1%10.3m$6.43Total gross margin decreased to 71.1% from 73.0% during the three months ended March 31, 2025 and 2024. This was mainly due to lower subscription gross margin as a result of increased generative AI costs year over year related to expansion of the Duolingo Max subscription tier.0001562088-25-000100
Q2 2025$252.3m72.4%10.9m$6.63Total gross margin decreased to 72.4% from 73.4% during the three months ended June 30, 2025 and 2024, and to 71.8% from 73.2% during the six months ended June 30, 2025 and 2024. The decrease in both periods was primarily due to lower subscription gross margin, driven by increased generative AI costs year over year related to the expansion of the Duolingo Max subscription tier.0001562088-25-000168
Q3 2025$271.7m72.5%11.5m$6.83Total gross margin decreased to 72.5% from 72.9% during the three months ended September 30, 2025 and 2024, respectively, primarily due to decreases in subscription and advertising gross margins related to an increase in generative AI costs associated with expansion of our Duolingo Max subscription tier and increased hosting costs.0001628280-25-049743
Q4 2025$282.9m72.8%12.2m$6.82Gross margin expanded approximately 90 basis points year over year to 72.8%.0001628280-26-012494
Q1 2026$292.0m73.0%12.5m$6.77Total gross margin increased to 73.0% from 71.1% during the three months ended March 31, 2026 and 2025. The increase was primarily attributable to an increase in subscription gross margin, reflecting continued reductions in per-unit AI costs and improved efficiency across our features, including Video Call, partially offset by higher hosting costs.0001628280-26-029976
Q2 2026$298.5m72.6%12.7m$6.83Total gross margin increased to 72.6% from 72.4% during the three months ended June 30, 2026 and 2025, and total gross margin increased to 72.8% from 71.8% during the six months ended June 30, 2026 and 2025. The increase was primarily attributable to an increase in subscription gross margin, reflecting continued reductions in per-unit third-party AI costs.0001628280-26-053603

Revenue and cost of revenue are the XBRL facts (Q4 is the year less the first nine months); the margin each filing states agrees with them in every quarter. Revenue per subscriber is subscription revenue over the average of opening and closing paid subscribers; its growth comes within 1.5 points of the growth Duolingo states in its letters.

What one call costsSix of OpenAI's real-time voice price lists, from October 2024 to June 2026, each from an archived page

Through the Q3 2024 10-Q, Duolingo's filings named the model: the FY2023 10-K and the 10-Qs for the first three quarters of 2024 say “Duolingo Max which is powered by OpenAI's GPT-4 AI model” (0001562088-24-000050, 0001562088-24-000113, 0001562088-24-000207, 0001562088-24-000250). From the FY2024 10-K (10-K · 0001562088-25-000042) on they say only “third-party AI models”, and they never say what Duolingo pays. So the model prices a call on OpenAI's published lists for its real-time voice models, the kind of model a live spoken conversation needs, as a public stand-in: a list price, not Duolingo's contract price. OpenAI's launch post gives the conversion to minutes: “Text input tokens are priced at $5 per 1M and $20 per 1M output tokens. Audio input is priced at $100 per 1M tokens and output is $200 per 1M tokens. This equates to approximately $0.06 per minute of audio input and $0.24 per minute of audio output.” (archived 1 October 2024). At the audio prices in that sentence that is 600 tokens a minute of the learner speaking and 1,200 a minute of Lily speaking.

A call of 4.0 minutes with 3.0 replies a minute has 12.0 replies. Each one reads the learner's new audio at the input price, writes Lily's reply at the output price, and reads the conversation so far again, at the cached price for the 80% that hits the cache and the input price for the rest, together with 1,500 tokens of instructions. Summed over the replies, the re-read part grows with the square of the call's length; OpenAI added controls for it when it launched gpt-realtime: “We've also added fine-grained control for conversation context to let developers set intelligent token limits and truncate multiple turns at a time, significantly reducing cost for long sessions.”

Exhibit 1One call of 4.0 minutes on each archived price list
Price listAudio inCachedAudio outText inText cachedOne callA minuteSnapshot
GPT-4o real-time, October 2024$100.00$20.00$200.00$5.00$2.50$1.4863$0.37169 January 2025
GPT-4o real-time, December 2024$40.00$2.50$80.00$5.00$2.50$0.5340$0.13359 January 2025
GPT-4o mini real-time, December 2024$10.00$0.30$20.00$0.60$0.30$0.1210$0.03029 January 2025
gpt-realtime, August 2025$32.00$0.40$64.00$4.00$0.40$0.3771$0.094311 November 2025
gpt-realtime-mini, November 2025 list$10.00$0.30$20.00$0.60$0.06$0.1175$0.029411 November 2025; same prices 1 March 2026; same prices 9 September 2026
GPT-Realtime-2, June 2026 list$32.00$0.40$64.00$4.00$0.40$0.3771$0.09431 June 2026; same prices 9 September 2026

Source: CallCost sheet, formulas on the archived prices; the plan uses GPT-Realtime-2 (flagship) and gpt-realtime-mini (mini). Later captures with the same prices are linked after each snapshot.

Prices are dollars per million tokens. The announcements agree with the pricing pages: “Due to our efficiency improvements, we're dropping the audio token price by 60% to $40/1M input tokens and $80/1M output tokens. Cached audio input costs are reduced by 87.5% to $2.50/1M input tokens.” (archived 18 December 2024) and “We're reducing prices for gpt-realtime by 20% compared to gpt-4o-realtime-preview — $32 / 1M audio input tokens ($0.40 for cached input tokens) and $64 / 1M audio output tokens” (archived 28 August 2025). The flagship list has not changed since August 2025, so the per-unit cost reductions Duolingo reports in 2026, if Duolingo pays list on this kind of model, would have to come from somewhere else, such as caching, cheaper models and shorter context, which is what the options below test.

Options, scenarios and judgmentsEvery judgment with its reason; every fact with its source
OptionWhat it doesAI cost per caller a monthCost a quarterBearBaseBull
A · Flagship, unlimitedSuper gets Video Call as Max has it: GPT-Realtime-2 and no limit.$2.30$23.48m52.97%64.91%69.40%
B · Mini, unlimitedSuper's calls on gpt-realtime-mini, no limit.$0.72$7.32m66.69%70.33%71.71%
C · Flagship, allowanceGPT-Realtime-2 with the same 20-minute monthly allowance as D.$1.32$13.47m63.29%68.27%70.54%
D · Mini, allowance (recommended)gpt-realtime-mini with a 20-minute monthly allowance; Max keeps the flagship model and unlimited calls.$0.41$4.20m69.86%71.37%72.07%
E · Flagship, unlimited, price upGPT-Realtime-2, no limit, and the Super price up 13.9%, enough to keep gross profit dollars whole.$2.30$23.48m54.90%65.68%69.73%

The base is Duolingo's Q2 2026 run-rate: $298.45m revenue a quarter and 12.60m average paid subscribers, of whom 90% are on Super. The margin before the change is Q4 2025's 72.78%, the last quarter in which only Max had Video Call. Each option's Video Call cost for Super comes off that margin; the price rise in E adds revenue that carries the same non-AI costs. Green holds the 71.0% target, red misses it. Bear: Super subscribers take to Video Call as Max subscribers do and call more often, and less of the conversation hits the cache. Bull: the opposite. The other drivers stay at base.

Scenario driverBearBaseBull
Super subscribers who make at least one call a month45%30%20%
Calls a month, against the usage tiers1.30×1.00×0.80×
Share of re-read conversation billed at the cached price65%80%90%
JudgmentBaseLowHighWhy this value
Max subscribers as a share of paid subscribers10%7%13%Duolingo does not report Max subscribers. Moving Video Call from Max into Super gives it "to about ten times as many learners" (8-K 0001628280-26-012246), so Max is about one paid subscriber in ten; the range allows for "about".
Super subscribers who make at least one call a month30%15%50%Not disclosed. Max subscribers pay for Video Call and would use it more; a Super subscriber gets it as one feature among many, so the base is below half and the range is wide.
Max subscribers who make at least one call a month60%40%80%Not disclosed. Video Call is the feature Max is sold on ("its flagship feature, Video Call", Q1 2025 letter), so most Max subscribers use it. Used only to check the model against Q1 2025.
Calls a month, against the usage tiers1.00×0.60×1.50×Scales all three tiers' calls together; the tiers are a judgment (below).
Length of a call4.0 min2.5 min6.0 minNot disclosed. A short conversation with Lily at a learner's level; Duolingo says it plans "longer sessions for learners who can handle them" (Q2 2025 letter), so today's calls are short.
Share of a call the learner is speaking40%30%55%Lily asks and models answers; learners answer in short sentences, so they speak less than half the time.
Lily's replies a minute325About one exchange every 20 seconds. Each reply makes the model read the conversation so far again, so this sets how often the call's history is billed.
Share of re-read conversation billed at the cached price80%50%95%The part of the call already read once can be served from OpenAI's prompt cache at the cached price; how much hits depends on the engineering, so the range is wide.
Instruction text tokens read with each reply1,5008003,000Lily's character, the learner's course and level, and the call's goal, sent as text with each reply.
Price Duolingo pays, as a share of list100%60%100%Duolingo's contract price is not public and a buyer of its size may pay less than list; the base uses list, the range goes down to 60%.
Headroom kept above the target when the allowance is set0.25%0.00%0.50%The allowance is set to clear the 71.0% target by a quarter of a point in the base case: a plan that only just meets the guidance misses it the first month usage runs above the base case.
Q1 2025 usage per caller, against 20260.50×0.40×0.60×"Over the last year, we've more than doubled the average number of words spoken per user in Video Call" (Q1 2026 letter, 0001628280-26-029790): a year earlier a caller spoke at most half as much. Used only to check the model against Q1 2025.
Callers, by tier (a judgment)Share of callersCalls a monthMinutes a monthWhy
Light callers50%28Half of those who call at all try it once or twice a month.
Regular callers35%624About one call a week, more in a busy week.
Heavy callers15%2080Learners practising speaking most days; a long tail like this is usual for a usage feature.
Fact from the filingsValueForm · accessionWhere
Revenue, Q2 2026$298.45m10-Q · 0001628280-26-053603XBRL RevenueFromContractWithCustomerExcludingAssessedTax, 1 April to 30 June 2026
Subscription revenue, Q2 2026$258.04m10-Q · 0001628280-26-053603Subscription $ 258,035 $ 210,678
Paid subscribers at 31 March 202612.5m10-Q · 0001628280-26-029976Paid subscribers (at period end) 12.5 10.3
Paid subscribers at 30 June 202612.7m10-Q · 0001628280-26-053603Paid subscribers (at period end) 12.7 10.9
Gross margin, Q4 2025 (the last quarter before Super got Video Call)72.78%10-K · 0001628280-26-012494XBRL: 1 − (cost of revenue ÷ revenue), full year 2025 less nine months; the shareholder letter states 72.8%
Revenue, Q1 2025$230.74m10-Q · 0001562088-25-000100XBRL RevenueFromContractWithCustomerExcludingAssessedTax, 1 January to 31 March 2025
Gross margin, Q1 202571.12%10-Q · 0001562088-25-000100XBRL: 1 − (cost of revenue ÷ revenue); Total gross margin decreased to 71.1% from 73.0% during the three months ended March 31, 2025 and 2024.
Gross margin, Q1 202473.03%10-Q · 0001562088-24-000113XBRL: 1 − (cost of revenue ÷ revenue); Total gross margin increased slightly to 73.0% from 72.8% during the three months ended March 31, 2024 and 2023.
Paid subscribers at 31 December 20249.5m10-K · 0001562088-25-000042Paid subscribers (at period end) 9.5 6.6
Paid subscribers at 31 March 202510.3m10-Q · 0001562088-25-000100Paid subscribers (at period end) 10.3 7.4
Which drivers matterA tornado on the recommended plan's margin, a two-way table on its top two drivers, and the allowance curve
Driver · low end → high endMargin at the low endMargin at the high endSwing
Super subscribers who make at least one call a month · 15% → 50%72.08%70.43%0.94%
Share of re-read conversation billed at the cached price · 50% → 95%70.60%71.76%0.77%
Price Duolingo pays, as a share of list · 60% → 100%71.94%71.37%0.56%
Length of a call · 2.5 min → 6.0 min71.88%70.82%0.55%
Lily's replies a minute · 2 → 571.59%70.94%0.44%
Calls a month, against the usage tiers · 0.60× → 1.50×71.73%71.17%0.36%
Share of a call the learner is speaking · 30% → 55%71.25%71.55%0.18%
Max subscribers as a share of paid subscribers · 7% → 13%71.33%71.42%0.05%
Instruction text tokens read with each reply · 800 → 3,00071.39%71.34%0.04%

Plan D holds 71.37% in the base case. The two drivers that move it most are how many Super subscribers call and how much of the re-read conversation the cache serves; neither is public. D holds the target until more than 37.9% of Super subscribers call in a month or less than 65.5% of the re-read conversation is cached; the next allowance down, 15 minutes, holds up to 46.2%.

Exhibit 2D's gross margin by share of Super subscribers who call (down) and share of the re-read conversation cached (across)
Down · across50%65%80%88%95%
15%71.7%71.9%72.1%72.2%72.3%
23%71.1%71.4%71.7%71.9%72.0%
30%70.6%71.0%71.4%71.6%71.8%
40%69.9%70.4%70.9%71.2%71.4%
50%69.2%69.8%70.4%70.8%71.1%

Source: Sensitivity sheet: each cell is a live Engine row; the two drivers are picked by the tornado.

Exhibit 3Gross margin by monthly allowance (minutes per caller)
Allowance05101520253035406080100
Mini model72.8%72.3%71.9%71.6%71.4%71.2%71.1%71.0%70.9%70.6%70.3%70.3%
Flagship model72.8%71.2%69.9%69.1%68.3%67.6%67.3%67.1%66.8%65.9%64.9%64.9%

Source: Sensitivity sheet, the allowance curve; Engine rows, base case.

On the mini model the target holds up to an allowance of 35.4 minutes; the plan sets 20, the largest five-minute step that clears the target by 0.25 points. On the flagship model the target holds only up to 5.5 minutes, less than two calls. Past 80 minutes nobody is capped, so the curves go flat.

Does the model match Duolingo's numbersTwo checks against the company's own figures

Q1 2025

Gross margin fell 1.91 points from Q1 2024 to Q1 2025, $4.41m on that quarter's revenue, and the 10-Q says: “This was mainly due to lower subscription gross margin as a result of increased generative AI costs year over year related to expansion of the Duolingo Max subscription tier.” Video Call had launched in Q3 2024. On the GPT-4o list in force in Q1 2025 ($0.5340 a call), with 10% of 9.9m average paid subscribers on Max, 60% of them calling, and use per caller at 50% of 2026's, the model puts Max's Video Call at $2.90m, 66% of the drop. It should come in below it: it leaves out Max's other generative AI features, and Duolingo says “mainly”, not “only”.

February 2026 outlook

Duolingo expected gross margin of “roughly 69% for the rest of the year”, 3.78 points below Q4 2025, “driven primarily by expanding access to AI-powered features for all users”, which includes voice answers for every learner as well as Video Call for Super. At base-case usage the model gives 2.45 points for Video Call on the mini model and 7.87 points on the flagship, unlimited. At the low end of the adoption range (15% of Super subscribers calling) a flagship rollout gives up 3.93 points, and 2.79 points if the cache also serves 95% of the re-read conversation, close to or under the 3.78 points Duolingo guided. So the outlook fits a mini-class cost at base-case usage, but it cannot rule out a flagship rollout with low adoption.

What happened

Q2 2026 gross margin was 72.62%, with “most new Super Duolingo subscribers” already having Video Call. Duolingo now guides 71.0% for Q3 and puts the improvement on its “measured pace of AI-powered feature expansion (such as Video Call), as well as AI cost efficiencies”. The model cannot split those two from the filings; it can say how much allowance and which model the 71.0% leaves room for.

Where each memo number comes fromAll 73 figures in the memo, each with the workbook cell it is read from
In the memoWhat it isWorkbook cell
20 minutesthe monthly allowance offered under DModel!D40
20-minutethe monthly allowance offered under DModel!D40
5calls the allowance coversModel!D53
4 minuteslength of a call (judgment)Inputs!H51
71.37%gross margin under D, base caseModel!G32
71.0%the target: Duolingo’s Q3 2026 guidanceModel!D9
64.91%gross margin under A, base caseModel!D32
$298.45mrevenue a quarter, Q2 2026Model!D5
12.60maverage paid subscribers, Q2 2026Model!D6
11.34mSuper subscribers (paid less Max)Model!G28
30%share of Super subscribers who call in a month (judgment)Inputs!H48
3.40mSuper subscribers who callModel!G29
72.78%gross margin before, Q4 2025Model!D8
$5.31mroom to the target a quarterModel!D10
$0.52room per caller a monthModel!D36
$2.30AI cost per caller a month, option AModel!D27
$23.48mSuper Video Call cost a quarter, option AModel!D30
64.91%gross margin, option A, baseModel!D32
53.0%gross margin, option A, bearEngine!AM10
69.4%gross margin, option A, bullEngine!AM20
$0.72AI cost per caller a month, option BModel!E27
$7.32mSuper Video Call cost a quarter, option BModel!E30
70.33%gross margin, option B, baseModel!E32
66.7%gross margin, option B, bearEngine!AM11
71.7%gross margin, option B, bullEngine!AM21
$1.32AI cost per caller a month, option CModel!F27
$13.47mSuper Video Call cost a quarter, option CModel!F30
68.27%gross margin, option C, baseModel!F32
63.3%gross margin, option C, bearEngine!AM12
70.5%gross margin, option C, bullEngine!AM22
$0.41AI cost per caller a month, option DModel!G27
$4.20mSuper Video Call cost a quarter, option DModel!G30
71.37%gross margin, option D, baseModel!G32
69.9%gross margin, option D, bearEngine!AM13
72.1%gross margin, option D, bullEngine!AM23
$2.30AI cost per caller a month, option EModel!H27
$23.48mSuper Video Call cost a quarter, option EModel!H30
65.68%gross margin, option E, baseModel!H32
54.9%gross margin, option E, bearEngine!AM14
69.7%gross margin, option E, bullEngine!AM24
4 minuteslength of a call (judgment)Inputs!H51
$0.3771one call on GPT-Realtime-2, June 2026 listCallCost!I24
$0.1175one call on gpt-realtime-mini, November 2025 listCallCost!H24
38%share of a flagship call’s cost from re-readingModel!D51
$7.32mcost a quarter, option BModel!E30
70.33%gross margin, option B, baseModel!E32
15%share of callers in the heavy tier (judgment)Inputs!D64
80 minutesminutes a month a heavy caller uses, uncappedModel!D52
$0.0294cost a minute, mini modelModel!E19
24.4 minutesminutes a month per caller, unlimitedModel!E26
14.0 minutesminutes a month per caller under DModel!G26
$4.20mcost a quarter, option DModel!G30
68.27%gross margin, option C, baseModel!F32
5.5 minutesallowance that holds the target on the flagship modelModel!D37
13.9%Super price rise that keeps gross profit dollars wholeModel!D45
65.68%gross margin, option E, baseModel!H32
440%Super price rise that holds the margin rate, flagship unlimitedModel!D43
72.6%share of list price at which unlimited mini calls hold the targetModel!D47
1.91 pointsmargin points lost, Q1 2024 to Q1 2025Reconcile!D12
$4.41mthose points in dollarsReconcile!D13
$0.5340one call on the December 2024 GPT-4o listReconcile!D6
50%Q1 2025 use per caller against 2026 (judgment)Inputs!H58
$2.90mmodel: Max Video Call cost, Q1 2025Reconcile!D11
66%model as a share of the margin lostReconcile!D14
3.78 pointspoints Duolingo expected to give up, February 2026 outlookReconcile!D20
2.45 pointsmodel, option B, change in marginReconcile!D22
7.87 pointsmodel, option A, change in marginReconcile!D21
37.9%adoption at which D falls to the targetModel!D48
65.5%cache share at which D falls to the targetModel!D55
30%adoption, base (judgment)Inputs!H48
80%cache share, base (judgment)Inputs!H54
15 minutesthe next allowance downModel!D49
46.2%adoption at which the next allowance down falls to the targetModel!D54
How it is built and checkedOne engine for the page and the workbook's formulas; 22 integrity checks; 5,092 values compared

Data

Duolingo's filings from the FY2023 10-K to the Q2 2026 10-Q and its shareholder letters (EX-99.2 to the earnings 8-Ks) from SEC EDGAR, with the XBRL company facts for revenue and cost of revenue; eight OpenAI pages from the Internet Archive, each fetched once. The pipeline reads every number and every quoted sentence from those cached files with an assertion, so a changed or missing value stops it. Two later captures of OpenAI's pricing page confirm the prices used: the 1 March 2026 capture lists gpt-realtime-mini at the same prices, and the 9 September 2026 capture, whose visible text lists no real-time model, carries in its embedded page data GPT-Realtime-2.1 and GPT-Realtime-2.1 mini at the same prices as GPT-Realtime-2 and gpt-realtime-mini.

Model

CallCost prices one call on each of the six lists. Model runs the five options side by side and solves what holds the target: the allowance (piecewise in the three usage tiers), the share of minutes on the mini model, the price rise and the share of list price. Engine recomputes the whole chain in one row per case, so the scenarios, the tornado, the two-way table, the allowance curve and the break-evens are live formulas, not pasted values.

Checks

All 22 checks OK in the workbook, among them: each filing's stated margin matches the XBRL facts in all ten quarters, OpenAI's per-minute figures give whole token rates, each call's four costs add to its total, the Model sheet equals the Engine rows, the solved allowance, price rise and break-evens each give exactly the target when typed back in, and the two-way drivers are the tornado's top two. A planted error in a stated margin, the Model's margin, a tier share or a call's cost turns them red.

Page = workbook

The pipeline types 18 settings into the workbook's Set cells, lets Excel recalculate, and compares 5,092 values with the page's engine; no value differs. A planted $10 difference turns the comparison red.

What the checks caught

Three things were caught while building. The Q1 2026 10-Q's margin sentence came out of the filing with its page number inside it (“an increase in 28 subscription gross margin”); the number is removed and the edit is recorded with the quote. The first Excel run found the base scenario no longer matching the live model whenever a scenario driver was moved, because the base column held fixed values; it is now the live case in both the engine and the workbook. And at settings where the allowance rounds down to zero, the break-even formulas divided by zero; they now return 100%, since a plan with no calls holds the target at any adoption, and their checks skip that case.

Limits and next

Duolingo does not disclose how many subscribers are on Max, how many call, how long or how often, which models it uses today or what it pays, so those are judgments; the tornado shows adoption and caching matter most. The model covers Video Call for Super only: it leaves out voice answers for all learners, Max's own costs and changes to Max, hosting, any effect of Video Call on conversion or retention, and new subscribers' growth. Prices are OpenAI's public lists; a large buyer may pay less, which the share-of-list driver covers.

Next: replace the usage tiers with the minutes per caller from the first rollout cohort, then re-read the tornado and reset the allowance.

Files

Built from Duolingo's public SEC filings and OpenAI's price lists as archived by the Internet Archive; Duolingo is not involved, and nothing here is inside information or investment advice.