← All companies ← DRD Manual DSWL → ← DOYU Software DSP →
DSGX, Descartes Systems
A software business, earning high margins on code once it is written.
The business
What it sells, where the money comes from, the kind of company it is.
The business in brief
What this business is and what moves its needle, from its own SEC filings.
- What moves the needle
- Gross margin has run about 74% and operating margin about 16% through the cycle, a wide spread between price and the cost of what it sells — whether that advantage is durable pricing power or a margin that can erode is the question the record is for. Read this kind of business on retention and the cost of growth.
- Is it a good business?
- Return on capital has rarely cleared the cost of capital (median 6%, above 15% in 0 of 10 years). The steadier read is owner earnings: roughly 33% of revenue reaches owners as cash, consistently, and customers and suppliers fund the business through negative working capital. This is price-taker territory, where the balance sheet and the cycle matter more than any multiple; the rest is in the 10-K.
Every line is arithmetic on the company's filings, shown in full in the sections below.
Where the money comes from
read the 20-F →United States is 68% of revenue, so this is largely a single-region business.
- United States68%$496M
- EMEA23%$170M
- Canada6%$42M
- Asia Pacific3%$21M
From the segment footnote of the company's own 20-F. Shares are of total revenue; the profit bar shows each segment's share of segment operating profit, before unallocated corporate costs.
The record
Ten years of arithmetic, read across the cycle.
The record, 2016–2026
realized figures from each filing · older years to the left| 2016’16 | 2017’17 | 2018’18 | 2019’19 | 2020’20 | 2021’21 | 2022’22 | 2024’24 | 2025’25 | 2026’26 | TTMTTMJan 2026 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Income statement | |||||||||||
| $185M | $204M | $237M | $275M | $326M | $349M | $425M | $573M | $651M | $729M | $729M | RevenueRevenue |
| 71% | 72% | 73% | 73% | 74% | 74% | 76% | 76% | 76% | 77% | 77% | Gross marginGross mgn |
| $28M | $31M | $36M | $41M | $52M | $71M | $103M | $143M | $181M | $210M | $210M | Operating incomeOp. inc. |
| 15.2% | 15.1% | 15.1% | 15.1% | 16.0% | 20.5% | 24.4% | 24.9% | 27.8% | 28.8% | 28.8% | Operating marginOp. mgn |
| $21M | $24M | $27M | $31M | $37M | $52M | $86M | $116M | $143M | $164M | $164M | Net incomeNet inc. |
| 26% | 24% | 23% | 21% | 23% | 26% | 16% | 23% | 25% | 25% | 25% | Effective tax rateTax rate |
| Cash flow & returns | |||||||||||
| $54M | $73M | $72M | $78M | $104M | $131M | $176M | $208M | $219M | $266M | $266M | Operating cash flowOp. cash |
| $3M | $4M | $4M | $5M | $6M | $6M | $5M | $5M | $6M | $6M | $6M | DepreciationDeprec. |
| $30M | $45M | $41M | $42M | $61M | $73M | $85M | $86M | $70M | $97M | $97M | Working capital & otherWC & other |
| $4M | $5M | $5M | $5M | $5M | $4M | $5M | $6M | $7M | $6M | $6M | CapexCapex |
| 2.3% | 2.4% | 2.1% | 1.9% | 1.5% | 1.1% | 1.1% | 1.0% | 1.0% | 0.8% | 0.8% | Capex / revenueCapex/rev |
| $51M | $69M | $67M | $73M | $99M | $127M | $171M | $202M | $213M | $261M | $261M | Owner earningsOwner earn. |
| 27.5% | 33.8% | 28.2% | 26.5% | 30.5% | 36.6% | 40.3% | 35.3% | 32.6% | 35.7% | 35.7% | Owner earnings marginOE mgn |
| $50M | $68M | $67M | $73M | $99M | $127M | $171M | $202M | $213M | $261M | $261M | Free cash flowFCF |
| 27.0% | 33.2% | 28.2% | 26.5% | 30.5% | 36.6% | 40.3% | 35.3% | 32.6% | 35.7% | 35.7% | Free cash flow marginFCF mgn |
| 6% | 6% | 6% | 6% | 5% | 7% | 11% | 12% | 12% | 13% | 12% | ROICROIC |
| 5% | 6% | 5% | 6% | 5% | 6% | 9% | 9% | 10% | 10% | 10% | Return on equityROE |
| 5% | 6% | 5% | 6% | 5% | 6% | 9% | 9% | 10% | 10% | 10% | Retained to equityRetained/eq |
| Balance sheet | |||||||||||
| $42M | $38M | $35M | $27M | $44M | $134M | $213M | $321M | $236M | $357M | $361M | Cash & investmentsCash+inv |
| $26M | $25M | $29M | $31M | $35M | $37M | $42M | $52M | $54M | $65M | $65M | ReceivablesReceiv. |
| $155K | $167K | $123K | $95K | $411K | $429K | $868K | $353K | $715K | $101K | $101K | InventoryInvent. |
| $4M | $5M | $8M | $5M | $8M | $8M | $11M | $17M | $21M | $21M | $21M | Accounts payablePayables |
| $21M | $21M | $21M | $26M | $28M | $30M | $32M | $34M | $34M | $44M | $44M | Operating working capitalOper. WC |
| $75M | $73M | $75M | $72M | $100M | $203M | $292M | $418M | $353M | $482M | $482M | Current assetsCur. assets |
| $40M | $54M | $68M | $70M | $89M | $104M | $133M | $204M | $217M | $223M | $223M | Current liabilitiesCur. liab. |
| 1.9× | 1.3× | 1.1× | 1.0× | 1.1× | 1.9× | 2.2× | 2.1× | 1.6× | 2.2× | 2.2× | Current ratioCurr. ratio |
| $217M | $263M | $350M | $378M | $524M | $565M | $609M | $760M | $925M | $1.0B | $1.0B | GoodwillGoodwill |
| $453M | $501M | $625M | $653M | $943M | $1.1B | $1.2B | $1.5B | $1.6B | $1.9B | $1.9B | Total assetsAssets |
| — | — | $37M | $25M | — | — | — | — | — | — | $34M | Total debtDebt |
| — | — | $2M | ($2M) | — | — | — | — | — | — | ($327M) | Net debt / (cash)Net debt |
| 53.8× | 50.2× | 27.7× | 19.5× | 11.8× | 60.2× | 92.1× | 104.8× | 180.4× | 217.1× | 209.1× | Interest coverageInt. cov. |
| $402M | $431M | $499M | $534M | $822M | $911M | $1000M | $1.2B | $1.4B | $1.6B | $1.6B | Shareholders’ equityEquity |
| Per share | |||||||||||
| 76.4M | 76.5M | 77.1M | 77.8M | 82.9M | 85.8M | 86.2M | 86.8M | 87.3M | 87.6M | 86.0M | Shares out (diluted)Shares |
| $2.42 | $2.66 | $3.08 | $3.54 | $3.93 | $4.07 | $4.93 | $6.60 | $7.46 | $8.32 | $8.47 | Revenue / shareRev/sh |
| $0.27 | $0.31 | $0.35 | $0.40 | $0.45 | $0.61 | $1.00 | $1.34 | $1.64 | $1.87 | $1.90 | EPS (diluted)EPS |
| $0.67 | $0.90 | $0.87 | $0.94 | $1.20 | $1.49 | $1.99 | $2.33 | $2.43 | $2.97 | $3.03 | Owner earnings / shareOE/sh |
| $0.65 | $0.88 | $0.87 | $0.94 | $1.20 | $1.49 | $1.99 | $2.33 | $2.43 | $2.97 | $3.03 | Free cash flow / shareFCF/sh |
| $0.06 | $0.06 | $0.07 | $0.07 | $0.06 | $0.04 | $0.06 | $0.06 | $0.08 | $0.07 | $0.07 | Cap. spending / shareCapex/sh |
| $5.26 | $5.63 | $6.47 | $6.86 | $9.92 | $10.62 | $11.60 | $14.26 | $15.86 | $18.49 | $18.82 | Book value / shareBVPS |
| 10-yr | 5-yr | |
|---|---|---|
| Revenue / share | +13.1%/yr | +15.4%/yr |
| Owner earnings / share | +16.1%/yr | +14.9%/yr |
| EPS | +21.4%/yr | +25.2%/yr |
| Capital spending / share | +1.5%/yr | +8.3%/yr |
| Book value / share | +13.4%/yr | +11.7%/yr |
The record, charted
FY2016–2026Each measure over its full record; the current point and the worst year marked.
Owner earnings vs. net income
Owner earningsNet incomeThe accountant's number, and the cash an owner can take; the gap is the tell.
Where the cash went
ReinvestBuybacksDividendsAcquisitionsRetainedEach year's operating cash, by what management did with it: the mix, and how it drifts.
Net income is the accountant's number; owner earnings is the cash an owner could take out. The walk between them, off the cash-flow statement, and whether the gap is widening or holding.
In fiscal 2026 the business turned $164M of profit into $261M of owner earnings: more cash than the profit line showed, after the non-cash charges and the capital it put back in.
| FY2026 | FY2025 | FY2024 | FY2022 | FY2021 | |
|---|---|---|---|---|---|
| Reported net income | $164M | $143M | $116M | $86M | $52M |
| Depreciation & amortizationnon-cash charge added back | +$6M | +$6M | +$5M | +$5M | +$6M |
| Working capital & othertiming of cash in and out, other non-cash items | +$97M | +$70M | +$86M | +$85M | +$73M |
| Cash from operations | $266M | $219M | $208M | $176M | $131M |
| Capital expenditurecash put back in to keep running and to grow | −$6M | −$7M | −$6M | −$5M | −$4M |
| Owner earnings | $261M | $213M | $202M | $171M | $127M |
| Owner-earnings marginowner earnings ÷ revenue | 36% | 33% | 35% | 40% | 37% |
Owner earnings is the cash an owner could pull out without starving the business: operating cash less the capital it must spend to hold its position .
Maintenance capex is estimated as depreciation where a growing business invests above it; free cash flow is the figure the scorecard's free-cash margin reads.
Quality & stewardship
Returns, the balance sheet, capital allocation, and pay.
Owner’s Scorecard
Will it survive?
- Can it pay its interest? 209.1×ComfortableOperating income $210M ÷ interest expense $1M
What this means
Operating profit covers interest with the kind of margin Graham wanted for a defensive holding. Necessary, not sufficient, it says solvent, not cheap.
- Net cashCash $357M + ST investments $5M − debt $34M
What this means
Cash and short-term investments exceed every dollar of debt by $327M, on net the company owes nothing, and can act from strength when others can't. Net debt is the leverage figure that matters: the cash is already set against the debt. Strategic or illiquid investments aren't counted here.
- Negative, funded by othersDSO 32 + DIO 0 − DPO 46 days
What this means
Days cash is tied up between paying suppliers and collecting from customers. A negative cycle is a quiet moat: suppliers and customers fund the operation (Buffett's “float”), the company grows on other people's money.
Is it a good business?
- Below average through the cycle10-yr median, range 5%–13%; 12% latest = NOPAT $158M ÷ invested capital $1.3BIndustry peers: median -26%
What this means
The rate the business earns on the money tied up in it, Buffett's north star, because over time a stock tracks the ROIC beneath it. Above ~15% sustained hints at a moat; a return below the cost of capital (~8%) erodes value as a business grows rather than building it — the test Buffett weighs most. The headline is the median of the last 10 years (it ran 12% most recently), so one peak or trough year doesn't set the verdict. Asset-light businesses (R&D expensed, little capital) read artificially high, pair this with Owner Earnings.
- High through the cycle10-yr median margin, range 26%–40%; latest $261M = operating cash $266M − maintenance capex $6MIndustry peers: median -5%
What this means
What an owner could take out without starving the business: operating cash less the maintenance capital it must spend to hold its position — Buffett's owner earnings. That's 36% of revenue this year, a 33% median across 10 years.
- Cash-backedCash from ops $266M ÷ net income $164M
What this means
How much of reported profit showed up as operating cash. Above 1× is reassuring; well below suggests earnings lean on accruals. One year is noisy, growth and working-capital swings distort it, and this is operating cash, not free cash. Watch the multi-year trend.
How is the cash used?
- Reinvests most of itDividends + buybacks $892K ÷ Owner Earnings $261M
What this means
Of $261M Owner Earnings, $892K (0%) went back to shareholders, $0 dividends, $892K buybacks. Returning most of it is the mark of a mature business with little left to reinvest at a high return; reinvesting most could mean a long runway, or empire-building. The split doesn't say which; the return earned on it (see ROIC) does.
- Investing or harvesting? 0.96×MaintainingCapex $6M ÷ depreciation $6M
What this means
Descriptive, not a grade. Above ~1× means investing faster than assets wear out (growth, or, sustained for years, today's earnings carrying less depreciation than tomorrow's will). Below means spending less than it's wearing out (efficiency, or a melting asset base). The ratio won't tell you which; the filings will.
Graham’s defensive tests · 4 of 6 met
Graham’s numerical criteria for the defensive investor (The Intelligent Investor, ch. 14), run on the filings. A floor of safety, not a buy signal; many fine modern businesses fail his strictest liquidity rules by design.
- Adequate size MissRevenue ≥ $2B · $729M
What this means
Big enough to weather a storm. Graham's 1972 floor was ~$100M of sales (≈ $700M today); we use a $2B revenue line as a conservative modern stand-in.
- Strong liquidity PassCurrent ratio ≥ 2× · 2.16×
What this means
Current assets at least twice current liabilities, near-term bills covered without touching the business. Strict by design: many cash-rich modern firms run leaner and miss it, holding their cushion in longer-dated securities.
- Conservative debt PassDebt ≤ working capital · $34M vs $259M WC
What this means
Graham's rule that borrowings not exceed net current assets. Capital-heavy and buyback-heavy firms routinely fail it, read it next to interest coverage, not alone.
- Earnings stability PassA profit every year (10-yr record) · no losses
What this means
Graham wanted earnings in each of the past ten years, the stability a defensive owner leans on.
- Dividend record MissUninterrupted dividends · none paid
What this means
An unbroken dividend was Graham's mark of durability. He wanted twenty years; the filings show about ten, and a single suspension breaks the streak. Non-payers, many fine modern compounders, fall outside his defensive net by design.
- Earnings growth PassEarnings +33% over the record · +493%
What this means
At least a third more earnings than a decade ago, averaging three years at each end. Net income (not per-share), so stock splits don't distort it, buybacks and dilution show up in the share-count line instead.
- Moderate price —P/E ≤ 15 and P/E × P/B ≤ 22.5 · decided by the price
What this means
Graham's valuation gate, the wall he kept between a sound business and a sound investment. Three-year average earnings are $1.64/share (latest year $1.90), the averaged base the calculator's gate runs on, and book value is $18.82/share. Enter a price in “What the price implies” just below for the P/E, P/B, and whether it clears. But this is the rule Buffett outgrew: there's no hard P/E law, and a wonderful business can deserve a far richer multiple if the thesis holds, treat it as the bargain-hunter's floor, not a verdict on the price.
Durability & moat, 2016–2026
Whether the record’s returns held, and what the capital reinvested earned.
- Profitable years 10 of 10
What this means
Never lost money over the record, the earnings stability Graham insisted on.
- Operating margin 15% → 27% (3-yr avg ends)
What this means
Through the cycle the operating margin widened — about 15% early to 27% lately, median 16% — pricing power intact or improving.
- Reinvestment, incremental ROIC returns capital
What this means
The capital base barely grew: this business returns cash through dividends and buybacks rather than reinvesting. Judge it on the cash returned, not on compounding.
- Owner earnings growth +15%/yr
What this means
Owner earnings grew about 15% a year over the record.
- Worst year 2019 · 15.1% op. margin
What this means
Stayed profitable even in its hardest year, the resilience that survives recessions.
- Share count +1.4%/yr
What this means
The share count is rising, dilution works against you on a per-share basis.
Does AI threaten the moat?
Elevated contestabilityThe product is software or information, the very thing capable AI now produces more cheaply, so the moat is more contestable than the record alone implies.
AI has collapsed the cost of building a capable substitute for the very thing this business sells. When a credible alternative can be assembled for a fraction of the incumbent's price, it is pricing power that erodes first, not revenue tomorrow. The live question is whether the moat survives that, not whether it held in the past. Whether that question is answerable at all is yours to decide, against your own circle of competence.
Read from the filing's own risk factors, paired with the industry's structure under its SIC code; the durability is read above, the price below.
All figures as filed; the source filing is linked above.
Current Position
as of fiscal year-end, Jan 31, 2026Can the business pay what it owes this year, off the freshest balance sheet: the quality of the assets, the debt actually coming due, and what a low ratio means here.
- Cash & short-term investments$361M
- Receivables$65M
- Inventory$101K
- Other current assets$56M
- Debt due within a year$9M
- Accounts payable$21M
- Other current liabilities$194M
From the company's latest filing.
How the cash was used, 2016–2026
Over the record, the business generated $1.4B of operating cash; how management split it reads as a balanced allocator, splitting cash between the business, owners, and the balance sheet.
- Reinvested$51M · 4%
- Buybacks$892K · 0%
- Retained (debt / cash)$1.3B · 96%
- Returned to owners$892K
0% of the owner earnings the business produced over the span, $0 as dividends and $892K as buybacks.
- Source of fundingOperating cash
Operating cash covered reinvestment and returns; over the span cash and short-term investments rose $319M.
- Average price paid for buybacks—
Buybacks ran $892K over the span, but the filings don't tag the share count needed to deduce the average price paid.
- Net change in share count12.6%
The diluted count rose from 76M to 86M: issuance (stock pay, deals) outran any buybacks, so owners were diluted on net.
- Dividend record—
No dividend line was reported in the filing data over the span; the record here neither confirms nor rules out a payout.
- Return on what it retained23%
Of the earnings it kept rather than paid out ($700M over the span), annual owner earnings (first three years vs last three) grew $163M, so each retained $1 added about 0.23 of yearly owner earnings. Buffett's test, run on owner earnings instead of market value.
Buybacks are gross of stock issued to staff; the share-count line above is the net of that, the figure that decides whether owners gained. The average price paid blends a year of purchases (and any accelerated repurchase), so it is close, not exact. The record of where the cash went and on what terms.
Acquisitions & goodwill
from the balance sheet & the 10-year cash-flow recordGoodwill grows only when a company acquires and falls only when it concedes it overpaid. The size of that bet, the cash put into buying rather than building, and how much has already been written off.
None written down over the record; the goodwill is still carried at full cost. That is the deals holding their value on the books so far; whether they keep doing so is the test an owner watches, since the write-down, when it comes, is the admission the price was too high.
Goodwill, acquired intangibles and equity from the latest balance sheet; acquisition spend and write-downs summed across the 10-year record, from the company's own filings.
Inverting the record
Invert: instead of why Descartes Systems is a good business, the question is what would make owning it a mistake, and whether those marks are in the record. Disconfirming tests across 2016–2026.
1 of the 4 tests turned up something to look into; the other 3 came back clean.
- Look hereDid the share count rise anyway?12.6%
Diluted shares grew 12.6% over 2016–2026, even as the company spent $892K on buybacks. The repurchases were outrun by issuance — to staff, in a raise, or in a deal — and the filing says which; owners' slice still shrank. Read the buyback line beside this one, not on its own.
- Is it less profitable than it was?
- Did reported profit become cash?
- Did receivables and inventory outpace sales?
Each test is read from the filings and is noisy alone; a flag can mark a cyclical trough or a year of heavy investment as easily as a problem. The filing says which.
Peers, Software
The same industry, side by side on owner economics. Each figure is a through-cycle median, so a peak or trough year can’t distort it; the group median at the foot is the line to read each against.
| Company | Revenue | Gross margin | Op. margin | ROIC | Owner earn. margin |
|---|---|---|---|---|---|
| COURCoursera Inc. | $758M | 53% | -22.9% | — | 0% |
| BRZEBraze | $738M | 67% | -30.7% | -30% | -5% |
| CWANClearwater Analytics | $731M | 72% | 1.7% | 0% | 15% |
| DSGXDescartes Systems | $729M | 74% | 18.3% | 6% | 33% |
| APPNAppian Corporation | $727M | 71% | -18.7% | -50% | -6% |
| NTSKNetskope Inc. | $709M | 65% | -76.9% | -107% | -27% |
| NAVNNavan Inc. | $702M | 68% | -28.0% | -21% | -10% |
| BLBlackLine | $700M | 76% | -9.4% | -3% | 11% |
| Group median | — | 70% | -20.8% | -21% | -3% |
The price
What a price has to assume.
What the price implies
reverse-DCFEnter the home-market price, not the US ADR quote. Descartes Systems reports in USD, and every figure here (owner earnings, book value, the share count) is on that ordinary-share basis. Enter the price on the same basis: the local-exchange quote per ordinary share. A US ADR price in dollars bundles the ADR-to-ordinary ratio, so it will not reconcile with these figures and would throw the multiple off.
Type today's close and see the owner-earnings growth you'd have to believe to justify it, beside what Descartes Systems has delivered.
Through the cycle, Descartes Systems earns about $242M on its 33.2% median owner-earnings margin. This year’s 35.7% margin runs in line with that. Normalize, below, values the price on that through-cycle figure rather than the latest year.
—
9.0% = the 4.55% 10-year Treasury (Jul 15, 2026) + 4.45 points of equity premium. The rate you require is yours to set.
Enter a price above to run it.
A dated snapshot of the price you typed, the assumptions you set, and what the page showed for them. A snapshot is never edited after it is saved. Your notebook is yours alone — the commitment states what is stored and what we will never do.
Graham capped the multiple at 15×; Buffett and Munger let that rule go: a wonderful business can deserve 50× if the thesis holds. The gate marks the bargain-hunter's floor.
Prefilled with the 10-year Treasury (4.55%, as of Jul 15, 2026). Edit it for today’s exact figure, or a AAA corporate yield.
Graham measured a stock against the bond you could own instead, the heart of his margin of safety. Enter a price above to weigh the owner-earnings yield against this bond.
Owner earnings $261M on 86M shares outstanding, per the 40-F cover, as of 2026-01-31; net cash $327M. The base is the latest year by default; Normalize values it on the through-cycle median owner-earnings margin (to avoid paying on a peak year). Net of stock comp treats option pay as the expense it is. The dials set the multiple a growth belief justifies; the price, and every dollar on this page, is yours.
Manual order: ← DRD its page in the Manual DSWL →
Industry order: ← DOYU the Software chapter DSP →