Teardowns of products built outside FLYER, written so the team can copy the mechanisms that work and skip the ones that do not. One company per tab.
How a Hanoi team turned a free fanpage tool into the conversation layer of Vietnamese social commerce, what the seven products around it do, how the money works, and which of those mechanisms transfer to FLYER, both as a Pancake customer and as a product company.
Written on 17/09/2026 in reply to the question: "Đây là product của bên Phong sinh năm 92, bạn ấy rất giỏi. Hãy phân tích chi tiết về Pancake và các sản phẩm trong hệ sinh thái, và mình có thể học hỏi được gì nhé. https://pancake.vn/"
Drafted by an AI assistant in a single session from public sources fetched that day (pancake.vn, botcake.io, docs.pancake.biz, LinkedIn and TopCV company pages, Vietnamese business registries, VietnamBiz and VIR interviews, third-party reviews) plus FLYER's own Pancake API data pulled on 09/09 and 13/09/2026. Several Pancake pages render prices with JavaScript, so plan prices come from third-party listings and may lag the live price list. The company registry names Mai Hồng Phong as owner and legal representative; the founder's birth year could not be verified from public sources. Revenue, headcount and funding are not disclosed anywhere public.
Added 19/09/2026 in reply to a follow-up question: "Check and learn for me how Pancake setup event to track user journey". Section 4 is drawn from Pancake's own product documentation, its public OpenAPI and webhook specifications, all read on 19/09/2026. Where the documentation describes only an API field and not the interface behind it, the text says so.
Added 19/09/2026, second pass in reply to: "Pancake product retention is so high, and i want to study how they tracking and optimize product". Section 5 rests on a browser check of Pancake's own login page, point-of-sale app and chatbot site, and on counting their public changelog. Only surfaces reachable without an account were observed, so the finding about analytics tools is stated narrowly.
This is a proposal for team discussion, not a decision.
| Item | Value | Source and caveat |
|---|---|---|
| Legal entity | Công ty TNHH Pancake Việt Nam, tax code 0109039397, registered 26/12/2019 | Vietnamese business registries. The product predates the company by three years. |
| Owner and legal representative | Mai Hồng Phong, chief executive | Registry; VietnamBiz interview (08/2025). |
| Offices | Hanoi (Vinhomes Smart City, formerly Ecolife Capitol), representative offices in Ho Chi Minh City and Thanh Hóa, Singapore address on LinkedIn | Registry, TopCV, LinkedIn. |
| Headcount | 51 to 200 (LinkedIn) or 100 to 499 (TopCV) | Self-reported ranges only. |
| Customers | 260,000+ businesses (pancake.vn), 250,000+ (LinkedIn), 150,000+ on Botcake, 40,000+ on POS | Company claims; counting method not stated. Likely counts pages or accounts, not paying customers. |
| Named customers | Yody, FPT Shop, Be, ILA, TH True Milk, Elsa Speak, Pharmacity, Vinmec, Modanisa (Turkey), Nestlé Philippines | Success-story pages and LinkedIn posts. |
| Markets | Vietnam, Philippines, Thailand, Cambodia, Laos (launched 2025), Indonesia, plus Brazil and Colombia via WhatsApp | pancake.ph, pancake.biz country list, LinkedIn posts. |
| Platform standing | Meta Messaging Business Partner of the Year, Vietnam, 2022 and 2023; Meta and Google strategic partner; TikTok Shop integration | LinkedIn, VIR interview with Meta, Pancake site. |
| Revenue, profit, funding | Not disclosed | No press coverage of a funding round found. The company appears to be bootstrapped and profitable, but this is inference from the absence of investor news, not a fact. |
| Year | What happened |
|---|---|
| 2016 | pages.fm appears as a free tool for Facebook page sellers. A 2017 review describes it as narrower than Page365, focused on hiding customer comments from competitors, and free to use. |
| 2017 to 2019 | Inbox and comment management, order creation inside chat, phone and address detection. Pancake v2 ships with a Chrome extension. |
| 12/2019 | Pancake Việt Nam Co., Ltd registered in Hanoi. |
| 2020 to 2022 | POS, Botcake and Webcake become separate products. Shopee, Lazada, TikTok Shop, Zalo OA and WhatsApp connect to the inbox. |
| 2022, 2023 | Meta names Pancake its Vietnam messaging partner of the year. Pancake speaks at the Meta Business Messaging Summit. |
| 2024, 2025 | Country pages for the Philippines and Thailand; Laos launch; presence at Meta summits in the Philippines and the Indonesia digital conference. Pancake Work, CRM and Fintab join the family. |
| 2026 | AI assistant inside the inbox, Botcake AI agents, WhatsApp Business API pricing, Pancake Connection Day on AI and social commerce. Documentation site rewritten with an OpenAPI file that the docs say AI agents should read directly. |
Seven products share one Pancake Account, one prepaid wallet and one customer record. The paid inbox sits in the middle; everything else exists to pull data into it or to push data out to the ad platforms.
| Product | What it does | Price | Role in the system |
|---|---|---|---|
| Pancake (pages.fm) | One inbox for Facebook, Instagram, Zalo OA and personal Zalo, WhatsApp, TikTok, Shopee and Lazada chat. Tags, filters, auto-assignment, quick replies, phone and address detection, call centre with recordings, statistics per page, per staff and per tag, mobile apps, Chrome extension. | Paid, per page and per staff seat, 14-day trial | The chokepoint. Every other product feeds it or is fed by it. |
| Botcake | Flow builder for Messenger, WhatsApp, TikTok and Line. Ready-made consultation scripts, broadcast campaigns, lead capture, order creation into POS, handover to a human. Botcake AI answers from a knowledge base using the customer's own OpenAI key. | Free to 500,000 automated messages a month; Pro from 30 USD per 3 million broadcast messages; WhatsApp template fees passed through | Absorbs the first reply so the paid inbox only holds conversations worth a human. |
| Pancake POS | Orders from chat, marketplaces and storefront; multi-warehouse stock; carrier integration; telesales with call scheduling; bulk personalised messaging; payment QR per order; cash-flow reconciliation; Meta and Google event sync. | Free | Turns a conversation into an order and produces the conversion event that goes back to the ad platforms. |
| Webcake | Drag-and-drop landing pages and storefronts, wired to POS for orders and to the inbox for chat. | Free | Owns the click destination so the funnel never leaves the family. Competes with LadiPage, which FLYER uses for flyer.vn. |
| Pancake CRM | Customer record built from conversations and orders, segments, scheduled care, journey view inside the chat window. | Not priced publicly | Makes the customer record the reason to keep the inbox. |
| Pancake Work | Internal chat, tasks and monitoring for the sales team, in the same window as the customer inbox. | Free | Replaces Zalo groups and Slack for the shop floor; staff never switch apps. |
| Fintab | Simple books for shop owners: sales, expenses, debts, cash by account, profit dashboard, and the 2026 tax rules for household businesses. | Free | New in 2026. Rides the tax change that pushes household sellers onto invoices and books. |
Two more layers matter. The platform layer is WhatsApp Business API resold with Meta's per-message fees passed through, plus an Open API and webhooks for POS and the inbox, documented at docs.pancake.biz with a machine-readable OpenAPI file. The community layer is a Facebook group for users, a public changelog, success stories, and yearly summits co-hosted with Meta.
Pancake has no general-purpose analytics event bus and no session tracking. Instead it instruments the four moments where money moves, and it reuses one object's state machine as the event source for everything else. Understanding that choice is the most transferable part of the whole platform.
| Stage | What Pancake records | Identifier it carries |
|---|---|---|
| Source | Which ad, post, shortlink, website widget or marketplace the customer came from. Ad-sourced conversations show the ad identifier and the time of the click, including a TikTok ad identifier on a conversation that arrives in Messenger. | Ad identifier, post identifier, or a source name the admin chose |
| Conversation | Created, assigned, read, replied, tagged, untagged, each with a timestamp. Tag changes are kept as a chronological log with the editor and the action. | Platform user identifier, plus the page customer record |
| Order | A numeric status from a fixed list of seventeen, with the transition history optionally exported. | Order identifier, order source, phone number |
| Money | Status 16, collected, is the point where a receipt is created and revenue is recognised. | Order identifier |
The join key between the conversation world and the order world is the phone number. Pancake detects it in the message text, and an optional setting creates the POS order automatically the moment a message contains one. That single toggle is what turns a chat into a tracked journey without anyone filling in a form.
Nothing in Pancake fires an event by being logged. Events fire when an order changes status. The same transition is consumed by five or six different subsystems, each configured separately, which is why the platform feels automated without having a workflow builder at its centre.
The statuses that carry side effects are worth naming, because the seller picks one of them as the trigger for the purchase event.
| Status | Name | What happens |
|---|---|---|
| 0 | new | Created. Stock is reserved as sellable, not deducted. Candidate trigger for the order-created event. |
| 1 | submitted | Confirmed with the customer. The default trigger for the purchase event. |
| 9 | pending | Waiting for the carrier. Real stock is deducted here. |
| 2 | shipped | Carrier collected. The order locks, and a receivable is created for cash on delivery. |
| 3 | delivered | Customer received. Money is not yet recognised. |
| 16 | collected | Reconciled with the carrier and cash received. Receipt created, revenue recognised. |
| 5, 6, 7 | returned, canceled, removed | Stock goes back. Choosing a late status as the purchase trigger is how sellers avoid counting these. |
| Event | Where it is configured | What fires it | Where it lands |
|---|---|---|---|
| Purchase | POS, under configuration, Meta conversion events | An order reaches the status the seller picked, confirmed by default | Meta dataset, visible as purchases and purchase value, and therefore return on ad spend |
| Order created | Same screen, as a custom row | The order is created, before confirmation | Meta, counted as a purchase depending on campaign setup |
| Offline purchase | Same screen, in-store tab, needs a dataset identifier and access token pasted from Meta | An in-store order reaches the chosen status | Meta, as offline purchases, which fire independently of the online ones |
| Lead submitted | Inbox general settings, one toggle | The customer leaves a phone number in the conversation | Meta, to optimise toward people who give a number |
| Conversation started | Inbox tools, connecting a TikTok or Google ad account | A conversation opens from that ad account's campaign | A TikTok event set, or a Google Ads conversion goal. Each ad account maps to one event set. |
| Tag as conversion | Tag settings; the public API exposes a per-tag flag marking a tag as a lead or conversion event | A staff member attaches that tag to the conversation | Reporting, and the lead signal. The documentation does not describe the toggle, only the API field, so treat this one as probable rather than confirmed. |
| Flow event | A Meta conversion node inside a Botcake flow, with event name, product code, currency and price, which can be bound to POS variables | That flow sends its message to a customer | Meta dataset. Attaching flows to order statuses lets the confirmation message double as the purchase event. |
| Spam report | The advanced panel on a conversation | A staff member marks the conversation as junk | Meta, as a negative signal, so delivery to people resembling that customer is reduced |
| Webhook | Inbox tools, webhook; and in POS under third-party connections | New message, conversation change, tag change, order creation, post change, page connection change | The seller's own server. Five event types are documented: messaging, conversation, post, subscription and connection status. |
Two details show how much of this is handled for the customer rather than by the customer. Pancake and Meta migrated every existing account onto the conversions interface, and the connection is created automatically as soon as a page produces its first order. Most sellers never open the configuration screen at all, which is why the feature has near-universal adoption across 260,000 accounts.
Three mechanisms cover the entry points that ad platforms do not label by themselves. Trackable short links for Messenger, Instagram, WhatsApp, TikTok and Zalo carry a source name the admin chooses, with a pre-filled first message the customer has to send for the source to register. The website chat widget can raise a form-submission event for Tag Manager. Marketplace and website orders arrive with their own channel recorded. Everything else is inferred from the ad identifier Meta or TikTok attaches to the conversation.
There is no page-view funnel, no session or path analysis, no cohort tool and no experiment framework. The reports answer a short list of operational questions: which campaign produced orders, which staff member replied, which tag is growing, when the peak hours are. A seller who wants deeper analysis is expected to take the webhook feed or the export and do it elsewhere.
The structure is what transfers, not the vocabulary. FLYER has no orders and no carriers, but it does have a state machine that every customer passes through, and it currently emits nothing when a customer advances.
| Pancake mechanism | FLYER equivalent | Why it is worth having |
|---|---|---|
| One state machine as the event source | A subscription or trial state for parents and schools, and an activity state for teachers, for example invited, activated, first assignment sent, three classes taught, paid, renewed | Removes the need to instrument every screen. One table's transitions become the event feed for ads, notifications and reporting. |
| Purchase event on a chosen status | A paid event sent to Meta from the moment a payment is confirmed, not from a form submission | Campaigns optimise toward buyers. Today FLYER optimises toward form fills, which is why 79 percent of phone numbers come from lead forms and few convert. |
| Lead submitted on phone detection | A qualified-lead event when a phone number is captured in the Zalo official account or the Cambridge pages | The cheapest available improvement to cost per paying customer. Zalo is not a Meta surface, so this event has to be sent by FLYER's own code rather than by Pancake. |
| Tag treated as a conversion | A customer-service tag such as school lead qualified, marked as the conversion event | Lets a human judgement become the optimisation target when no automatic signal exists. |
| Spam report as a negative signal | Marking junk leads in the customer-service tool and feeding that back to Meta | Suppresses delivery to lookalikes of bad leads. Almost no Vietnamese advertiser does this. |
| Status-triggered messages | Renewal and trial-expiry messages driven by the same state change that emits the event | One rule set instead of separate campaign tooling. Renewal is already the top topic in the official account. |
| A declared attribution window | FLYER's window must be longer than seven days, since a trial runs seven days and a school decision takes weeks | Without a stated window, marketing and finance will keep producing different numbers for the same campaign. |
| Webhook with idempotent handling | One internal endpoint that accepts these events, deduplicates them and forwards to Meta, the data warehouse and the dashboards | Pancake suspends webhooks that fail too often and tells integrators to expect duplicates. The same discipline applies internally. |
The minimum useful version is three events, not thirty: lead qualified, trial activated, and paid, each carrying the phone number as the join key and the campaign identifier where one exists. That is enough to change how campaigns are optimised, and it is a week of work rather than a platform project.
The obvious assumption is that a company with this retention runs a heavy product-analytics stack. It does not appear to. On 19/09/2026 the login page, the point-of-sale app and the chatbot site were loaded in a real browser and every outbound request was recorded. Nothing product-analytical came back.
| Looked for | Found on Pancake's own surfaces |
|---|---|
| Mixpanel, Amplitude, PostHog, Heap, June | None |
| Session replay: Hotjar, FullStory, Clarity, LogRocket, Smartlook | None |
| In-app messaging and surveys: Intercom, Crisp, Zendesk, Freshchat | None |
| Error monitoring reaching a third party | None observed |
| Analytics of any kind | Google Analytics and Tag Manager on the login page, Google Analytics and the Meta pixel on the chatbot marketing site. The point-of-sale app loaded nothing at all beyond fonts. |
Limit of this check: only surfaces reachable without an account were observed, and first-party telemetry sent to Pancake's own domains would be indistinguishable from ordinary application traffic. The claim is narrow. No third-party product-analytics tool is loaded where a visitor can see it, and the two tags that do exist are marketing tags on marketing pages.
A product-analytics tool exists to answer one question: is this account actually using the thing. Most software has to infer that from clicks, because the software itself holds no record of the customer's work. Pancake holds all of it. Conversations, orders, stock movements, customer records, staff assignments and payments are the product's own tables. Whether a shop is alive, growing or drifting away is a query, not a tracking plan.
That single fact reshapes everything else, and it is the mechanism behind the retention.
Step three is where the retention is actually made. Everything above it is distribution; everything below it is consequence.
The reports inside Pancake are not about Pancake. Every one of them measures the shop's own operation, which is why the owner opens the tool daily even when no customer is waiting.
| Report | What it shows | What the owner does with it |
|---|---|---|
| Staff | Average response time per person, counted only inside declared working hours, the five fastest, and each person's share of all replies | Ranks the team, sets shifts, finds who is slow |
| Staff, continued | Phone numbers brought in, credited to the last person who replied and never counted if the customer volunteered the number first, plus orders closed | Pays commission on a number the system produced, not a claim |
| Rating | Customer satisfaction on three levels, attributed to the individual who handled the conversation | Handles complaints, rewards good service |
| Tags | Attach and detach counts per tag per day, with the exact time of each change | Sees what customers ask about as it shifts |
| Interaction | Messages and comments by hour of day | Staffs the peak, times the ad budget |
| Ads | Conversations, phone numbers and orders from each campaign, within seven days of the click | Decides what to keep running |
| Call centre | Calls in and out, answered rate, talk time, orders closed per successful call | Manages the telesales floor |
Notice how carefully two of those definitions are drawn. A phone number is credited only when a staff member's reply produced it. A response-time average ignores the hours the shop is closed. Those rules exist because the numbers are used to pay people, and a metric that decides pay gets scrutinised in a way a dashboard metric never does. That scrutiny is free product feedback.
With no analytics stack, the input has to come from somewhere. It comes from support and from a public user group, and it turns into small releases at a rate most teams would find uncomfortable.
The changelog is public and dated. In September 2026 up to the 18th there were nine release days carrying nineteen items; August had ten days and fourteen items; July had six days and fourteen. Two to three release days a week, every week, each one a small named improvement rather than a quarterly feature. Nothing on that list would appear on a roadmap. All of it removes a specific annoyance somebody complained about.
| Lever | How it works | Effort to copy |
|---|---|---|
| Operational data as the record | The customer's work lives in the product, so usage needs no instrumentation and leaving means losing history | Architectural. Decided once, early. |
| Metrics that decide pay | Commission and shift decisions are made from in-product numbers, so managers depend on them daily | Low. Mostly a definition problem. |
| Free satellites | Each free product moves another table into the account | High. Six products to build and support. |
| Six-month prepayment | Renewal is a twice-yearly decision, not a monthly one | Low. A packaging choice. |
| Ad signal accumulated over months | Switching resets the conversion history that made campaigns cheaper | Medium. Requires the loop in section 4. |
| Near-daily shipping on user complaints | The gap between complaining and seeing a fix stays short, so people keep complaining instead of leaving | Low to build, hard to sustain. |
Two of these transfer directly, one does not.
| Plan | Pages | Staff seats | Price per 6 months | Per month |
|---|---|---|---|---|
| Small | 1 | 3 | 550,000đ | about 92,000đ |
| Standard | 3 | 3 | 1,100,000đ | about 183,000đ |
| Business | 6 | 10 | 2,180,000đ | about 363,000đ |
| Extra seat | 20,000đ per staff per month; extra page priced per month with one seat included | |||
Plan prices from third-party listings, since pancake.vn renders them with JavaScript; the site itself advertises "from 3,000đ a day", which matches the Small plan.
Five design choices stand out.
Vietnam is Meta's leading market for business messaging in the region, and Messenger is the first inquiry channel during live streams. Pancake sits exactly at that moment, and its chief executive reports clients putting 60 to 70 percent of marketing budget into messaging. A tool that manages the moment where money is made is bought before any other tool.
Every free satellite adds a table to the account: orders, stock, customers, staff tasks, books. Leaving the paid inbox means leaving all of it. This is the same play as Google Workspace or HubSpot's free CRM, executed at Vietnamese price points.
Sending order events back to Meta and Google as conversion signals is the feature Pancake puts first on its POS page and the one Meta cites when it names Pancake and Haravan as partners it works with on "lower funnel signals". It aligns Pancake with the platform's own goals, which is why Pancake gets early access, summit stages and awards, and why sellers see their ad cost fall the longer they stay.
The product was free for its first three years and the company was registered only after the user base existed. Sellers recommended pages.fm to each other in Facebook groups; the company still runs its main support in a Facebook group.
The inbox AI assistant suggests a reply, detects sentiment and lets staff accept with Tab and Enter. Botcake AI screens the first messages and hands over when intent appears. Mai Hồng Phong describes the outcome as staff stepping in "only when purchase intent becomes clear". The AI does not replace the seller's voice; it removes the waiting.
The changelog is public, the docs cover eight products in Vietnamese and English, and the OpenAPI file carries a note telling AI agents to read the YAML instead of scraping HTML. That is an unusually modern developer stance for a Vietnamese SME tool and it made FLYER's own integration in September possible in a day.
FLYER already runs 23 channels through Pancake: 9 Facebook pages, 1 Zalo OA and 13 personal Zalo accounts. The August 2026 data pulled through the API shows the platform is doing the collecting but FLYER is not using the parts that make Pancake valuable.
| Gap seen in the data | Pancake feature that fixes it | Expected effect | Effort |
|---|---|---|---|
| Flyer.us page shows 0 conversations and a warning; six Cambridge pages produced one conversation in six weeks | Reconnect the page; retire or merge the five keyword-stuffed pages | Stops silent lead loss; fewer pages, lower plan | Hours |
| Tags are the retail defaults; only one custom tag, used 26 times | Replace with a CS tag set (trial, renewal, pricing complaint, bug, school lead) and turn on tag statistics | Weekly report on what customers actually ask, which feeds the answer bank | One day |
| 40 percent of Teado conversations open with one of eight Messenger preset questions; 61 percent are answerable by script; median reply 161 minutes | Botcake flow for the eight presets and the short "Tư vấn / Quan tâm" openers, with a phone request step | First reply under a minute for most of inbound; phone rate on preset openers from 3 percent toward the 22 percent seen on the Phòng Thi Ảo page, whose bot already asks for a number | One week |
| Zalo OA bot rejects 21 percent of phone numbers as invalid, including correct ones | Fix the flow: extract ten digits by pattern, leave the phone state when a menu button is pressed | Recovers roughly 40 of 400 sampled conversations that ended with no number | One day |
| Renewal is the top topic on the OA and the bot only promises contact within 12 hours | VietQR payment in chat via the existing backend endpoint, or POS payment QR | Renewal closed in the conversation; rough estimate in the 09/09 analysis is tens of millions of đồng a month, to be checked against the CRM | Two weeks |
| Messaging ads: 230 conversations, 19 phone numbers, about 371,000đ per number, nine times a Teado lead-form lead | Send qualified-lead events back to Meta through Pancake's signal sync instead of optimising for messages | Ads optimise toward people who leave a number and book a demo, not people who click a preset question | Two weeks, with marketing |
| Staff answer by hand from memory; no shared answer bank | Turn on the AI assistant (suggest mode, prepaid wallet) and the quick-reply library for the CS team | Consistent answers, shorter replies outside hours; cost is tokens at Pancake's Balanced rate, about 1.3 USD per million input tokens | One day plus the answer bank |
None of this needs a new tool. It needs the platform FLYER already pays for to be configured the way its best customers configure it. The cs-flow page on funnel.flyer.vn already lays out the three-layer plan; this table is the order to do it in.
These are the mechanisms behind Pancake's growth, restated as questions for FLYER's own product family: flyer.vn, teacher.flyer.us, Study, Exam, IELTS, Teado, Trường Số and the LMS.
Pancake bills the inbox because that is where a seller feels the hour-by-hour pain. For a teacher the equivalent is the assign-and-grade loop; for a parent it is the exam result; for a school it is renewal and reporting. FLYER prices per student per year, which is easy to compare with a textbook and hard to grow. The Pancake question is which single workflow the customer would pay for every month, and whether everything around it (the parent app, the library, the placement test) should be free to pull data toward that workflow.
Pages and seats are legible to a shop owner. For a centre the legible units are classes and teachers, not students; for a school they are campuses and teachers. A per-class or per-teacher plan with a student allowance would grow with the customer without a renegotiation, the way an extra Pancake page does. This is worth a pricing study before the next B2B renewal season.
Pancake's most defensible feature is the order event returned to Meta and Google. FLYER runs lead-form ads, then a CRM, then a trial, then a payment, and none of those later events reach the ad platform. Sending "trial activated" and "paid" from the CRM back to Meta as conversion events would let the campaigns optimise for buyers instead of form fills. The 09/09 analysis found 79 percent of phone numbers come from lead forms; a signal on the step after the form is the cheapest lever on cost per paying customer that FLYER has not pulled.
Seven Pancake products share one login and one prepaid balance. FLYER's products carry separate accounts, separate admin panels and separate payment flows; the domain inventory lists dozens of hostnames. A single FLYER account with a wallet that any product can draw on (AI grading credits, exam attempts, Teado seats) is the structural change behind Pancake's "free satellites" strategy, and it is a prerequisite for the enterprise architecture work already in the PRD.
pages.fm was free for three years and grew through seller groups. FLYER's free teacher tier is the equivalent and it already reaches most of the 1,131 active teachers who assign work. The Pancake lesson is to keep that tier generous, instrument it, and let the paid product be the thing teachers ask for rather than the thing they are blocked by.
Pancake's expansion into the Philippines, Thailand, Cambodia and Laos follows Meta's regional partner events rather than its own marketing spend. FLYER's Spanish-language and Malaysian market work would move faster attached to a platform with regional reach, whether Cambridge English, Google for Education or a national LMS programme, than as a standalone launch.
Pancake ships the AI assistant as suggestions the staff member accepts, and only then as an agent that screens. FLYER's Trợ giảng AI and the planned Bingo Bot follow the same order: suggest to the teacher, screen for the CS team, hand over when intent or difficulty appears. The 60 to 70 percent budget figure Mai Hồng Phong quotes is a reminder that the AI's job is to shorten the wait, not to replace the person the customer wanted to talk to.
Pancake documents eight products, publishes a changelog and lists nine success stories including an education company (ILA). FLYER's partner API for schools and the /whats-new page are steps in this direction. A public docs site for the LMS integration API and two or three named school case studies would cost a sprint and change how procurement conversations start.
| When | What | Owner | Measure |
|---|---|---|---|
| Next two weeks | Reconnect Flyer.us page, prune the five empty Cambridge pages, replace retail tags with the CS tag set, fix the OA phone-number flow, turn on AI assistant suggest mode for CS | CS lead with marketing | Waiting conversations under 3 percent; invalid-phone rejections under 5 percent |
| By mid-October | Botcake flow for the Teado presets with a phone request; VietQR renewal in the OA conversation; qualified-lead conversion events sent to Meta | Marketing with one developer | Median first reply under 5 minutes; phone rate on preset openers above 15 percent; cost per qualified lead versus the August 371,000đ baseline |
| This quarter | Pricing study on per-class or per-teacher units for centres; scope a single FLYER account and wallet as part of the enterprise architecture PRD; draft the public LMS API docs | Product | Decision memo for the next B2B renewal season |
| Optional | Ask Pancake to publish FLYER or Teado as an education success story; it costs nothing and puts FLYER in front of 260,000 sellers, some of whom run centres | Marketing | Published case study |
Related: CS automation plan · Meta Ads dashboard · Enterprise architecture PRD · PRD index · Roadmap
Stride earns $2.5bn a year, more than any product in the G2 education category, by running public schools for the American states that pay it roughly $10,000 per enrolled child. It is a teaching and logistics business wearing a technology label, and in the year just reported the model started to strain.
Written on 30/09/2026 after the question "phân tích Stride công ty", following the revenue research at Edtech Revenue Check where Stride came out largest of the 71 products examined.
Financial figures come from Stride's FY2026 Form 10-K filed 05/08/2026, its quarterly earnings releases, and the 8-K announcing the change of chief executive. Criticism of academic outcomes comes from named research institutions and named newspapers, not from advocacy groups. Allegations that no court or regulator has upheld are labelled as allegations throughout, and the company's own answer is given next to each one.
Several things are structurally undisclosed and are marked where they matter: margin by line of revenue, marketing cost per new student, and the student retention rate.
Stride calls itself "a technology company providing an educational platform". Its income statement disagrees. Sixty-two percent of revenue goes on instructional costs and services, meaning teacher payroll, learning kits, student laptops and school administration. It employs about 9,200 people and manages roughly 9,600 teachers, of whom 5,900 are on its own payroll.
What it sells is a school. A state or a charter board wants to offer online public education and does not want to build it, so Stride supplies the entire thing: the online school and its lessons, printed materials posted to the house, a computer for each child, internet access and support, state-certified teachers, and the administration needed to run the institution. In the 2025 to 2026 school year that bundle ran 92 general education schools across 31 states and the District of Columbia, plus 57 career-focused schools and programmes in 25 states.
That last constraint shapes everything. Stride is legally a vendor, and the board it serves can replace it. Contracts average more than five years and renew automatically unless someone gives notice, which is comfortable until the year a board decides not to renew.
Two features of the contracts do more to explain Stride's economics than anything in its product line.
It has "generally agreed to absorb any operating losses of the schools" and guarantees that certain managed schools will not run an annual deficit. When a school loses money, the loss comes off Stride's own revenue. That cost $17.2M in FY2026, after $14.5M and $17.0M in the two prior years. If a school enrols a child the state will not fund, Stride carries it.
Because Stride is responsible for the schools' expenses, it records those expenses as revenue and as cost simultaneously. That gross-up was $683.6M in FY2026, or 27.1% of reported revenue, carrying no margin at all. Anyone comparing Stride's revenue with a software company's is comparing a number that includes a quarter of pure pass-through.
| FY ended 30 June | FY2026 | FY2025 | Change |
|---|---|---|---|
| Revenue | $2,518.1M | $2,405.3M | +4.7% |
| Instructional costs and services | $1,567.5M | $1,461.4M | +7.3% |
| Gross margin | 37.8% | 39.2% | −1.4 pts |
| Operating income | $450.8M | $360.1M | +25.2% |
| Net income | $338.2M | $287.9M | +17.5% |
| Adjusted earnings per share | $8.33 | $8.10 | +2.8% |
| Cash and securities | $1,034.1M | — | $188.7M bought back |
The 25% jump in operating income is mostly an illusion created by the comparison. FY2025 carried a $59.5M writedown of Galvanize, the coding bootcamp bought in 2020. Strip that out and operating income grew 6.9%, while adjusted earnings per share grew 2.8%. Costs grew at 7.3% against revenue at 4.7%, which is why gross margin fell.
Two balance-sheet details are worth noting. Receivables reached $664.8M, or 26.4% of revenue, up by $105.1M, which is why operating cash flow stayed flat at $433.8M even as net income rose $50.3M. And the student laptop fleet is financed through leases, $117.0M of them outstanding, which keeps the hardware out of capital expenditure and flatters free cash flow relative to buying the machines.
| Line of revenue | FY2026 | Change | Students | Revenue each |
|---|---|---|---|---|
| General Education | $1,417.8M | −2.1% | 134,200 | $10,243 |
| Career Learning, middle and high school | $1,043.7M | +19.1% | 109,700 | $9,512 |
| Career Learning, adults | $56.6M | −29.6% | — | — |
The headline is that Career Learning grew 15% and now makes up 43.7% of revenue. The detail is less flattering. Career Learning is not a separate business; it is career pathways in technology, healthcare and business bolted onto the same virtual school, sold to the same charter boards. It earns 7% less per student than general education, and because it concentrates in middle and high school, where teaching costs more, the shift is probably diluting margin rather than improving it. Stride reports as a single segment and publishes no margin by line, so this cannot be confirmed either way.
Two further cautions. Part of the general education decline and the career learning rise is the same children being reclassified when they enter a pathway, and Stride acknowledges this without quantifying it. And the adult business bought in 2020 is collapsing, from $99.7M to $56.6M in two years, with the Galvanize writedown already taken.
Full-year revenue rose 4.7% but the fourth quarter fell 2.7%. The cause was the shape of enrolment through the year rather than a collapse in demand. In FY2025 Stride built enrolment from 222,600 to 235,300 across the four quarters. In FY2026 it bled from 247,700 down to 234,200, so the year-on-year comparison decayed quarter by quarter until it turned negative.
The origin was self-inflicted. Stride rebuilt its enrolment platform over the summer of 2025 and the rollout went badly, costing an estimated 10,000 to 15,000 students through higher withdrawals and worse conversion. Stride then closed enrolment windows early to protect margin, which capped the damage and guaranteed a weak fourth quarter. Capitalised software spending jumped 69% to $61.6M in the same year, which is the rebuild itself appearing in the accounts.
| Date | Event | Share price | Move |
|---|---|---|---|
| 29/10/2025 | FY2026 guidance of $2.48bn to $2.56bn against about $2.67bn expected | $70.05 | −54% in one day |
| 30/07/2026 | Chief executive replaced, days before results | $83.07 | −15% |
| 05/08/2026 | FY2026 results, near the top of the narrowed guidance | $82.58 | +2.6% |
| 29/09/2026 | Latest, against a 52-week high of $155.06 | $75.21 | — |
Stride delivered what it promised in October 2025. The problem was the promise. James Rhyu left after five years as chief executive on 29 July 2026 and was replaced by Robert Knowling, a director of eight years; Steven Fink, who has been connected to the company since the Milken era that funded it, became chairman. No revenue outlook for FY2027 has been published yet.
This is the uncomfortable section and it cannot be skipped, because the accountability question is now the business risk.
In 2015 Stanford's Center for Research on Education Outcomes, with Mathematica and the University of Washington, studied about 200 online charter schools and 200,000 students across 17 states. Matching each online student to a statistically similar student in a traditional school, it found online students lost the equivalent of 72 days of learning a year in reading and 180 days in mathematics. In no state did online charters beat traditional schools in both subjects. A follow-up study in 2023 found virtual charters still negative, in the same years that brick-and-mortar charters were outperforming. Separately, researchers at the University of Colorado put the graduation rate at full-time virtual schools between 55% and 65%, against roughly 85% nationally.
Stride's answer has real force. Proficiency and four-year graduation rates measure where a student is, not how far they moved, and they penalise a school that takes in children who arrive behind and move house often. Stride points to a much higher share of special-education students and to commissioned growth research. What that answer does not do is rebut the CREDO design, which matched students on prior achievement precisely to remove that objection.
Stride attracts serious accusations and has never been found liable. Both halves of that sentence are true and both matter.
| Matter | Allegation | Outcome |
|---|---|---|
| California Attorney General, 2016 | False attendance reporting at the California Virtual Academies | Settled. The announced $168.5M was about $2.5M to the state, $6M of costs, and roughly $160M of forgiveness of what the schools owed Stride. No admission or finding of wrongdoing, no fines, plus conduct conditions. |
| Securities class actions, five since 2012 | Misstatements on academic quality, enrolment, pandemic capacity, and the 2025 platform | No liability finding in any of them. Two dismissed, one dismissal upheld on appeal, the 2025 case dismissed in full on 18/06/2026, and the only real payment was $3.5M met by insurers. |
| Short seller, October 2024 | Dependence on expiring federal pandemic funds, and "ghost students" said to be 5% to 30% of enrolment | Never substantiated by any court, regulator or auditor. Stride called it "inaccurate and filled with innuendo". The share price then halved a year later, but for a different reason: the company's own platform failure. |
| Gallup-McKinley, New Mexico, 2025 | Teacher ratios, ghost enrolments, neglected special-education services, graduation down to 27.7% | The dispute ended in February 2026 with all complaints dismissed with prejudice, the district paying Stride about $24M of roughly $51M it owed, and Stride reinstated. |
| Securities regulator | — | No enforcement action has ever been brought. Anyone citing an "SEC settlement" is confusing it with the California matter. |
The honest reading is that the bear case against Stride is no longer about fraud. It is about accountability catching up with the model, which is a slower and more durable problem.
Stride's filings lead their risk summary with the admission that revenue "depend[s] on per pupil funding amounts and payment formulas remaining near levels existing at the time we execute service agreements". It then lists the levers a state can pull: caps on how many students a virtual school may have, rules requiring a child to have attended a physical school first, grade-level restrictions, geographic limits, minimum shares of funding that must go to teachers, limits on how many charters exist, approval from the child's home district, attendance rules designed for classrooms, and minimum face-to-face teaching time.
| State | Recent change | Direction |
|---|---|---|
| Pennsylvania | The state auditor found five cyber charters had grown revenue from $473M to $898M and were holding $619M in reserves. The House passed an $8,000 tuition cap that would have cut payments by $616M. The enacted budget instead expanded deductible expenses, worth about $178M officially and nearer $300M according to operators, and added weekly student wellness checks. | Negative |
| Texas | A law signed in May 2025 finally gave virtual schools the same per-student funding as physical ones, and brought them fully into the A to F accountability system. | Mixed, and the accountability half just closed a school |
| Kentucky | The state board tried to cap virtual enrolment at 10% of a district, which would have closed Stride's school there. Legislators barred such caps until 2028. | Positive |
| New Mexico | The funding formula for virtual programmes was rewritten in 2026 after the Gallup-McKinley dispute. | Negative |
Stride is the clear leader with roughly 35% of the managed virtual charter market. The interesting competition is not the obvious kind.
Sources: Stride FY2026 Form 10-K filed 05/08/2026, quarterly earnings releases and the 30/07/2026 chief executive 8-K, all on SEC EDGAR · CREDO at Stanford, National Study of Online Charter Schools 2015 and National Charter School Study III 2023 · National Education Policy Center, University of Colorado, Virtual Schools in the U.S. · Pennsylvania Auditor General, February 2025 · reporting by The New York Times, NBC News, the Houston Chronicle, Texas Standard, Chalkbeat, Spotlight PA and Source New Mexico · Related: Edtech Revenue Check