Illustration for a hypothetical case study
THB 1 million a year in subscriptions sounds like revenue a company can plan around. But if the contract includes unlimited AI use, more customer activity could drive costs up faster than receipts. I want to see why customers would renew and how much remains for the team and further development after serving them.
The company, figures, and periods A and B in this part are fictional learning examples, not the accounts or history of any business. THB 1 million in annual subscription revenue is a starting case, not a guarantee of renewal or future cash. Amounts exclude VAT unless stated otherwise.
Start by defining what ARR measures
In this article, annual recurring revenue (ARR) is the annualized value of subscription fees under contracts active on the measurement date. It excludes one-time setup work, project revenue, and uncommitted variable AI usage charges. This is a policy for the hypothetical case. State the date and terms before comparing companies because businesses may define this operating metric differently. The comparability limits are illustrated in a metric disclosure filed with the US SEC by one reporter, not a universal mandated definition.
In the hypothetical base year, ten customers pay THB 100,000 each for a full year of service and still have active contracts at year-end. The company therefore recognizes THB 1 million of subscription revenue for the year and has exactly THB 1 million of year-end ARR. A new customer starting in December could make year-end ARR much higher than revenue recognized during the year. This example's equality is not a general rule.
| Figure | What it tells us | What it does not tell us |
|---|---|---|
| ARR at a date | Annualized subscription value under the stated policy | Full-year accounting revenue, cash collected, or next year's renewals |
| Recognized revenue | Value recognized as obligations are fulfilled during the period | Cash received in the same period |
| Billings and receivables | Rights to payment under the applicable terms | Full delivery or certain collection |
| Advance receipts | Cash collected before all contracted services are delivered | Profit available for distribution without remaining duties |
| Work still promised in contracts | Future work whose scope requires reading the contract | The entire ARR, because some work is one-time |
Cash at the start of the year still comes with a year of work
Suppose a customer pays THB 100,000 at the start of a 12-month subscription, with an even stand-ready service obligation. Under TFRS 15, revenue follows fulfillment of that obligation, not the bank deposit date. In this simple case it is recognized over the service period. The amount received for service not yet provided remains a contract obligation to track, not all profit in month one. [IFRS 15 principles for revenue from customer contracts]
A real contract may combine a software-use right, customization, support, and usage charges. Identify obligations and examine terms before choosing the recognition pattern. Not all software must simply be divided by 12, and issuing an invoice does not prove delivery. For more on separating obligations and allocating price, see the TFRS 15 systems integration article in part one.

