{
 "ok": true,
 "cik": "8947",
 "ticker": "AZZ",
 "name": "AZZ Inc.",
 "filings": [
  {
   "form": "8-K",
   "filed": "2026-08-03",
   "items": [
    "5.02 Departure or Election of Directors; Appointment of Officers",
    "9.01 Financial Statements and Exhibits"
   ],
   "url": "https://www.sec.gov/Archives/edgar/data/8947/000000894726000167/0000008947-26-000167-index.htm"
  },
  {
   "form": "8-K",
   "filed": "2026-07-08",
   "items": [
    "2.02 Results of Operations and Financial Condition",
    "9.01 Financial Statements and Exhibits"
   ],
   "url": "https://www.sec.gov/Archives/edgar/data/8947/000000894726000163/0000008947-26-000163-index.htm"
  },
  {
   "form": "10-Q",
   "filed": "2026-07-08",
   "items": [],
   "url": "https://www.sec.gov/Archives/edgar/data/8947/000000894726000162/0000008947-26-000162-index.htm"
  },
  {
   "form": "8-K",
   "filed": "2026-07-07",
   "items": [
    "5.07 Submission of Matters to a Vote of Security Holders",
    "9.01 Financial Statements and Exhibits"
   ],
   "url": "https://www.sec.gov/Archives/edgar/data/8947/000000894726000134/0000008947-26-000134-index.htm"
  },
  {
   "form": "8-K",
   "filed": "2026-06-25",
   "items": [
    "8.01 Other Events",
    "9.01 Financial Statements and Exhibits"
   ],
   "url": "https://www.sec.gov/Archives/edgar/data/8947/000000894726000120/0000008947-26-000120-index.htm"
  },
  {
   "form": "8-K",
   "filed": "2026-05-28",
   "items": [
    "7.01 Regulation FD Disclosure",
    "9.01 Financial Statements and Exhibits"
   ],
   "url": "https://www.sec.gov/Archives/edgar/data/8947/000000894726000110/0000008947-26-000110-index.htm"
  }
 ],
 "events12m": 16,
 "healthWatch": {
  "window": "last 12 months",
  "since": "2025-09-28",
  "signals": [
   {
    "code": "5.02",
    "label": "Director or officer change",
    "count": 3,
    "latest": {
     "filed": "2026-08-03",
     "url": "https://www.sec.gov/Archives/edgar/data/8947/000000894726000167/0000008947-26-000167-index.htm"
    }
   }
  ],
  "note": "Events the company itself filed with the SEC, most serious first. Shown beside the figures; they do not change the range or its receipt."
 },
 "sources": {
  "facts": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000008947.json",
  "filings": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=8947"
 },
 "license": "Figures as filed with the SEC. Card text CC BY 4.0, POPS4.",
 "notAdvice": "Reporting, not investment advice. No price targets and no trading recommendations.",
 "edgar": "🫧 Edgar looked up AZZ Inc. ($AZZ). Last filing: 8-K (5.02 Departure or Election of Directors; Appointment of Officers), 2026-08-03. 16 event filings (8-K) in the past twelve months.",
 "auditor": {
  "changes": [],
  "nonReliance": [],
  "restatedSince": null
 },
 "metrics": {
  "fiscalYearEnd": "2026-02-28",
  "revenue": 1650080000,
  "revenueGrowth1y": 0.04584774209250675,
  "revenueGrowthPerYear": 0.3311065611066679,
  "yearsOfData": 5,
  "operatingMargin": 0.1603661640647726,
  "operatingMarginPrior": 0.14981137624354776,
  "netMargin": 0.19226946572287404,
  "operatingCashFlow": 525446000,
  "capitalSpending": 80776000,
  "freeCashFlow": 444670000,
  "researchAndDevelopment": null,
  "researchShareOfRevenue": null,
  "cash": 705000,
  "longTermDebt": 477738000,
  "longTermDebtChange": -0.4395147618684484,
  "revenueHistory": [
   {
    "fiscalYearEnd": "2022-02-28",
    "revenue": 525598000
   },
   {
    "fiscalYearEnd": "2023-02-28",
    "revenue": 1323649000
   },
   {
    "fiscalYearEnd": "2024-02-29",
    "revenue": 1537589000
   },
   {
    "fiscalYearEnd": "2025-02-28",
    "revenue": 1577744000
   },
   {
    "fiscalYearEnd": "2026-02-28",
    "revenue": 1650080000
   }
  ],
  "totalEquity": 1337031000,
  "totalAssets": 2213474000,
  "equityRatio": 0.6040418816755923,
  "returnOnEquity": 0.23728694398260025,
  "dividendsPaid": 23075000,
  "payoutRatio": 0.07273214398285319,
  "dividendPerShare": 0.77,
  "dividendYearsRising": 1,
  "dividendCut": false,
  "priceBased": "Dividend yield, price/earnings and price/book need a share price. The boards carry filings only, so they are not shown.",
  "earningsPerShare": 10.59,
  "sharesOutstanding": 30211000,
  "bookValuePerShare": 44.25642977723346,
  "revenuePerShare": 54.618516434411305,
  "range80": {
   "low": 1095035911.3932521,
   "high": 2673213295.9846773,
   "baseline": 1750810526.340024,
   "n": 4599,
   "band": "b1",
   "bandLabel": "$1B–10B",
   "method": "v4.1",
   "credibility": 0.5714285714285714,
   "growthYears": 5,
   "ownVolatility": 0.3813940841617223,
   "classVolatility": 0.07701947805587882,
   "volatility": 0.2926826144805607
  },
  "ifPaceHeld": {
   "low": 1095035911.3932521,
   "high": 2673213295.9846773
  }
 },
 "edgarette": "🔖 Exposure: revenue $1.7B (FY2026), total debt $477.7M. Experience: revenue up 4.6% on the year, up 33.1% a year over 4 years; operating margin 16.0%, up from 15.0%. Soundness: equity 60.4% of assets, return on equity 23.7%, payout 7.3% of profit, dividend per share up 1 year running. Credibility: four or more audited years, reasonable weight. Range: 80% of past cases like this landed between $1.1B and $2.7B next year (method v4.1: its own 5-year record of growth weighed at 57% against $1B–10B filers; on a year the method never saw, 83.4% landed inside). In a shock year the stress range is $790.4M to $3.7B. A statistical range, not company guidance. Against peers (38 filers, $50M+ revenue, its industry group): operating margin 16.0% against a 8.1% median; growth 4.6% against 2.4%.",
 "peers": {
  "sic": 3470,
  "sicDescription": "Coating, Engraving & Allied Services",
  "calendarYear": 2025,
  "minRevenue": 50000000,
  "depth": 2,
  "group": "34",
  "growth": [
   0.0243,
   40
  ],
  "opMargin": [
   0.0809,
   38
  ],
  "equityRatio": [
   0.4846,
   39
  ],
  "returnOnEquity": [
   0.0852,
   34
  ],
  "payoutRatio": [
   0.2459,
   26
  ]
 },
 "summary": "Azz (AZZ) grew revenue 4.6% in FY2026 to $1.7 billion, operating margin 16.0% against a 8.1% median for coating, engraving & allied services, equity 60.4% of assets, and dividend per share up 1 year running. Every figure is from the company’s own annual report filed with the SEC.",
 "chart": "<figure class=\"cmp\"><figcaption>AZZ Inc. against its own record and its peers</figcaption><svg viewBox=\"0 0 560 164\" width=\"100%\" role=\"img\" aria-label=\"Comparison chart\"><rect x=\"0\" y=\"0\" width=\"560\" height=\"164\" fill=\"none\"/><text x=\"0\" y=\"34\" font-size=\"11\" fill=\"#6f6450\">Operating margin</text><rect x=\"148\" y=\"25\" width=\"338\" height=\"10\" rx=\"5\" fill=\"#efe7d6\"/><line x1=\"260.66666666666663\" y1=\"21\" x2=\"260.66666666666663\" y2=\"39\" stroke=\"#cfc5ae\" stroke-width=\"1\"/><line x1=\"306.2403333333333\" y1=\"20\" x2=\"306.2403333333333\" y2=\"40\" stroke=\"#c9a84c\" stroke-width=\"2.5\"/><title>Peer median 8.1%</title><circle cx=\"351.0062724231552\" cy=\"30\" r=\"6\" fill=\"#0a2240\" stroke=\"#fff\" stroke-width=\"1.5\"/><text x=\"494\" y=\"34\" font-size=\"11\" font-weight=\"700\" fill=\"#0a2240\">16.0%</text><text x=\"0\" y=\"60\" font-size=\"11\" fill=\"#6f6450\">Revenue, on the year</text><rect x=\"148\" y=\"51\" width=\"338\" height=\"10\" rx=\"5\" fill=\"#efe7d6\"/><line x1=\"292.8571428571429\" y1=\"47\" x2=\"292.8571428571429\" y2=\"65\" stroke=\"#cfc5ae\" stroke-width=\"1\"/><line x1=\"304.5905714285714\" y1=\"46\" x2=\"304.5905714285714\" y2=\"66\" stroke=\"#c9a84c\" stroke-width=\"2.5\"/><title>Peer median 2.4%</title><circle cx=\"314.99505261038183\" cy=\"56\" r=\"6\" fill=\"#0a2240\" stroke=\"#fff\" stroke-width=\"1.5\"/><text x=\"494\" y=\"60\" font-size=\"11\" font-weight=\"700\" fill=\"#0a2240\">4.6%</text><text x=\"0\" y=\"86\" font-size=\"11\" fill=\"#6f6450\">Equity of assets</text><rect x=\"148\" y=\"77\" width=\"338\" height=\"10\" rx=\"5\" fill=\"#efe7d6\"/><line x1=\"311.7948\" y1=\"72\" x2=\"311.7948\" y2=\"92\" stroke=\"#c9a84c\" stroke-width=\"2.5\"/><title>Peer median 48.5%</title><circle cx=\"352.1661560063502\" cy=\"82\" r=\"6\" fill=\"#0a2240\" stroke=\"#fff\" stroke-width=\"1.5\"/><text x=\"494\" y=\"86\" font-size=\"11\" font-weight=\"700\" fill=\"#0a2240\">60.4%</text><text x=\"0\" y=\"112\" font-size=\"11\" fill=\"#6f6450\">Return on equity</text><rect x=\"148\" y=\"103\" width=\"338\" height=\"10\" rx=\"5\" fill=\"#efe7d6\"/><line x1=\"232.5\" y1=\"99\" x2=\"232.5\" y2=\"117\" stroke=\"#cfc5ae\" stroke-width=\"1\"/><line x1=\"268.497\" y1=\"98\" x2=\"268.497\" y2=\"118\" stroke=\"#c9a84c\" stroke-width=\"2.5\"/><title>Peer median 8.5%</title><circle cx=\"332.75373383264855\" cy=\"108\" r=\"6\" fill=\"#0a2240\" stroke=\"#fff\" stroke-width=\"1.5\"/><text x=\"494\" y=\"112\" font-size=\"11\" font-weight=\"700\" fill=\"#0a2240\">23.7%</text><text x=\"0\" y=\"138\" font-size=\"11\" fill=\"#6f6450\">Payout of profit</text><rect x=\"148\" y=\"129\" width=\"338\" height=\"10\" rx=\"5\" fill=\"#efe7d6\"/><line x1=\"217.26183333333336\" y1=\"124\" x2=\"217.26183333333336\" y2=\"144\" stroke=\"#c9a84c\" stroke-width=\"2.5\"/><title>Peer median 24.6%</title><circle cx=\"168.48622055517032\" cy=\"134\" r=\"6\" fill=\"#0a2240\" stroke=\"#fff\" stroke-width=\"1.5\"/><text x=\"494\" y=\"138\" font-size=\"11\" font-weight=\"700\" fill=\"#0a2240\">7.3%</text><text x=\"0\" y=\"162\" font-size=\"10\" fill=\"#8b8375\">Gold tick: the median of 26–39 peers with $50M+ revenue in coating, engraving &amp; allied services</text></svg></figure>",
 "chartHorizon": "<figure class=\"cmp horizon\"><figcaption>Handed back now, or kept to compound · of each dollar of profit</figcaption><svg viewBox=\"0 0 560 76\" width=\"100%\" role=\"img\" aria-label=\"Where the profit goes\"><rect x=\"0\" y=\"4\" width=\"560\" height=\"20\" rx=\"6\" fill=\"#efe7d6\"/><rect x=\"0\" y=\"4\" width=\"40.73000063039778\" height=\"20\" rx=\"6\" fill=\"#c9a84c\"/><rect x=\"40.73000063039778\" y=\"4\" width=\"519.2699993696023\" height=\"20\" rx=\"6\" fill=\"#0a2240\"/><text x=\"6\" y=\"18\" font-size=\"11\" font-weight=\"700\" fill=\"#2a2008\">7.3% paid out</text><text x=\"48.73000063039778\" y=\"18\" font-size=\"11\" font-weight=\"700\" fill=\"#f4efe3\">92.7% kept</text><text x=\"0\" y=\"46\" font-size=\"11\" fill=\"#6f6450\">Handed back per share</text><text x=\"250\" y=\"46\" font-size=\"11\" font-weight=\"700\" fill=\"#0a2240\">$0.77</text><text x=\"320\" y=\"46\" font-size=\"10.5\" fill=\"#8b8375\">up 1 year running</text><text x=\"0\" y=\"64\" font-size=\"11\" fill=\"#6f6450\">Growth its own profit can fund</text><text x=\"250\" y=\"64\" font-size=\"11\" font-weight=\"700\" fill=\"#0a2240\">22.0%</text><text x=\"320\" y=\"64\" font-size=\"10.5\" fill=\"#8b8375\">managed 4.6% last year</text></svg><p class=\"cmpnote\">Gold paid out, navy kept. Kept share × return on equity = the growth it can fund itself. Facts from the filings, not a recommendation.</p></figure>",
 "backtest": {
  "tests": 13,
  "hits": 10,
  "rate": 0.7692307692307693,
  "method": "v4",
  "byYear": {
   "2014": [
    1,
    1
   ],
   "2015": [
    1,
    1
   ],
   "2016": [
    1,
    1
   ],
   "2017": [
    1,
    1
   ],
   "2018": [
    1,
    1
   ],
   "2019": [
    1,
    1
   ],
   "2020": [
    1,
    1
   ],
   "2021": [
    0,
    1
   ],
   "2022": [
    0,
    1
   ],
   "2023": [
    0,
    1
   ],
   "2024": [
    1,
    1
   ],
   "2025": [
    1,
    1
   ],
   "2026": [
    1,
    1
   ]
  },
  "note": "hindsight: the same credibility-weighted range on the company's own past years. Years 2018-2023 were used to fit or tune the method, so only 2025 outcomes are fully out of sample."
 },
 "registry": {
  "logged": "2026-09-28T19:07:17.702Z",
  "hash": "900158e7d16aa648",
  "status": "open"
 },
 "caution": "Figures are as filed in audited 10-K reports and can move with restatements, acquisitions, disposals or a change in fiscal year. A range set from how past company-years turned out is not a promise about the next one, and says nothing about the share price.",
 "schema": "pops4.edgarette.card/1",
 "card": {
  "summary": "Azz (AZZ) grew revenue 4.6% in FY2026 to $1.7 billion, operating margin 16.0% against a 8.1% median for coating, engraving & allied services, equity 60.4% of assets, and dividend per share up 1 year running. Every figure is from the company’s own annual report filed with the SEC.",
  "exposure": {
   "fiscalYearEnd": "2026-02-28",
   "revenue": 1650080000,
   "totalDebt": 477738000,
   "cash": 705000
  },
  "experience": {
   "revenueGrowth1y": 0.04584774209250675,
   "revenueGrowthPerYear": 0.3311065611066679,
   "operatingMargin": 0.1603661640647726,
   "operatingMarginPrior": 0.14981137624354776,
   "netMargin": 0.19226946572287404,
   "freeCashFlow": 444670000
  },
  "soundness": {
   "equityRatio": 0.6040418816755923,
   "returnOnEquity": 0.23728694398260025,
   "payoutRatio": 0.07273214398285319,
   "dividendPerShare": 0.77,
   "dividendYearsRising": 1,
   "dividendCut": false,
   "note": "Dividend yield, price/earnings and price/book need a share price. The boards carry filings only, so they are not shown."
  },
  "peers": {
   "sic": 3470,
   "sicDescription": "Coating, Engraving & Allied Services",
   "calendarYear": 2025,
   "minRevenue": 50000000,
   "depth": 2,
   "group": "34",
   "growth": [
    0.0243,
    40
   ],
   "opMargin": [
    0.0809,
    38
   ],
   "equityRatio": [
    0.4846,
    39
   ],
   "returnOnEquity": [
    0.0852,
    34
   ],
   "payoutRatio": [
    0.2459,
    26
   ]
  },
  "credibility": {
   "auditedYears": 5,
   "weight": "reasonable",
   "standard": "ASOP No. 25",
   "nonReliance": null,
   "auditorChange": null
  },
  "healthWatch": {
   "window": "last 12 months",
   "since": "2025-09-28",
   "signals": [
    {
     "code": "5.02",
     "label": "Director or officer change",
     "count": 3,
     "latest": {
      "filed": "2026-08-03",
      "url": "https://www.sec.gov/Archives/edgar/data/8947/000000894726000167/0000008947-26-000167-index.htm"
     }
    }
   ],
   "note": "Events the company itself filed with the SEC, most serious first. Shown beside the figures; they do not change the range or its receipt."
  },
  "range": {
   "low": 1095035911.3932521,
   "high": 2673213295.9846773,
   "baseline": 1750810526.340024,
   "coverage": 0.8,
   "method": "v4.1",
   "basis": "next fiscal year revenue: baseline = revenue x (1 + mean of one-year and three-year pace); width = the company's own volatility of yearly growth, credibility-weighted against its size class (Buhlmann), scaled to the 80% target on 2023 and tested on 2024",
   "calibratedOn": {
    "companyYears": 4599,
    "sizeBand": "$1B–10B",
    "fitYears": [
     2018,
     2022
    ],
    "tuneYear": 2023,
    "testYear": 2024,
    "coverageOnTestYear": 0.8341
   },
   "credibility": {
    "weightOnOwnRecord": 0.571,
    "growthYears": 5,
    "ownVolatility": 0.3813940841617223,
    "classVolatility": 0.07701947805587882,
    "pricedVolatility": 0.2926826144805607,
    "k": 3
   },
   "stress": {
    "low": 790445104.1268932,
    "high": 3704477447.8959265,
    "basis": "the same range with widths set to hold 80% across 2018-2023, pandemic years included"
   },
   "kind": "a statistical range, not company guidance; no view on the share price",
   "track": {
    "backtest": {
     "tests": 13,
     "hits": 10,
     "rate": 0.7692307692307693,
     "method": "v4",
     "byYear": {
      "2014": [
       1,
       1
      ],
      "2015": [
       1,
       1
      ],
      "2016": [
       1,
       1
      ],
      "2017": [
       1,
       1
      ],
      "2018": [
       1,
       1
      ],
      "2019": [
       1,
       1
      ],
      "2020": [
       1,
       1
      ],
      "2021": [
       0,
       1
      ],
      "2022": [
       0,
       1
      ],
      "2023": [
       0,
       1
      ],
      "2024": [
       1,
       1
      ],
      "2025": [
       1,
       1
      ],
      "2026": [
       1,
       1
      ]
     },
     "note": "hindsight: the same credibility-weighted range on the company's own past years. Years 2018-2023 were used to fit or tune the method, so only 2025 outcomes are fully out of sample."
    },
    "registry": {
     "logged": "2026-09-28T19:07:17.702Z",
     "hash": "900158e7d16aa648",
     "status": "open"
    },
    "scorecard": "https://www.pops4.com/boards/scorecard"
   }
  },
  "caution": "Figures are as filed in audited 10-K reports and can move with restatements, acquisitions, disposals or a change in fiscal year. A range set from how past company-years turned out is not a promise about the next one, and says nothing about the share price.",
  "sources": {
   "facts": "https://data.sec.gov/api/xbrl/companyfacts/CIK0000008947.json",
   "filings": "https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=8947"
  },
  "speedCash": {
   "fiscalYear": 2025,
   "cashConversion": 0.3184,
   "growth3y": 0.0762,
   "volatility": 0.4286,
   "paysDividend": true,
   "raisedDividend": true,
   "equityRatio": 0.5914,
   "quadrant": {
    "code": "fj",
    "label": "Fast and jumpy",
    "plain": "growing faster than its size class, with revenue that swings more"
   },
   "compass": {
    "code": "later",
    "inside": "Turns 31.8% of revenue into operating cash; revenue growing 7.6% a year over three years; pays and raised its dividend.",
    "outside": "Among $1B-10B companies: 84th percentile for cash, 62nd for growth.",
    "emoji": "🌱",
    "label": "Cash cow later",
    "plain": "growing fast, and already turning revenue into cash"
   },
   "band": "$1B-10B",
   "cashPctInClass": 84,
   "growthPctInClass": 62,
   "source": "SEC XBRL frames, the company’s own audited figures; quadrant split at the median of its size class"
  },
  "harbor": {
   "signs": [
    {
     "key": "range",
     "text": "revenue is hard to predict: its 80% range is ±42%"
    }
   ],
   "rule": "Boat condition = number of warning signs: a serious warning filing in 12 months; liabilities over assets; slow and jumpy; negative operating cash; an 80% revenue range of ±25% or wider.",
   "level": 1,
   "name": "Sound ship",
   "plain": "one warning sign"
  },
  "cashFlow": {
   "fiscalYearEnd": "2026-02-28",
   "operating": 525446000,
   "investing": -91482000,
   "financing": -434122000,
   "capitalSpending": 80776000,
   "free": 444670000,
   "trend": [
    {
     "fiscalYearEnd": "2022-02-28",
     "operating": 86010000,
     "free": 62420000
    },
    {
     "fiscalYearEnd": "2023-02-28",
     "operating": null,
     "free": null
    },
    {
     "fiscalYearEnd": "2024-02-29",
     "operating": 244468000,
     "free": 149349000
    },
    {
     "fiscalYearEnd": "2025-02-28",
     "operating": 249909000,
     "free": 134026000
    },
    {
     "fiscalYearEnd": "2026-02-28",
     "operating": 525446000,
     "free": 444670000
    }
   ],
   "note": "Annual, as filed in 10-K cash flow statements; negative investing/financing = cash going out (capital spending, buybacks, dividends, debt repaid)."
  },
  "investments": {
   "fiscalYearEnd": "2026-02-28",
   "cash": 705000,
   "shortTerm": null,
   "longTerm": null,
   "equityHoldings": null,
   "totalAssets": 2213474000,
   "ladder": null,
   "currentRatio": 1.7,
   "unrealizedGain": null,
   "unrealizedLoss": null,
   "note": "Balance-sheet cash and investment securities at fiscal year end, as filed; short-term = due or saleable within a year. Insurers and banks hold most of their book here."
  }
 },
 "definitions": {
  "operatingMargin": "Operating income divided by revenue.",
  "netMargin": "Net income divided by revenue.",
  "freeCashFlow": "Cash from operations minus spending on property and equipment.",
  "researchShareOfRevenue": "Research and development expense for the year as a share of revenue, both as filed.",
  "equityRatio": "Shareholders equity as a share of total assets, both as filed. Higher means less of the company is owed to someone else.",
  "returnOnEquity": "Net income for the year against shareholders equity at year end.",
  "payoutRatio": "Dividends paid as a share of net income, in the year the cash went out.",
  "dividendYearsRising": "Consecutive years, counted back from the last on record, in which dividend per share rose. A fall ends the run and is reported as dividendCut.",
  "revenueGrowthPerYear": "Compound annual growth between the first and latest fiscal years shown.",
  "credibility": "How much weight a record deserves, in the actuarial sense (ASOP No. 25): more audited years, more weight.",
  "peers": "Medians of SEC filers with $50M+ revenue in the same industry code (SIC), narrowest group with at least 8 filers, calendar-year figures from SEC XBRL frames.",
  "backtest": "The same range method applied to the company's own past years, scored against what it actually reported next. Hindsight, and labelled so.",
  "healthWatch": "Distress-type events the company filed in the last 12 months (late-filing notices; 8-K items 1.03, 3.01, 2.04, 4.02, 4.01, 2.05, 2.06, 1.05, 5.02), each with its count and newest filing. Display only: they do not change the range or its receipt."
 },
 "speedCash": {
  "fiscalYear": 2025,
  "cashConversion": 0.3184,
  "growth3y": 0.0762,
  "volatility": 0.4286,
  "paysDividend": true,
  "raisedDividend": true,
  "equityRatio": 0.5914,
  "quadrant": {
   "code": "fj",
   "label": "Fast and jumpy",
   "plain": "growing faster than its size class, with revenue that swings more"
  },
  "compass": {
   "code": "later",
   "inside": "Turns 31.8% of revenue into operating cash; revenue growing 7.6% a year over three years; pays and raised its dividend.",
   "outside": "Among $1B-10B companies: 84th percentile for cash, 62nd for growth.",
   "emoji": "🌱",
   "label": "Cash cow later",
   "plain": "growing fast, and already turning revenue into cash"
  },
  "band": "$1B-10B",
  "cashPctInClass": 84,
  "growthPctInClass": 62,
  "source": "SEC XBRL frames, the company’s own audited figures; quadrant split at the median of its size class"
 },
 "harbor": {
  "signs": [
   {
    "key": "range",
    "text": "revenue is hard to predict: its 80% range is ±42%"
   }
  ],
  "rule": "Boat condition = number of warning signs: a serious warning filing in 12 months; liabilities over assets; slow and jumpy; negative operating cash; an 80% revenue range of ±25% or wider.",
  "level": 1,
  "name": "Sound ship",
  "plain": "one warning sign"
 },
 "cashFlow": {
  "fiscalYearEnd": "2026-02-28",
  "operating": 525446000,
  "investing": -91482000,
  "financing": -434122000,
  "capitalSpending": 80776000,
  "free": 444670000,
  "trend": [
   {
    "fiscalYearEnd": "2022-02-28",
    "operating": 86010000,
    "free": 62420000
   },
   {
    "fiscalYearEnd": "2023-02-28",
    "operating": null,
    "free": null
   },
   {
    "fiscalYearEnd": "2024-02-29",
    "operating": 244468000,
    "free": 149349000
   },
   {
    "fiscalYearEnd": "2025-02-28",
    "operating": 249909000,
    "free": 134026000
   },
   {
    "fiscalYearEnd": "2026-02-28",
    "operating": 525446000,
    "free": 444670000
   }
  ],
  "note": "Annual, as filed in 10-K cash flow statements; negative investing/financing = cash going out (capital spending, buybacks, dividends, debt repaid)."
 },
 "investments": {
  "fiscalYearEnd": "2026-02-28",
  "cash": 705000,
  "shortTerm": null,
  "longTerm": null,
  "equityHoldings": null,
  "totalAssets": 2213474000,
  "ladder": null,
  "currentRatio": 1.7,
  "unrealizedGain": null,
  "unrealizedLoss": null,
  "note": "Balance-sheet cash and investment securities at fiscal year end, as filed; short-term = due or saleable within a year. Insurers and banks hold most of their book here."
 }
}