Astra: growing faster than reported revenue shows, but almost none of it turns into cash
On 26 August Astra Group (MOEX: ASTR) reported IFRS results for the second quarter and first half of 2026. The press-release headline about 47% revenue growth refers to a quarter that was filling the hole left by a failed first one, so the right comparison is the full half-year.
Main conclusion: operationally Astra is growing faster than reported revenue suggests, but this profit barely converts into cash, and the whole of 2026 will be decided by the fourth quarter.
In short, the argument runs as follows.
Revenue is growing well, but once the failed first quarter is included, growth is more modest than the headline: 17% for the half-year against 47% for the quarter.
More was signed than shown in revenue: shipments grew 27%, and adjusted for deferred revenue the growth is about 33%.
Costs are being optimised reasonably well, but mainly through headcount cuts rather than lower unit costs.
Half of the profit is non-operating, and the EBITDA growth rate is inflated by the effect of the incentive programme.
Cash flow is negative not because of receivables but because of investment in development.
Fairly large related-party transactions look negative.
Net debt rose 1.6 times and became short-term, because the dividend, the buyback and three deals were paid for with debt.
There are fewer customers, and concentration on five distributors has risen to 72% of revenue.
Management's target of 40% profit growth requires RUB 7.4 bn in the second half.
On EV/EBITDA the stock is cheap, but on EV/EBITDAC there is almost no discount.
*All figures below come from the condensed interim consolidated IFRS statements, the databook and the company's press release for 6M2026, unless stated otherwise. The share price and market capitalisation are based on Moscow Exchange data as of 26 August 2026.*

Revenue is growing well, but once the failed first quarter is included, growth is more modest than the headline: 17% for the half-year against 47% for the quarter.
In the first quarter revenue fell 15% year on year to RUB 2,657 mn, costs rose 22%, and the quarter ended with an operating loss of RUB 667 mn and a net loss of RUB 752 mn. In the second quarter revenue was RUB 5,123 mn against RUB 3,485 mn a year earlier, costs rose only 10%, and net profit jumped from RUB 477 mn to RUB 1,853 mn.
These 47% need two caveats. First, 2Q2025 was itself weak, growing only 13% on 2024, so the base is low. Second, drawing conclusions from individual quarters at Astra makes little sense, because the cost base is almost fixed: for the last six quarters it has stayed in a range of RUB 3.0-4.4 bn, while revenue jumps with the timing of signed acceptance acts. Whatever revenue delivers above this level drops almost entirely into profit, and vice versa.
For the half-year as a whole revenue grew 17% to RUB 7,779 mn, and stretched over two years, growth from 1H2024 was 58%, or about 26% a year. That is noticeably slower than the pace the company had accustomed the market to before 2025. Gross margin jumped to 58% in the second quarter against 42%, but for the half-year as a whole it fell to 42% against 45.5%.

Within revenue, the flagship lags the rest of the ecosystem:
- Astra Linux OS, RUB 3,443 mn, +13% for the half-year. Still 44% of revenue, but it was 46% a year ago.
- Ecosystem products (the Tantor DBMS, RuBackup, RuPost, ALD Pro, Termidesk and others), RUB 1,675 mn, +20% for the half-year and +77% in the second quarter.
- Product maintenance, RUB 2,484 mn, +25%. The most predictable part: support subscriptions on previously sold licences.
- Other (hosting, education), RUB 177 mn, -4%.

