Gross Profitability
Gross profit divided by total assets predicts future returns about as well as book to price, because it measures productive quality before accountants get a chance to obscure it.
Overview
Robert Novy-Marx published a paper in 2013 with a deliberately provocative claim: gross profit divided by total assets predicts future stock returns roughly as well as book to price does, and it does it while pointing at completely different stocks. He called it "the other side of value".
The metric is almost embarrassingly simple. Take revenue, subtract the cost of the goods sold, and you have gross profit: the raw money the business makes before it pays for advertising, R&D, executive salaries, interest, taxes and everything else. Divide that by total assets, and you have a measure of how much productive earning power the company squeezes out of the stuff it owns.
That is the whole signal. Two line items and a division.
Thesis (why the edge exists)
The key insight is about where in the income statement you look.
Net income sits at the bottom. To get there you subtract R&D, advertising, restructuring charges, depreciation choices, tax strategies and a dozen other things that management has enormous discretion over. Every one of those subtractions is an opportunity to make the number say what you want it to say. Worse, some of those subtractions are genuinely good news dressed as bad: a company spending heavily on R&D looks less profitable today precisely because it is investing in tomorrow.
Gross profit sits near the top, before all of that. It is the cleanest available measure of "does this business actually make money selling its product". It is much harder to manipulate and much less polluted by investment decisions that will pay off later.
So the edge is that the market underweights this clean signal and overweights the noisy bottom-line one. Investors see a company with low reported earnings and low margins after heavy R&D and mark it down, when the underlying business is strongly productive.
There is also a plain risk-story version: highly productive firms may simply be riskier in ways not captured by beta, and the return is compensation. Both stories are still argued about.
Strategy logic
- Compute the metric. Gross profit (revenue minus cost of goods sold) divided by total assets. Use the same fiscal period for both, and lag it so the numbers were actually published before you trade.
- Rank within sector. This is essential. A software company has gross margins near 80 percent by the nature of the business; a grocery chain has margins near 25 percent. Ranking them against each other tells you about industries, not about quality. Compare like with like.
- Sort and trade. Long the top quintile of within-sector profitability, short or simply exclude the bottom quintile.
- Rebalance slowly. Fundamentals update quarterly and profitability is highly persistent, so the portfolio barely moves. That is a feature.
Parameters (knobs)
- Denominator: total assets is the original. Book equity is an alternative and pushes the signal towards levered companies. Total assets is cleaner.
- Numerator: gross profit is the original. Some practitioners use operating profitability (gross profit minus SG&A), which Fama and French later adopted for their profitability factor. Operating profitability is more conservative and slightly more manipulable.
- Sector granularity: sector level (11 buckets) or industry group (24 buckets). Finer is better if the universe is big enough to support it.
- Portfolio slice: quintiles are the sensible default. Deciles have more spread and more noise.
- Rebalance: quarterly or semi-annual. Monthly adds cost and almost no information.
Portfolio construction
Within-sector z-score, then long-short or long-only tilt.
Because profitability is so persistent, the portfolio turns over slowly, which means you can afford to be picky. Use that budget on trade scheduling rather than on more frequent rebalancing.
Watch your incidental exposures. A raw profitability book will drift long growth, long large cap and short value. That may be fine, or it may mean you are just buying expensive quality names alongside every other quality fund on the planet. Measure it, and decide deliberately.
Cap single-name weight. High-profitability names cluster (branded consumer goods, pharma, software), so an uncapped book concentrates fast.
Costs, capacity and turnover
This is one of the cheapest factors to run. Gross profitability changes slowly, so annual turnover on a quintile portfolio typically lands in the 30 to 60 percent range. At institutional execution levels, cost is a rounding error relative to the signal.
Capacity is very high. The names that score well are, by definition, successful businesses, which tends to mean they are large, liquid and easy to trade.
If your backtest shows high turnover on this signal, you have a data problem, not a strategy. Chase it down before you chase returns.
Backtest design checklist
- Point-in-time data. Restated financials will destroy the honesty of this backtest faster than almost any other, because profitability restatements are common.
- Reporting lag. At least 3 months between fiscal period end and the trade date. No exceptions.
- Financials. Banks do not have "cost of goods sold" in any meaningful sense. Either exclude them or use a separate metric. Do not let a nonsense number enter the ranking.
- Sector neutrality on and off. Run both. The difference tells you how much of the raw result is just an industry bet.
- Correlation with value. Compute it explicitly. The whole point of the original paper is that this signal is negatively correlated with value while earning a similar premium. If your version is positively correlated with value, something is off.
- Data sanity. Gross profit greater than total assets, or negative revenue, or missing COGS filled with zero. All of these appear in real datasets and all of them will silently poison the ranking.
Common failure modes
- The quality bubble problem. Profitable, stable companies get bid up in flights to safety. Buying them at any price is not a strategy, it is a crowd. The 2020 quality rally and the subsequent 2022 derating is the cautionary example.
- Missing COGS. Many companies, especially service businesses, report a COGS line that is not comparable to a manufacturer's. Cross-sector rankings on this metric are close to meaningless.
- Sector concentration. Without neutralisation, the long book fills up with consumer staples and pharma and the short book fills up with utilities and mining.
- Fighting your own value signal. If you run gross profitability and value side by side without thinking, they will partly cancel. That is not a bug if you size them deliberately; it is a disaster if it happens by accident.
- Decay. This has been public since 2013 and is now in every commercial factor model. Assume it is at least partly priced.
Variants
- Operating profitability. Subtract SG&A from gross profit before dividing. This is what Fama and French use in their five-factor model.
- Profitability plus value. Buy stocks that are both cheap and profitable. This is the classic combination and it works better than either alone precisely because the two signals disagree so often.
- Change in profitability. Rank on the improvement in gross profitability rather than the level. This catches turnarounds before the level metric does.
- Cash-based operating profitability. Strip out accruals from the profitability measure. Ball, Gerakos, Linnainmaa and Nikolaev showed this subsumes much of the accruals anomaly too.
- Profitability quality screen for a value book. The simplest and possibly most useful use of this signal: use it as a filter rather than as a standalone strategy.
Our notes and suggestions
If you are building your first fundamentals-based factor, start here rather than with value. The metric is simple, the data requirements are small, and the failure modes teach you the two things that ruin every fundamental backtest: reporting lag and point-in-time data.
Then run the correlation with your value signal and look at the scatter. Seeing with your own eyes that two profitable strategies can point at almost completely different stocks is the moment factor investing starts to make intuitive sense rather than feeling like a list of ratios.
Be honest that this is not an exotic edge. It is a well-known, widely implemented factor. Its value to you is most likely as one clean input into a composite, not as a standalone money machine.
Our Notes & Suggestions
See the "Our Notes" subsection in the body above for practical guidance, gotchas, and best practices. Always validate regime assumptions and transaction cost assumptions before scaling.
Implementation Checklist
- Universe: liquid non-financial listed names with at least one full year of reported financials
- Compute gross profit as revenue minus cost of goods sold, taken from the income statement
- Divide gross profit by total assets from the balance sheet, using the same fiscal period
- Apply a reporting lag of at least 3 months so the number was genuinely public on the day you trade it
- Rank within sector, since gross margins differ hugely across industries by design
- Long the top quintile, short or exclude the bottom quintile; rebalance quarterly
- Check the correlation with your value signal; if it is strongly negative you are cancelling out your own bets
- Exclude financials, or build a separate profitability metric for them such as return on equity
- Winsorise and sanity-check: gross profit above total assets is possible but usually a data error
- Model costs; turnover is low, so if your backtest shows high turnover something is wrong with the data