Cookies show us what works. Privacy
Cookies show us what works. Privacy
13 funds hold it · 16 straight earnings beats
No insider open-market trades in 90 days (SEC Form 4). Congress: no trades disclosed in 180 days.
Analyst target and ratings are on paid plans
Unlock the full resultsLast report
Nov 6, 2026
Period ending
Sep 30, 2026
Earnings per share
$0.47 expected
Estimates as of Nov 11, 2026
EPS expected
$0.49 to $0.67
Revenue expected
8 analysts
Last 30 days
Analysts raising estimates
Estimate drift
Change in 30 days
| Quarter / reported | Earnings per share | Beat or miss | Revenue / income | Revenue vs last year |
|---|---|---|---|---|
| Sep 30, 2026Reported Nov 6, 2026 | $0.55est. $0.47 | +17.74%beat | $70.3MSEC filing | +14.1%from $61.6M |
| Jun 30, 2026Reported Aug 7, 2026 | $0.35est. $0.29 | +22.04%beat | $68.7MSEC filing | +13.0%from $60.7M |
| Mar 31, 2026Reported May 8, 2026 | $0.34est. $0.35 | -2.19%miss | $65.6MSEC filing | +14.5%from $57.3M |
| Dec 31, 2025Reported Feb 27, 2026 | $0.45est. $0.36 | +26.26%beat | $63.0MYahoo Finance | No year-ago quarter |
| Sep 30, 2025Reported Nov 7, 2025 | $0.34est. $0.33 | +3.03%beat | $61.6MSEC filing | +11.2%from $55.4M |
| Jun 30, 2025Reported Aug 8, 2025 | $0.29est. $0.22 | +31.82%beat | $60.7MSEC filing | No year-ago quarter |
| Mar 31, 2025Reported May 9, 2025 | $0.27est. $0.22 | +22.73%beat | $57.3MSEC filing | +11.5%from $51.4M |
| Dec 31, 2024Reported Feb 28, 2025 | $0.28est. $0.26 | +7.69%beat | $216.9M · FYSEC filing | No year-ago quarter |
Earnings per share comes from Yahoo Finance where available, then Alpha Vantage or the company release. Revenue comes from company releases, SEC filings, Alpha Vantage or Yahoo Finance. A beat or miss needs an analyst estimate on the same basis as the reported figure, so quarters without one show none. Non-USD amounts carry their currency code.
Reasonably priced and profitable.
Valuation
Quality
Growth
This stock is in a strong uptrend.
Trend
Strong uptrend
100 / 100
RSI 14
20D volatility
52-week range
20D support
20D resistance
Returns
Price vs moving averages
Volume pace