More was signed than shown in revenue: shipments grew 27%, and adjusted for deferred revenue the growth is about 33%.
Shipments for the half-year grew 27% to RUB 7,308 mn, noticeably faster than revenue. Astra defines shipments as RAS revenue from external customers recognised when the acceptance act is signed, excluding VAT.
The same is visible inside IFRS. Maintenance subscriptions do not go into revenue immediately; they accumulate in the contract liabilities line and are recognised over the term of the licence. For the half-year RUB 1,642 mn was deferred against RUB 555 mn a year earlier, while RUB 2,484 mn was recognised in revenue against RUB 1,986 mn. If revenue is adjusted for the movement in this line, that is, counting only what was actually sold in the period, the result is RUB 6,937 mn against RUB 5,195 mn, up 33% instead of the reported 17%.
The portfolio of contracted future revenue itself rose to RUB 4,160 mn against RUB 2,967 mn a year earlier, up 40%. A year ago the company was, on the contrary, eating into this stock, recognising three times more from it than it added.
Costs are being optimised reasonably well, but mainly through headcount cuts rather than lower unit costs.
The company rightly stresses the slowdown in costs. In 2025 they grew 54% and 36% in the first and second quarters; in 2026, 22% and 10%. But the slowdown has a specific source. Average headcount for the half-year was 2,621 against 2,741 a year earlier, down 4%, while payroll including the incentive programme rose 12% to RUB 4,419 mn. One employee costs the company about 17% more than a year ago. At the end of June the company employed 2,844 people, so hiring resumed in the second quarter.
The second notable item is non-recoverable VAT: RUB 562 mn for the half-year against RUB 267 mn a year earlier. Almost all of the increase came in the first quarter (RUB 461 mn against RUB 169 mn). The company itself names the rise in insurance contributions as the main driver of cost growth in the first half. The budget for the third and fourth quarters assumes cost growth of 0-15% year on year; for comparison, costs in 4Q2025 were RUB 4,368 mn.
Half of the profit is non-operating, and the EBITDA growth rate is inflated by the effect of the incentive programme.
Net profit for the half-year was RUB 1,101 mn (+67%), adjusted RUB 1,180 mn (+96%). But the operating business contributed only RUB 845 mn of this; the rest came from non-operating lines.
- +RUB 237 mn of net finance income. Of this, RUB 147 mn is interest on loans issued to related parties, almost all of it accrued rather than received in cash. Over the half-year related parties paid RUB 0.7 mn in interest against RUB 111 mn accrued.
- +RUB 115 mn share of profit of equity-accounted companies. Almost all of it is JSC "Axiom" (developer of the Russian Java build, Axiom JDK), 20% of which was bought in February 2026 for RUB 205 mn. In under five months the share of profit was RUB 119 mn, with RUB 49 mn received in dividends. On a straight-line basis this implies about RUB 0.6 bn of profit at Axiom itself against net assets of RUB 0.79 bn. The repeatability of such a return should be checked with the company.
- +RUB 73 mn in income tax, and this is income, not an expense: recognition of deferred tax assets, which grew to RUB 802 mn.
The loss of RUB 204 mn for the half-year fell on holders of non-controlling interests, that is, minority shareholders of subsidiaries. So profit attributable to Astra's own shareholders is higher than the group result and amounts to RUB 1,305 mn, or RUB 6.5 per share for the half-year (RUB 9.28 in the second quarter).

Now to EBITDA, where the incentive programme matters. The company reports adjusted EBITDA of RUB 1,785 mn, +40% year on year. The difference from ordinary EBITDA (RUB 1,711 mn, +28%) is exactly the expense of the share-settled incentive programme, RUB 74 mn for the half-year, which the company adds back. But in last year's base the same line was not an expense but a reversal of RUB 59 mn, so adjusted EBITDA for 2025 came out below ordinary EBITDA. Hence the gap in growth rates: +40% against +28%. In the second quarter the effect is even stronger, +204% against +154%, because the 2Q2025 base contained a reversal of RUB 134 mn.