If a THB 100,000 contract begins on July 1 instead, and the customer pays in full at the start of 12 months of even service, revenue recognized by the end of December is THB 50,000. THB 50,000 of contractual service remains, while ARR at year-end is still THB 100,000. This separate contract example is not added to the ten base-year customers or their statements.
A 75% amount after direct costs still has other burdens
The base case classifies THB 170,000 of model and tool costs plus THB 80,000 of hosting as direct subscription costs, totaling THB 250,000. This leaves THB 750,000, or 75%, after direct costs. But the company's THB 6.30 million in operating expenses before depreciation still includes THB 800,000 of customer review and support across the business; THB 200,000 of that is allocated to subscriptions. The 75% is a contribution under the hypothetical classification, not a fully loaded service margin. Allocate THB 500,000 of operating expenses and THB 30,000 of depreciation to subscriptions, and segment EBIT is THB 220,000, or 22% of its revenue. These allocations are parts of existing company costs, not a second layer of expense.
| Cost | Unit to track | Why separate it |
|---|---|---|
| Models and invoked tools | Completed jobs and model calls, including retries and supporting tools | One customer request may call AI several times. |
| Storage and retrieval | Storage space, search indexes, and processing cycles | Accumulated data and new imports create different costs. |
| Cloud and supporting systems | System capacity, network, logs, and backups | Base costs may jump when capacity thresholds are crossed. |
| Human review and customer support | Correction minutes, incidents, and support hours | Model charges can fall while people's work rises. |
| Failed work | Jobs that must be repaired, compensated, or redone under the terms | Low cost per answer may not mean low cost per successful job. |
My chosen measure is cost per job completed to the acceptance criteria, alongside quality and response time, not only cost per model token. Cheaper model calls can raise total costs if more answers are wrong and require human correction. Data accuracy and access rights need their own checks. Do not trade them away for a lower price without seeing the effects.
Of THB 100,000 per subscriber, how much remains after allocated burdens?
- THB 25,000 direct costs
- THB 50,000 allocated operating expenses
- THB 3,000 allocated depreciation
- THB 22,000 remaining EBIT
A fixed subscription needs a measurable usage scope
A package may state included work volume, pricing above that volume, actions requiring approval, and warnings before a spending limit is reached. Higher-risk work, such as changing data or making payments, needs approval and stop paths that match the customer's rights. These terms help the company manage its obligations and tell customers what they will receive, rather than imposing limits only after the sale.
The service system should associate resource use with customers and job types, record actual costs with appropriate privacy safeguards, warn before budgets are exceeded, and limit retries. Some questions can use verified answers or retrieval; some jobs need a model chosen for their risk. Test these choices on actual work. Do not claim a model change cuts cost without evidence.
Measure renewal among the same customers
In one hypothetical scenario, the existing customer cohort begins with THB 1 million in annual revenue. Cancellations and downgrades remove THB 100,000, while remaining customers buy THB 150,000 more. Gross revenue retention (GRR), before expansion, is 90%; net revenue retention (NRR), including expansion, is 105%. New customers are excluded from both formulas so new sales do not hide problems with existing customers.
| Item | THB per year | How to read it |
|---|---|---|
| Existing cohort at the start | 1,000,000 | Same starting base for GRR and NRR |
| Cancellations and downgrades | −100,000 | THB 900,000 remains before expansion |
| Expansion from existing customers | +150,000 | Existing cohort ends at THB 1,050,000 |
| New customers | +200,000 | Include in total ARR, not the retention formulas |
| Total ARR at period-end | 1,250,000 | 1,000,000 − 100,000 + 150,000 + 200,000 |
GRR = (1,000,000 − 100,000) ÷ 1,000,000 = 90%; NRR = (1,000,000 − 100,000 + 150,000) ÷ 1,000,000 = 105%. Track customer counts and concentration too. Expansion from one large customer can make NRR look good while increasing risk if that customer does not renew.
A budget also needs service start dates, billing timing, and collection dates. THB 1.25 million in period-end ARR therefore need not equal THB 1.25 million of revenue in the same period. This table explains metrics; it should not overwrite the base year or DCF plan without checking timing assumptions.
Recurring revenue helps planning, but receivables and advance cash stay separate
The hypothetical company's THB 4 million of period-B receivables are unconditional claims from project work, not ARR or advance receipts. Its THB 1 million of project advances represent obligations to deliver under the agreement. Subscribers pay at contract start under the example's assumptions. Read the three amounts separately; recurring revenue does not guarantee cash will always be sufficient.
I would track collection due dates, acceptance conditions, and project vendor payments alongside renewals. If customer advances shrink or receivables collect more slowly than planned, the company needs funding in the meantime, even if accounting rules still support revenue and profit. The final article tests that cash effect without automatically turning it into an additional loss.
Economies of scale arise when shared costs grow more slowly than revenue
If some platform costs and support work can be shared, more revenue may lower average cost. Model charges, review work, and customer help can still rise with use. Once capacity is reached, the company may need to add people or systems in steps. Scale economies need evidence; calling a service a subscription does not create them.
For this fictional company, I would not multiply THB 1 million of ARR by another software company's market price until I can explain renewals, total costs, and who pays when AI use grows. Per-customer expenses and the reasons customers stay are important inputs to the cash forecast in the final article.