Elimination filters are the first stage of the pipeline. They are binary -- pass or fail. One failure eliminates the stock from scoring entirely.
This is deliberate: no amount of scoring sophistication can rescue a fundamentally distressed company. A stock with manipulated earnings or persistent cash burn will produce unreliable factor scores downstream, so the engine removes it before wasting compute on expensive scoring calculations.
Note
All six filters run regardless of earlier failures. If a stock fails filter #2, filters #3 through #6 still execute. This gives you a complete diagnostic picture -- every reason a stock was eliminated, not just the first one encountered.
A stock must pass all six filters to proceed to dual-track scoring. There are no partial passes and no overrides.
1. Earnings Quality (Beneish M-Score)
Detects earnings manipulation. Companies with artificially inflated earnings are excluded.
The Beneish M-Score is a probabilistic model that uses eight financial ratio indexes to identify whether a company has manipulated its reported earnings. Each index captures a different dimension of financial statement distortion -- from revenue recognition timing to asset quality deterioration.
Threshold: M-Score > -1.78 signals likely manipulation and fails the filter. Scores at or below -1.78 pass.
The eight variables each measure a specific year-over-year change in financial characteristics:
| Variable | Name | What It Measures |
|----------|------|------------------|
| DSRI | Days Sales in Receivables Index | Whether receivables are growing faster than revenue (revenue inflation) |
| GMI | Gross Margin Index | Whether gross margins are deteriorating (pressure to manipulate) |
| AQI | Asset Quality Index | Whether the proportion of non-hard assets is growing (capitalizing expenses) |
| SGI | Sales Growth Index | Revenue growth rate (high-growth firms face more manipulation pressure) |
| DEPI | Depreciation Index | Whether depreciation rates are slowing (inflating asset values) |
| SGAI | SG&A Index | Whether selling/admin costs are disproportionate to revenue |
| TATA | Total Accruals to Total Assets | Gap between reported earnings and cash flow (the strongest single indicator) |
| LVGI | Leverage Index | Whether leverage is increasing (debt covenant pressure to manipulate) |
Why -1.78? Beneish's original research established -1.78 as the threshold where the probability of manipulation becomes statistically significant. At this cutoff, the model correctly identified a high percentage of SEC enforcement cases while maintaining an acceptable false positive rate.
The engine computes M-Scores for all available periods and detects deteriorating trends. If scores are moving toward the threshold over consecutive periods, a warning flag is raised even if the current score still passes.
Citation: Beneish, M.D. (1999). "The Detection of Earnings Manipulation." Financial Analysts Journal, 55(5), 24-36.
2. Financial Distress (Altman Z-Score)
Predicts bankruptcy probability. Companies in the distress zone are excluded.
The engine uses the Z'' (Z-double-prime) variant, which is designed for non-manufacturing and emerging-market companies. It removes the sales/assets ratio from the original model, making it applicable across sectors.
Threshold: Z-Score < 1.1 indicates the distress zone and fails the filter. Scores at or above 1.1 pass.
The Z'' Score divides companies into three zones:
| Zone | Z'' Score | Interpretation |
|------|-----------|----------------|
| Safe | > 2.6 | Low probability of bankruptcy |
| Grey | 1.1 - 2.6 | Elevated risk, warrants monitoring |
| Distress | < 1.1 | High probability of financial distress |
The filter eliminates only distress zone companies (below 1.1). Grey zone companies pass the filter but may receive lower scores in downstream scoring factors.
Component ratios:
WC/TA (Working Capital / Total Assets) -- Measures short-term liquidity relative to firm size
RE/TA (Retained Earnings / Total Assets) -- Captures cumulative profitability and firm age
EBIT/TA (EBIT / Total Assets) -- Operating productivity independent of tax and leverage
Equity/TL (Total Equity / Total Liabilities) -- Solvency ratio measuring how much asset value can decline before liabilities exceed assets
Utilities are exempt. Regulated utilities operate with structurally high leverage by design. Applying a standard Z-Score threshold to their capital structure would incorrectly eliminate healthy, regulated companies. The engine skips this filter entirely for the Utilities sector.
When total liabilities are zero (rare but possible), the Equity/TL ratio is capped at 10.0 to prevent a single extreme ratio from dominating the composite score.
Citation: Altman, E.I. (1968). "Financial Ratios, Discriminant Analysis and the Prediction of Corporate Bankruptcy." The Journal of Finance, 23(4), 589-609.
3. Short-Term Liquidity (Current Ratio)
Checks if the company can pay its near-term bills. A low current ratio means the company may struggle to meet short-term obligations as they come due.
Companies at or below their sector threshold fail the filter.
Why sector-adjusted thresholds? Capital-intensive regulated industries (like utilities) routinely operate with lower current ratios because their revenue streams are predictable and regulated. Applying a single threshold across all sectors would eliminate healthy utility companies.
The Technology threshold was calibrated at 0.8 rather than a higher value because mega-cap tech companies with aggressive share buyback programs (like Apple, with a current ratio around 0.87) would otherwise be incorrectly eliminated despite strong fundamentals.
Multi-year analysis: The engine computes the median current ratio over the 3 most recent annual periods, smoothing out temporary fluctuations.
Quick ratio rescue: If the median current ratio falls below the threshold but the most recent period's quick ratio (cash + receivables / current liabilities) exceeds 0.5, the stock passes with a warning flag. This prevents eliminating companies whose low current ratio is driven by high inventory rather than genuine liquidity stress.
Decline guard: If the current ratio has declined more than 30% from the oldest to newest period in the lookback window, a warning is raised regardless of whether the absolute threshold is met. Rapid deterioration in liquidity often precedes distress.
Citation: Beaver, W.H. (1966). "Financial Ratios As Predictors of Failure." Journal of Accounting Research, 4, 71-111.
4. Debt Service (Interest Coverage)
Checks if the company earns enough to service its debt. Low interest coverage means the company barely generates enough operating income to pay interest, increasing default risk during economic downturns.
The engine uses a 3-year median for stability, smoothing out one-off spikes or dips in either EBIT or interest expense.
Companies at or below their sector threshold fail the filter.
Technology (5.0x): High-margin, asset-light businesses should easily cover their (typically modest) interest expense. A tech company struggling to maintain 5x coverage likely has margin or revenue problems that make it a poor investment candidate.
Utilities (1.2x): Regulated utilities carry significant debt by design -- their capital-intensive infrastructure is financed through long-term debt with predictable servicing schedules. A 1.2x threshold reflects the reality that even healthy utilities operate with structurally higher leverage.
Default (1.5x): Most sectors operate between these extremes. A 1.5x minimum ensures the company has meaningful headroom above a 1:1 breakeven on debt service.
Automatic fail on negative EBIT: If the most recent period shows negative EBIT (operating loss) while the company has outstanding interest expense, the filter fails immediately regardless of the median. An operating loss with debt obligations is an acute distress signal.
Trend guard: If the most recent period's interest coverage is more than 20% below the median, a warning is raised. This flags companies where debt service capacity is deteriorating even if the median still clears the threshold.
Companies with zero interest expense (no debt) automatically pass -- there is no debt service obligation to evaluate.
Citation: Ohlson, J.A. (1980). "Financial Ratios and the Probabilistic Prediction of Bankruptcy." Journal of Accounting Research, 18(1), 109-131.
5. Cash Flow Health (FCF Distress)
Requires at least 3 of the last 5 years with positive free cash flow. Persistent cash burn is disqualifying -- it increases dilution risk and limits capital return to shareholders.
This filter does not use a ratio formula. It counts the number of annual periods with positive free cash flow (operating cash flow minus capital expenditures) across the most recent 5-year window.
Thresholds:
Positive year count: At least 3 of 5 years must show FCF >= 0
FCF margin floor: Median FCF margin (FCF / revenue) must be >= -5%
Positive trend rescue: If a company fails the 3-of-5 count but its FCF has been improving for 2 or more consecutive years, the filter passes with a warning. This prevents eliminating companies that are clearly on a recovery trajectory.
Cyclical sector relaxation: Companies in cyclical sectors (Energy, Materials, Industrials, Consumer Discretionary) use a relaxed threshold of 2-of-5 positive years instead of 3-of-5. Cyclical businesses are expected to have negative FCF during trough years -- penalizing them equally would create systematic sector bias.
Growth stock adjustment: Stocks classified as Growth style use a relaxed requirement of 2-of-5 positive years. An additional rescue path exists: if the latest period has positive operating cash flow and the median gross margin exceeds 40%, the stock passes with a warning. This accommodates high-growth companies that are reinvesting aggressively but have a viable business model.
FCF margin floor at -5%: Even with all rescue paths, a company whose median FCF margin is below -5% fails unconditionally. This prevents companies with structural cash burn from sneaking through via the trend rescue or cyclical relaxation.
How this affects startups and recently IPO'd companies: Companies with fewer than 5 years of financial history are evaluated on however many years are available. This means a company with only 2 years of data needs both to show positive FCF -- a stricter effective requirement. The liquidity filter's 5-year history minimum partially mitigates this by excluding very young companies.
Citation: Richardson, S.A., Sloan, R.G., Soliman, M.T., & Tuna, I. (2005). "Accrual Reliability, Earnings Persistence and Stock Prices." Journal of Accounting and Economics, 39(3), 437-485.
6. Liquidity (Market Cap & Volume)
Ensures the stock can be traded efficiently. Illiquid stocks create execution risk -- wide bid-ask spreads, high slippage, and difficulty exiting positions make even a well-scored company uninvestable.
This filter has multiple sub-checks. A stock must pass all of them.
Minimum market capitalization (sector-adjusted):
| Sector | Minimum Market Cap |
|--------|-------------------|
| Utilities | $1B |
| Energy | $500M |
| All others | $300M |
Minimum daily dollar volume (60-day window, tiered by market cap):
| Market Cap Tier | Minimum Daily Dollar Volume |
|----------------|----------------------------|
| Mega Cap (>$200B) | $50M |
| Large Cap ($10B-$200B) | $20M |
| Mid Cap ($2B-$10B) | $5M |
| Small Cap (<$2B) | $2M |
Additional requirements:
At least 5 years of trading history
Sectors Financials and Real Estate are excluded in the current version
Beyond the basic market cap and volume floors, the engine performs two additional liquidity assessments when daily price bar data is available:
Position sizing check: Can a $500,000 position be filled within 5 trading days at a 5% daily participation rate? This simulates real-world execution constraints. If the stock's median daily dollar volume is too low to fill a modest position without dominating the tape, it fails.
Divergence ratio: The engine compares 90-day median dollar volume to 20-day median dollar volume. If the ratio exceeds 3.0, recent volume has dropped sharply relative to the longer-term baseline. This flags stocks where liquidity may be evaporating -- a leading indicator of execution risk.
Why Financials and Real Estate are excluded: These sectors have fundamentally different balance sheet structures. Bank assets (loans), insurance float, and REIT property portfolios do not map cleanly to the standard financial ratios used by other elimination filters (current ratio, Z-Score, FCF). Rather than produce misleading filter results, the engine excludes them. This is a known limitation that may be addressed with sector-specific filter variants in a future release.
Citation: Amihud, Y. (2002). "Illiquidity and Stock Returns: Cross-Section and Time-Series Effects." Journal of Financial Markets, 5(1), 31-56.
What Happens After Filters
Stocks that pass all six elimination filters proceed to dual-track scoring, where they are evaluated as both Compounder candidates (steady growth compounding) and Mispricing candidates (undervalued relative to intrinsic worth). See the How Scoring Works guide for the full scoring pipeline.
Known Limitations
Sector-adjusted thresholds may not perfectly fit every sub-industry. The engine uses GICS sector-level adjustments, but within a sector like Industrials there is wide variation between capital-light consulting firms and capital-intensive manufacturers. Sub-industry calibration is planned but not yet implemented.
REITs and financial companies are entirely excluded. Their capital structures trigger false positives across multiple filters. Sector-specific filter variants are needed to evaluate these companies fairly.
Newly IPO'd companies may lack sufficient history. The 5-year trading history requirement and multi-year financial lookbacks mean companies with less history are either excluded outright or evaluated on a smaller data window, which increases false positive risk.
Filter thresholds are reviewed periodically but not dynamically adjusted. Thresholds are based on academic research and calibrated against historical data, but they do not adapt to changing market conditions in real time. A threshold that works well in normal markets may be too strict or too lenient during unusual regimes.
Utilities Z-Score exemption is all-or-nothing. Rather than applying a modified threshold for utilities, the engine skips the Z-Score filter entirely. This means a utility company in genuine distress could pass the Z-Score check by exemption, though other filters (interest coverage, current ratio) would likely catch it.