The incentive programme is not free, though. For 2025 the company accrued RUB 243 mn of expenses under the programme and bought back its own shares for RUB 241 mn, meaning the "non-cash" expense was effectively paid in cash through the buyback. In 2026 the buyback is already larger: RUB 179 mn for the half-year and over RUB 203 mn in July, against RUB 74 mn accrued for the half-year. The package is being built up in advance, including for M&A deals. The practical conclusion: growth rates are better compared on ordinary EBITDA, treating the incentive programme as an expense.
Cash flow is negative not because of receivables but because of investment in development.
Profit rose by RUB 441 mn, while operating cash flow fell from RUB 2,564 mn to RUB 2,320 mn. The first hypothesis is that profit settled in receivables. The cash flow statement says it did not.
- Receivables brought in more cash, not less: +RUB 3,785 mn against +RUB 2,495 mn a year earlier, that is RUB 1.29 bn better.
- Cash was taken by payables: minus RUB 1,815 mn against plus RUB 623 mn a year earlier, a swing of RUB 2.44 bn. On the balance sheet this is visible line by line: liabilities for salaries and other remuneration fell from RUB 2,032 mn to RUB 723 mn, meaning about RUB 1.3 bn of previously accrued annual bonuses was paid out. Trade payables fell from RUB 354 mn to RUB 92 mn.
- Plus taxes and interest: income tax paid was RUB 319 mn against RUB 133 mn, and interest received on deposits was RUB 103 mn against RUB 247 mn.

The level of receivables is not abnormal either. At 30 June it is RUB 6,251 mn against RUB 3,988 mn a year earlier, up 57% while 12-month revenue grew 14%, but as a share of last-12-month revenue it is 29% now against 28.7% at 30 June 2024 and 21.1% at 30 June 2025. So the current level is normal by 2024 standards, and it was mid-2025 that was abnormally low. The provision for expected credit losses is 0.63% of trade receivables against 0.66% at the end of 2025; the provisioning approach has not changed.
The real cause lies a level deeper. Capital expenditure in the cash flow statement rose from RUB 1,766 mn to RUB 2,399 mn, up 36%, and free cash flow went to minus RUB 79 mn against plus RUB 798 mn a year earlier. The company capitalises development costs and does not expense developers' salaries immediately, but puts them on the balance sheet as an intangible asset. For the half-year RUB 1,721 mn was capitalised against amortisation of previously capitalised costs of RUB 893 mn: the difference of RUB 828 mn is exactly the amount by which accounting profit looks better than the cash result.
Over several years this is clearer. The share of free cash flow in net profit was 59% in 2023, 23% in 2024, 21% in 2025 and 6% over the last 12 months. In total, over 2024, 2025 and 1H2026 the company earned RUB 13.2 bn of net profit and RUB 2.6 bn of free cash flow, so 19% reached cash.

An important detail for the future: of RUB 10,535 mn of original cost of intangible assets, RUB 4,388 mn, or 42%, is still under development and is not amortised at all. When these products enter service, amortisation will rise and press on accounting profit, while in cash terms nothing will change.
The company discloses this itself and calculates a management metric, "adjusted net profit minus CAPEX", which serves as the base for the dividend. For the half-year it is RUB 352 mn against minus RUB 310 mn a year ago. Under the current policy, with net debt below 1x EBITDA, at least 25% of this base is paid out, so the half-year "earned" about RUB 88 mn of dividends, around RUB 0.4 per share. For 2025 the base was RUB 3,928 mn and the payout RUB 982 mn, or RUB 4.68 per share, exactly 25%.

