Value
8.8/10data confidence 100%| Component | Sub-score |
|---|---|
| P/E | 7.5 |
| P/S | 9.4 |
| EV/EBITDA | 9.2 |
| Fwd P/E | 9.2 |
| PEG | 8.4 |
| Analyst target | 9.0 |
- ▸Forward P/E: 10.5x
- ▸PEG: 0.77
- ▸Attractively valued
Updated
Model-generated analysis — not investment advice. Not a registered investment advisor. Past performance does not guarantee future results.
About TrendMatrix. TrendMatrix is a publisher of general securities research and market commentary. We publish on a regular schedule. All content is the same for every subscriber in a tier — we do not provide personalized investment advice and we do not take into account any individual subscriber's financial situation, investment objectives, risk tolerance, tax situation, or holdings.
Not investment advice. TrendMatrix is not a registered investment adviser. Our content is for informational and educational purposes only. Consult your own licensed investment adviser, broker, or tax professional before making any investment decision.
Conflicts and positions. The TrendMatrix editorial team frequently holds personal long-term positions in securities discussed. We disclose positions held at the time of publication on each piece. We maintain a trading-window policy: we do not initiate or close positions in the same direction as a TrendMatrix publication within 24 hours before or 72 hours after publication.
No paid promotion. TrendMatrix does not accept payment from any issuer, broker, or third party in exchange for coverage of any security. Our sole compensation is subscription revenue.
No fiduciary duty. No fiduciary, advisory, or agency relationship is created between you and TrendMatrix by reading our content or subscribing to our service.
Performance. Past performance is not indicative of future results. Performance figures reflect the published model only and do not reflect any individual subscriber's actual results.
Trading at a forward P/E of 10.9x with a PEG below 1, the stock offers value pricing for its growth profile — three of the past four quarters have beaten consensus estimates with an average positive surprise above 22%, free cash flow has converted at 147% of net income, and analyst consensus implies roughly 35% upside to the current price.
Falsifiable statement — pillar-level invalidators below. Engine-derived; not personalized advice.
| Pillar | Expectation | Trend |
|---|---|---|
The shares trade at a forward P/E of 10.9x and a PEG ratio of 0.81, making them attractively priced for the growth on offer, while analyst consensus implies roughly 35% upside to the consensus target from the current price of $47.06. Valuation breakdown | Share price closes above $55 within 9 months, representing meaningful progress toward the analyst consensus target of $63.63. | →Stable |
| CounterA low multiple can reflect persistent structural uncertainty in the operating environment that prevents re-rating; if that uncertainty is unresolvable, the valuation discount could widen rather than close. | ||
Although the stock trades below its 200-day moving average, that average is still rising at roughly +0.9% per month — a pullback within an ongoing uptrend rather than a confirmed breakdown. Volume accumulation via a rising OBV and an improving MACD support a recovery interpretation. Momentum breakdown | Price crosses and closes above the 200-day moving average and sustains that position for at least 10 consecutive trading days within 6 months. | →Stable |
| CounterA recovery setup that fails to reclaim the 200-day moving average within a reasonable window would reclassify the pullback as a more lasting downtrend, negating the uptrend thesis entirely. | ||
Free cash flow has converted at 147% of net income, the business carries a perfect Piotroski F-Score of 9 out of 9, and the quality assessment notes a wide economic moat — together pointing to a financially sound franchise generating substantially more cash than its reported earnings alone reflect. Quality breakdown | Free cash flow conversion relative to net income stays above 100% for the next 2 reported fiscal periods. | →Stable |
| CounterIf competitive conditions in education and training services intensify or regulatory changes narrow the economic moat, margins and cash generation could compress faster than the current quality scores imply. | ||
Three of the past four quarters have beaten consensus estimates, with the average positive surprise exceeding 22%. This consistency indicates the business has been performing ahead of analyst expectations across multiple reporting periods. Earnings | Average quarterly EPS surprise remains positive over the next 12 months, with at least 3 of the next 4 quarters beating consensus estimates. | →Stable |
| CounterThe single miss in the streak came in at -2.46% in the quarter with the highest estimate, suggesting results can turn negative when expectations are elevated and that the beat pattern is not immune to periodic shortfalls. | ||
CounterA low multiple can reflect persistent structural uncertainty in the operating environment that prevents re-rating; if that uncertainty is unresolvable, the valuation discount could widen rather than close.
CounterA recovery setup that fails to reclaim the 200-day moving average within a reasonable window would reclassify the pullback as a more lasting downtrend, negating the uptrend thesis entirely.
CounterIf competitive conditions in education and training services intensify or regulatory changes narrow the economic moat, margins and cash generation could compress faster than the current quality scores imply.
CounterThe single miss in the streak came in at -2.46% in the quarter with the highest estimate, suggesting results can turn negative when expectations are elevated and that the beat pattern is not immune to periodic shortfalls.
| Component | Sub-score |
|---|---|
| P/E | 7.5 |
| P/S | 9.4 |
| EV/EBITDA | 9.2 |
| Fwd P/E | 9.2 |
| PEG | 8.4 |
| Analyst target | 9.0 |
| Component | Sub-score |
|---|---|
| ROE | 3.6 |
| ROA | 3.2 |
| Gross margin | 7.0 |
| Op margin | 5.1 |
| Net margin | 3.9 |
| Current ratio | 6.0 |
| FCF quality | 9.9 |
| Moat | 7.9 |
| Piotroski F | 10.0 |
| Component | Sub-score |
|---|---|
| Rev growth | 7.5 |
| EPS growth | 10.0 |
| Component | Sub-score |
|---|---|
| RSI | 3.5 |
| MACD | 8.4 |
| OBV | 1.0 |
| MA position | 2.2 |
| Volume | 0.0 |
| Component | Sub-score |
|---|---|
| Analyst rating | 7.5 |
| Price target | 9.7 |
| erm sentiment | 5.0 |
| Component | Sub-score |
|---|---|
| value rank | 5.9 |
| quality rank | 3.4 |
| growth rank | 8.0 |
| Component | Sub-score |
|---|---|
| bollinger | 9.2 |
| support resistance | 9.4 |
| 52w position | 3.9 |
| gap | 6.0 |
| Component | Sub-score |
|---|---|
| short interest | 8.5 |
| days to cover | 5.2 |
| volatility | 5.7 |
| put call | 0.0 |
| implied vol | 6.4 |
| max pain risk | 7.0 |
| beta | 10.0 |
| debt equity | 9.3 |
| Component | Sub-score |
|---|---|
| erm | 5.0 |
| earnings history | 6.7 |
| earnings timing | 5.0 |
| surprise avg | 10.0 |
| dividend safety | 6.0 |
Maintain position. Not compelling to add more.
L4:PATH_F_HOLDnone
SetupUNKNOWN — No clear chart pattern; technical signals are mixed
EdgeNO_EDGE — No clear edge identified
SuitabilityMODERATE — Balanced profile
None of the engine's positive-conviction paths (C-quality, D-momentum) triggered — the F-path HOLD reflects balanced signals. Strongest-cleared gate: ASYMMETRY:7.9>=1.5. Top dim: Value at 8.8; weakest: Momentum at 3.0. No conviction either direction.
The strongest dimensions are Value at 8.8, Growth at 8.8, and Sentiment at 7.5; the weakest are Momentum at 3.0, Peer rank at 4.3, and Insider at 5.0. The V9 engine flagged 1 failed gate, producing an asymmetric reward-to-risk of 7.89 and an engine sizing output of AVOID.
Falsifying conditions — when triggered, the corresponding pillar's thesis is invalidated.
Trip ifAverage EPS surprise falls below 0% for 2 consecutive quarters.
Trip ifAnalyst consensus target is cut below $52 (less than 10% above the current price of $47.06), eliminating the margin of safety.
Trip ifFree cash flow conversion falls below 80% of net income for 2 consecutive reported periods.
Trip ifThe 200-day moving average slope turns negative (below 0% per 30 days) while price remains below it for more than 30 consecutive trading days.