Value
5.5/10data confidence 100%| Component | Sub-score |
|---|---|
| P/E | 1.5 |
| P/S | 9.3 |
| EV/EBITDA | 2.3 |
| Fwd P/E | 5.6 |
| PEG | 10.0 |
| Analyst target | 3.0 |
- ▸Forward P/E: 23.0x
- ▸PEG: 0.01
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.
| Pillar | Expectation | Trend |
|---|---|---|
Four consecutive earnings beats with an average surprise of roughly 229% — including a beat of nearly 800% in one quarter — indicate the company has been consistently outperforming depressed expectations by a wide margin. Catalyst breakdown | Over 12 months, the company will extend its beat streak for at least two more quarters, with each actual result materially exceeding the prior consensus estimate. | →Stable |
| CounterAverage surprise figures of this magnitude are almost entirely a function of very low initial consensus estimates in a recovery; as estimates reset higher to reflect the improved baseline, the beat streak will become harder to maintain and future surprises will be structurally smaller. | ||
A 9/9 Piotroski F-Score and positive free cash flow margin of 11% with a 7.3% FCF yield demonstrate that the company's balance sheet and cash generation are passing all major financial health tests simultaneously. Quality breakdown | Over 12 months, the Piotroski score will remain at 8 or above and free cash flow will continue to be positive, supporting the company's ability to service obligations without external financing. | →Stable |
| CounterBelow-average profitability metrics across return on equity and return on assets suggest that while the balance sheet is clean, the business is not yet generating returns above the cost of capital — financial health and economic value creation are different measures. | ||
The stock has formed a golden cross, is trading above all key moving averages, and shows volume accumulation via a rising on-balance volume — a technically confirmed uptrend that favors price continuation. Momentum breakdown | Over 12 months, the 200-day moving average will remain positively sloped and the stock will continue to set higher lows, consistent with a sustained uptrend. | →Stable |
| CounterThe RSI is approaching 69 — near overbought territory — and the stock is within roughly 2% of resistance, which historically increases the probability of a short-term pullback before any resumption of the trend. | ||
At current prices the stock sits only about 2.2% below its near-term resistance target of $17.46, meaning the available reward at this entry is thin relative to the downside of roughly 17% to the $14.17 stop reference. Price targets | Over 12 months, if the stock cannot break and hold above $17.46, it will consolidate or retrace, and the optimal entry will emerge on a pullback toward the $15.24 support level. | →Stable |
| CounterA high-conviction catalyst — such as a further earnings beat or a positive news event — could push the stock cleanly through resistance, in which case the thin upside to $17.46 understates the actual move available. | ||
CounterAverage surprise figures of this magnitude are almost entirely a function of very low initial consensus estimates in a recovery; as estimates reset higher to reflect the improved baseline, the beat streak will become harder to maintain and future surprises will be structurally smaller.
CounterBelow-average profitability metrics across return on equity and return on assets suggest that while the balance sheet is clean, the business is not yet generating returns above the cost of capital — financial health and economic value creation are different measures.
CounterThe RSI is approaching 69 — near overbought territory — and the stock is within roughly 2% of resistance, which historically increases the probability of a short-term pullback before any resumption of the trend.
CounterA high-conviction catalyst — such as a further earnings beat or a positive news event — could push the stock cleanly through resistance, in which case the thin upside to $17.46 understates the actual move available.
A perfect four-quarter earnings beat streak with an extraordinary average surprise magnitude, a technically confirmed uptrend, and a 9/9 Piotroski score signal that the underlying business is in sound health — the setup favors holding an existing position but the stock has closed most of the gap to near-term resistance, limiting the case for adding aggressively.
Falsifiable statement — pillar-level invalidators below. Engine-derived; not personalized advice.
| Component | Sub-score |
|---|---|
| P/E | 1.5 |
| P/S | 9.3 |
| EV/EBITDA | 2.3 |
| Fwd P/E | 5.6 |
| PEG | 10.0 |
| Analyst target | 3.0 |
| Component | Sub-score |
|---|---|
| ROE | 0.7 |
| ROA | 1.3 |
| Gross margin | 4.6 |
| Op margin | 8.0 |
| Net margin | 0.0 |
| Current ratio | 7.8 |
| FCF quality | 6.0 |
| Moat | 5.8 |
| Piotroski F | 10.0 |
| Component | Sub-score |
|---|---|
| Rev growth | 4.8 |
| Component | Sub-score |
|---|---|
| RSI | 5.0 |
| MACD | 7.6 |
| OBV | 1.0 |
| MA position | 9.0 |
| Volume | 1.5 |
| Component | Sub-score |
|---|---|
| Analyst rating | 7.0 |
| Price target | 5.4 |
| erm sentiment | 4.7 |
| Component | Sub-score |
|---|---|
| materiality | 4.5 |
| insider conviction | 2.0 |
| holder change | 5.4 |
| Component | Sub-score |
|---|---|
| value rank | 2.9 |
| quality rank | 1.5 |
| growth rank | 4.3 |
| Component | Sub-score |
|---|---|
| bollinger | 3.4 |
| support resistance | 2.3 |
| 52w position | 8.9 |
| Component | Sub-score |
|---|---|
| short interest | 7.5 |
| days to cover | 8.2 |
| volatility | 2.7 |
| put call | 10.0 |
| implied vol | 4.3 |
| beta | 7.4 |
| debt equity | 8.7 |
| Component | Sub-score |
|---|---|
| erm | 5.0 |
| earnings history | 10.0 |
| earnings timing | 5.0 |
| surprise avg | 10.0 |
Multiple concerning factors. Consider reducing position.
L4:PATH_F_SELLSetupBreakout — Golden cross, above all MAs, RSI 64, MACD bullish
EdgeNo clear edge — No clear edge identified
SuitabilityAggressive — MCap $3.3B<$5B
The F-path SELL output reflects an overall score of 5.0 below the 5.6 soft trigger — multiple weakening dimensions accumulated rather than a single hard-floor breach. The strongest dimension ( Catalyst at 7.5) was not enough to lift the adjusted overall above the threshold. Co-occurring failed gates ( ASYMMETRY:-0.7=NEGATIVE) reinforce the read. Current asymmetry R:R is -0.70 — supplementary context, not the trigger for this path.
The strongest dimensions are Catalyst at 7.5, Risk (lower is worse) at 7.0, and Sentiment at 5.8; the weakest are Peer rank at 3.4, Insider at 4.0, and Momentum at 4.8. The V9 engine flagged 1 failed gate with 1 warning, producing an asymmetric reward-to-risk of -0.70 and an engine sizing output of AVOID.
Falsifying conditions — when triggered, the corresponding pillar's thesis is invalidated.
Trip ifEPS surprise falls below 0% for 2 consecutive quarters, breaking the four-quarter beat streak.
Trip if200-day moving average slope turns negative and price closes below the 200-day MA for 5 consecutive trading days, reversing the confirmed uptrend.
Trip ifPiotroski F-Score falls below 6 for 2 consecutive quarters, indicating a broad deterioration in financial health.
Trip ifStock retraces below $15.24 for 5 consecutive trading days, resetting the upside to the $17.46 resistance target to more than 14%.