Fairly large related-party transactions look negative.
This is the block from which part of the finance income not backed by cash comes. At 30 June related parties account for: loans issued RUB 1,408 mn, trade receivables RUB 275 mn, other non-current assets RUB 813 mn, advances issued RUB 328 mn, in total about RUB 2.8 bn, or 24% of group equity. Interest on these loans for the half-year was accrued at RUB 111 mn, while RUB 0.7 mn was received in cash.
In addition, the group acts as guarantor of related parties' obligations to third parties in the amount of RUB 3,497 mn (RUB 3,728 mn at the end of 2025). The balance sheet recognises a liability for these guarantees of only RUB 136 mn – a fair-value estimate, not the full amount at risk. In total that is about RUB 3.5 bn of contingent liabilities on top of RUB 4.1 bn of the group's own debt, while the economic purpose of these operations does not follow from the statements.
One more line to keep in mind: the company estimates possible additional taxes, fines and penalties arising from differences in the interpretation of legislation at no more than 2% of last-12-month revenue (no more than 2.6% at the end of 2025). With revenue of RUB 21.5 bn, that is up to RUB 430 mn.
Net debt rose 1.6 times and became short-term, because the dividend, the buyback and three deals were paid for with debt.
Net debt at 30 June rose to RUB 3,344 mn against RUB 2,103 mn at the end of 2025 and RUB 1,655 mn a year earlier. The ratio to adjusted last-12-month EBITDA is 0.38x; in absolute terms the burden is low.
But there are two points that are not in the press release. First, cash fell to RUB 736 mn, the lowest since 2022. Second, the debt structure has shifted entirely to the short end: of RUB 4,080 mn of total debt only RUB 114 mn is long-term, so 97% of debt has to be repaid or refinanced within a year. A year ago the short part was a little over a third, and two years ago less than half.
Bank loan rates are floating and tied to the key rate. They are the key rate plus 2.6% and the key rate multiplied by 0.9 plus 3.2%: at a 14% key rate, about 15.8-16.6% a year. Separately, in May a debut issue of digital financial assets of RUB 500 mn at 14.5% maturing in February 2027 was placed, and in July another RUB 100.6 mn at 15%. A floating rate works both ways, and a cut in the key rate automatically lowers servicing costs. Covenants, according to the company, are being met.

Where this debt came from is also clear. With negative free cash flow, over the half-year the company simultaneously:
- paid dividends for 2025 of RUB 982 mn in June (RUB 4.68 per share);
- bought back 969.9 thousand of its own shares from the market for RUB 179 mn over the half-year and more than 1,450 thousand more shares for over RUB 203 mn in July; as of 25 August more than 2.4 mn shares have been acquired out of an approved limit of 4 mn (about 2% of capital);
- bought 20% of JSC "Axiom" for RUB 205 mn, 26% of LLC "AIB" with an additional contribution of RUB 100 mn, and in August closed a deal for the exclusive rights to the "Persey" DBMS for RUB 230 mn plus a variable part tied to future results; about 50 developers came with the technology;
- in August bought another 4.4% of LLC "Resolut", bringing its stake to 80.6%.
Under options on a further 25% of AIB, exercisable until June 2027, additional contributions of up to RUB 250 mn are possible; they are not yet recognised on the balance sheet.
There are fewer customers, and concentration on five distributors has risen to 72% of revenue.
In the first half of 2026 the five largest distributors accounted for 72% of revenue against 59% a year earlier. Meanwhile the number of end users for the half-year is over 10.8 thousand unique customers against over 11.1 thousand a year earlier, so there are fewer customers. Revenue growth with a shrinking customer base means that the average ticket is rising, not reach.
Management's target of 40% profit growth requires RUB 7.4 bn in the second half.
Deputy CEO for economics and finance Elena Borodkina confirmed in the press release that, in line with the incentive programme, management continues to aim for net profit growth of about 40% in 2026 over 2025. Net profit for 2025 was RUB 6,049 mn, so the target is about RUB 8,470 mn. RUB 1,101 mn was earned in the half-year, which is 13% of the target.
In the second half RUB 7,368 mn has to be earned against RUB 5,389 mn in 2H2025, up 37%. A calculation based on last year's structure (2H2025 revenue of RUB 13,744 mn, costs under four operating lines of RUB 8,161 mn), with costs growing 10-15% (the company's budget assumes 0-15%), gives required second-half revenue of about RUB 16.6-17.0 bn, up 21-24% year on year. This is an estimate by Enhanced Investments, not a company forecast.
The task looks achievable to exactly the extent that the second quarter was representative: shipments in the second quarter grew 42% and the portfolio of contracted revenue 40%. But historically the second half accounts for about 70% of annual shipments, and the fourth quarter alone for roughly half of annual revenue. The thesis will have to be tested in December; the nine-month report in November will settle little.

