CANSLIM is William O'Neil's seven-factor stock selection method — Current earnings, Annual earnings, New products/highs, Supply and demand, Leader or laggard, Institutional sponsorship, and Market direction — designed to identify growth stocks before major price advances.
CANSLIM is an acronym where each letter represents one pillar of O'Neil's stock selection process. What makes it enduringly useful is that it integrates fundamentals and technicals into a single framework. It does not ask you to choose between chart reading and financial analysis — it demands both. O'Neil's own research, based on studying every top-performing stock from the 1880s through the 2000s, showed that the biggest winners almost always exhibited the CANSLIM characteristics before their major advances.
This article explains each letter, the quantitative thresholds behind it, and how the scanner implements each criterion.
CANSLIM combines fundamental strength (C, A, N) with technical timing (L, I, M). Running only the fundamental screen misses the timing edge, and running only the technical screen misses the quality filter.
The seven criteria, letter by letter
Current quarterly earnings per share
The most recent quarterly earnings per share should show at least a 25% increase compared to the same quarter one year ago. O'Neil found that among the greatest stock market winners, 75% showed an earnings increase of at least 70% in the most recent quarter before their major price advance. The 25% floor is the minimum — the higher, the better.
This is not about absolute earnings size. A company earning $0.10 per share that grows to $0.15 shows 50% growth and qualifies. The emphasis is on the rate of change, because acceleration in earnings growth often precedes acceleration in stock price. One-time gains (asset sales, tax adjustments) should be excluded. You want operating earnings growth, not accounting adjustments.
Annual earnings growth
Annual earnings per share should show meaningful growth over the last three to five years, with a minimum threshold of 25% annual growth. This criterion filters out companies that had one good quarter but lack a sustained growth trajectory.
O'Neil emphasized that the combination of strong annual growth and accelerating quarterly growth is particularly powerful. A company that has grown earnings at 30% annually for three years and just reported a quarter with 50% growth is demonstrating acceleration, which is the ideal setup. Conversely, a company with a strong recent quarter but flat or declining annual earnings may be experiencing a one-time event, not a structural improvement.
New products, new management, or new price highs
Something new must be driving the company's growth. This could be a new product or service, a change in management that brings a turnaround, a new industry condition, or simply the stock making a new price high after emerging from a proper base pattern.
The "new price high" component is counterintuitive for most investors. People instinctively want to buy stocks that are "cheap" or "on sale." O'Neil's research showed the opposite: stocks making new highs out of sound bases tend to go higher, while stocks making new lows tend to go lower. The new high signals that all the selling pressure from prior holders has been absorbed, and the stock is entering new territory where there is no overhead supply.
Supply and demand
This criterion evaluates shares outstanding, trading volume, and the dynamics of supply and demand. O'Neil observed that stocks with smaller capitalizations (fewer shares outstanding) tended to produce larger price moves because less buying pressure is needed to drive the stock higher.
More practically, what matters is volume at key moments. On a breakout day, you want to see volume surge to at least 50% above its 50-day average. This surge confirms that demand is overwhelming supply at the breakout point. During the base formation leading up to the breakout, you want to see several days of above-average volume on up days (accumulation) and below-average volume on down days (lack of selling pressure).
Leader or laggard?
O'Neil insisted on buying market leaders, not laggards. The measure he used is relative strength (RS) ranking: the stock's price performance over the past 12 months compared to all other stocks. He required a minimum RS ranking of 80, meaning the stock is outperforming at least 80% of the market.
This is a demanding filter. In a universe of 1,900 stocks, only about 380 pass the RS 80 threshold at any given time. But O'Neil's data showed that virtually all of the biggest stock market winners had an RS ranking of 80 or higher before they began their major advances. Buying laggards in the hope they will "catch up" is one of the most common mistakes in growth investing. Leaders lead, and laggards lag — usually all the way to the bottom.
Institutional sponsorship
A stock should have at least some institutional ownership (mutual funds, pension funds, endowments), and that ownership should be increasing. Institutional buyers are the engine behind sustained advances because they buy in large quantities over extended periods. A stock with zero institutional sponsorship lacks the buying power needed for a multi-month advance.
However, too much institutional ownership can be a problem. A stock that is already owned by every major fund has limited potential new demand. The ideal scenario is a stock with a moderate and growing number of institutional sponsors, especially high-quality growth funds with strong track records. The scanner tracks quarter-over-quarter changes in institutional ownership to identify stocks in the accumulation phase.
Market direction
This may be the most important letter, and it has nothing to do with the individual stock. O'Neil estimated that three out of four stocks follow the general market's direction. When the market is in a confirmed uptrend, breakouts work. When the market is in a correction or bear phase, even the best setups fail at a much higher rate.
Determining market direction requires tracking the major indices (S&P 500, Nasdaq Composite) for distribution days (sessions where the index falls on above-average volume, signaling institutional selling). A cluster of four to five distribution days within a few weeks is often a warning that the uptrend is weakening. Conversely, a follow-through day — a major index rallying at least 1.5% on increased volume on day four or later of an attempted rally — signals that a new uptrend may be beginning.
The scanner incorporates market breadth analysis, tracking the number of stocks making new highs versus new lows, the percentage of stocks above their 50-day and 200-day moving averages, and the distribution day count for the major indices. This context is surfaced alongside individual stock results, so you always know whether the market environment supports or undermines the setups you are seeing.
Automating each CANSLIM criterion
Manually checking seven criteria across thousands of stocks is impractical. Here is how each letter translates into a programmable filter and where the automation pitfalls lie.
Automating C and A: earnings data
Earnings data comes from quarterly 10-Q and annual 10-K filings. The challenge is normalization. Companies report GAAP earnings, but growth investors care about operating earnings stripped of one-time charges, restructuring costs, and tax windfalls. A naive screen that uses headline EPS will flag companies that sold a division (one-time gain) or took a write-down (one-time loss). The fix is to use adjusted or operating EPS from a data provider that has already done the normalization, or to build exclusion rules for items flagged as non-recurring in the filing.
Earnings acceleration is harder to automate than earnings growth. You need to compare the growth rate this quarter to the growth rate last quarter, not just the absolute number. A stock with 30% EPS growth this quarter and 15% last quarter is accelerating. A stock with 30% both quarters is consistent but not accelerating. The scanner tracks the quarter-over-quarter change in the year-over-year growth rate to capture this dynamic.
Automating N: new highs from proper bases
The simplest version of the N filter is a price proximity check: is the stock within some percentage of its 52-week high? But O'Neil's concept is more nuanced than that. He wanted stocks making new highs after emerging from a sound base, not stocks that have been grinding higher for months without a correction. Automating this properly requires base detection: identifying whether the stock consolidated in a pattern such as a volatility contraction pattern for at least three to five weeks before making its new high. A stock that has gone straight up for 12 weeks without pulling back is extended, not emerging from a base.
Automating S: accumulation versus distribution
The supply-and-demand criterion requires tracking up-volume versus down-volume over a rolling window. The standard approach is to classify each day as an up day (close above prior close) or a down day and then sum the volume for each category over the past 50 sessions. An accumulation ratio above 1.0 means more volume has flowed on up days than down days, which signals net institutional buying. The scanner computes this ratio daily and flags stocks where accumulation is accelerating.
Automating L: relative strength ranking
Relative strength ranking requires comparing every stock's price performance against the full universe. This is not a simple calculation for a single stock -- it is a cross-sectional ranking that must be recomputed daily. The standard approach weights 12-month performance at 40%, 6-month at 30%, 3-month at 20%, and 1-month at 10%, then ranks all stocks from 1 to 99. For a deeper look at how this ranking works, see relative strength stock ranking. The weighting toward longer timeframes ensures that a stock does not spike into the top rankings from a single-week move. SwingTradeScanner computes this ranking across the full US equity universe after each session.
Automating I: institutional sponsorship trends
Institutional ownership data comes from 13F filings, which are reported quarterly with a 45-day delay. This means the data is always somewhat stale. The scanner tracks the number of institutional holders and total shares held at each quarterly filing, then computes the quarter-over-quarter change. A stock where the holder count increased by 10% or more and total shares held increased is flagged as being in the accumulation phase. The delay in reporting means you are seeing where institutions were, not where they are, but the trend is still informative.
Common mistakes when applying CANSLIM
Even traders who understand the CANSLIM framework make errors in its application. These are the most frequent mistakes and how to avoid them.
Screening only on fundamentals
The most common mistake is running the C and A filters but skipping the technical criteria (L, S, N). This produces a list of companies with strong earnings growth but no regard for price action or timing. A company can grow earnings at 40% per year and still be in a Stage 4 downtrend if the market has already priced in that growth and begun to rotate away. The SEPA trend template provides the technical confirmation that CANSLIM's L and N criteria are designed to capture.
Ignoring the M criterion
Many traders treat M as optional or aspirational. It is neither. O'Neil estimated that 75% of stocks follow the general market direction. Running a CANSLIM screen and acting on the results during a market correction is the fastest way to accumulate losses. The M criterion is the master switch: when it is off, the other six letters do not matter. Checking market breadth before acting on any scan results is a non-negotiable step.
Using stale earnings data
Earnings data changes quarterly, but many traders set up their screen once and never update the data source. A stock that passed the C criterion two months ago may have reported a disappointing quarter since then. The scanner refreshes earnings data after each reporting cycle, but traders using manual spreadsheets or static screeners need to verify that their data reflects the most recent quarter.
Buying extended stocks
A stock can pass all seven CANSLIM criteria and still be a poor buy if it is already 15% or more above its last proper buy point. CANSLIM identifies what to buy, but it does not automatically identify when to buy. The buy point is typically the high of the handle in a cup-with-handle pattern, or the high of the right side of a flat base. Buying a stock that passed the screen two weeks ago, after it has already broken out and run, defeats the purpose of the timing element. Combining CANSLIM with breakout scanning ensures you catch the entry rather than chasing the move.
Overcomplicating the screen
Some traders add extra criteria beyond O'Neil's original seven: price-to-earnings ratios, dividend yields, debt levels, insider ownership percentages. While these metrics have value, adding too many filters shrinks the output to zero or near-zero stocks on most days. The original seven criteria were designed to work together as a system. Adding filters may feel like increased rigor, but it often just eliminates valid candidates.
Why fundamentals-first screening works
Many technical traders dismiss fundamental analysis as backward-looking. They argue that by the time earnings are reported, the move is already priced in. O'Neil would agree that the market is forward-looking — but his research showed that strong fundamentals do not just precede price moves, they sustain them.
A stock that breaks out of a base with no earnings growth might rally for a few days. A stock that breaks out with 40% earnings growth, rising institutional sponsorship, and a new product driving revenue can sustain an advance for months. The fundamentals are not backward-looking when they indicate an ongoing transformation in the business.
The CANSLIM approach is fundamentals-first in the sense that earnings and growth metrics narrow the universe before chart analysis begins. You do not scan 8,000 stocks for chart patterns and then check fundamentals. You screen for the 200 stocks with the best fundamental profiles, and then look for the 10 that are setting up technically. This reversal of the typical process dramatically improves the hit rate.
How the scanner implements each criterion
SwingTradeScanner automates the CANSLIM screen by pulling financial data alongside price and volume data for the full stock universe:
- C (Current quarterly EPS): The scanner compares the most recent quarterly EPS to the year-ago quarter and flags stocks with 25%+ growth. It uses operating earnings, excluding one-time items.
- A (Annual earnings): Three-year compound annual growth rate is calculated from annual EPS figures. Stocks with 25%+ CAGR qualify.
- N (New highs): The scanner identifies stocks trading within 5% of their 52-week high or making a new high after at least a three-week consolidation.
- S (Supply/demand): Volume on up days versus down days over the past 10 weeks is tracked to identify accumulation patterns. Breakout-day volume is compared against the 50-day average.
- L (Leader): Relative strength is computed as a percentile ranking across the full universe, based on 6-month and 12-month price performance. Stocks with RS below 80 are excluded.
- I (Institutional): Quarter-over-quarter changes in institutional holder count and ownership percentage are tracked using regulatory filing data.
- M (Market): The scanner maintains a market status indicator based on distribution day counts, breadth metrics, and index trend position. Individual stock results include the current market status so you can calibrate your aggression.
Stocks that pass all seven criteria are presented with their fundamental data, chart setup, and relative strength ranking in a single view. Each result receives a composite score from 0 to 100, allowing you to prioritize the strongest qualifiers rather than treating all matches equally -- a capability that generic screeners like Finviz, TradingView, and even MarketSurge do not offer for CANSLIM specifically. See our swing trading scanner comparison for how these tools stack up.
The scan runs daily, so new qualifiers appear as earnings are reported and prices change. Because it runs alongside six other methodology-specific scans (SEPA, episodic pivots, momentum breakouts, and more), you can immediately see which CANSLIM qualifiers also pass Minervini's trend template or triggered an episodic pivot -- cross-methodology confirmation that no other tool at any price provides. At $20 per month with a free seven-day trial (no card required), it is also the most affordable way to run a complete, automated CANSLIM screen.
You can explore the live CANSLIM scan at /scans/canslim.
Questions
What does CANSLIM stand for?
C is current earnings, A is annual earnings, N is new products or new highs, S is supply and demand, L is leader or laggard, I is institutional sponsorship, and M is market direction. Each letter is one leg of the checklist.
Who invented the CANSLIM method?
William O’Neil, the founder of Investor’s Business Daily, developed CANSLIM from a study of every major stock winner going back to the 1880s.
How is CANSLIM different from SEPA?
CANSLIM emphasises fundamental growth metrics (earnings, sales, sponsorship) alongside technicals. SEPA focuses more on the price trend template and volatility contraction pattern. Many strong stocks pass both.
Where can I see CANSLIM scores for stocks today?
The CANSLIM scanner scores every liquid US stock on all seven legs after each session.
Start scanning today
The CANSLIM scan integrates fundamentals and technicals into a single daily screen across the full US stock universe.
Start free trial