On EV/EBITDA the stock is cheap, but on EV/EBITDAC there is almost no discount.
At a price of RUB 208 per share and 210 mn shares, market capitalisation is about RUB 43.7 bn, and enterprise value including net debt is RUB 47.0 bn. Over the last 12 months revenue was RUB 21.5 bn, EBITDA RUB 8.49 bn (adjusted RUB 8.87 bn), net profit RUB 6.49 bn, and capitalised development RUB 3.9 bn by the company's own calculation.
For a software company it is not enough to look at EV/EBITDA alone: EBITDA sees neither the capitalisation of development nor share-based incentives. So we build a ladder.
- EV/EBITDA 5.3x – as the company calculates it, with adjusted EBITDA;
- EV/EBITDA 5.5x – if the incentive programme is left in expenses;
- EV/EBITDAC 8.1x – if capitalised development, taken from the cash flow statement line "Creation of intangible assets" (RUB 3.1 bn over 12 months), is deducted from EBITDA;
- EV/EBITDAC 9.5x – on the company's own broader calculation of capitalisation (RUB 3.9 bn);
- EV/EBITDAC 10.2x – if, in addition, the incentive programme is left in expenses.

The spread from 5.3x to 10.2x is the whole valuation debate. We treat both capitalised development and share-based incentives as expenses: the first eats more than half of EBITDA every year, and the second is paid for with real buybacks of shares from the market. On our portal, EV/EBITDAC for 2025 is 9.0x.
Other metrics: P/E 6.7x against a three-year average of about 18x, P/S 2.0x, free cash flow yield 0.9% and dividend yield 2.2% on the latest payment of RUB 4.68. On earnings the stock really does cost half its own history, although that history includes the post-IPO re-rating of 2023-2024. On cash there is no discount: 0.9% against a key rate of 14%.
Since the start of the year the stock has lost about 16% (RUB 249 on 5 January), having fallen to RUB 119.55 in mid-July and recovered about 74% since. The company bought back shares during that dip.
Conclusion
Operationally the company is in better shape than the half-year revenue suggests: 33% more was signed, the portfolio of future revenue grew 40%, and costs are under control. But half of the profit is non-operating, its growth in EBITDA terms is flattered by the incentive-programme adjustment, only 6% reaches cash against 59% three years ago, and debt has grown to pay for the dividend, the buyback and deals. Plus RUB 2.8 bn of assets and RUB 3.5 bn of guarantees to related parties.
The investment case boils down to one question: can the fourth quarter deliver RUB 7.4 bn of profit and RUB 16.6-17.0 bn of revenue. If it can, today's 9.5x EV/EBITDAC will turn out to be cheap. If not, it was never cheap.
An extended company card with live multiples, an EBITDAC panel, reporting history and primary sources: frontier.eninvs.com/company/RU_ASTR. Other Russian issuers are on the Frontier portal.
Primary sources: [IFRS statements for 6M2026](https://astra.ru/upload/iblock/c68/b00qxz90all0psbisd8smf7i19lurgj9/Otchetnost-PAO-Gruppa-Astra-6m26.pdf), [press release](https://astra.ru/upload/iblock/96a/0f4u7yjeackruuu8ky4bixsfbw27egxp/Press_reliz_vf2_1.pdf), [presentation](https://astra.ru/upload/iblock/39e/t3e3g0n44cueqso6elsjp90nzzky2ctj/Prezentatsiya_2-kv.-2026-goda_vf.pdf), [databook](https://astra.ru/upload/iblock/754/mviwiw33z9mpl30l3pilafu83bky10hr/Astra_Databook_2Q2026_vf.xlsx).
Analysis of Russian and international markets is in the Telegram channel Enhanced Investments @eninv.
See also: market overview · valuation map · stock screeners