How to test a hiring slowdown with a stock screen
A hiring slowdown is a macro observation. It doesn't tell you which companies are vulnerable, and it certainly doesn't tell you what their shares do next. To turn it into a stock thesis, ask a narrower question: when labor demand weakens, do companies with thin cash generation and heavy short-term obligations fare differently from otherwise similar companies with more room to absorb a slowdown?
This week's evidence gives that question a useful starting point. In its September 29 JOLTS release, the US Bureau of Labor Statistics said job openings were little changed overall in August. Inside the same release, the openings rate at the smallest establishments fell sharply. August is preliminary and one monthly estimate isn't a regime. It gives us a prompt for designing a test. The test still has to earn its result.
What did the latest JOLTS report actually say?
JOLTS is the Job Openings and Labor Turnover Survey. BLS defines a job opening as an unfilled position on the last business day of the month that could start within 30 days and is being actively recruited for outside the establishment. It measures vacancies at one point in time. Hires, quits, and layoffs are flows over the whole month, so those lines answer different questions.
The August report put job openings at 7.079 million, hires at 5.192 million, quits at 3.066 million, and layoffs and discharges at 1.641 million. The corresponding rates were 4.3%, 3.3%, 1.9%, and 1.0%. BLS described openings and hires as little changed. That broad reading matters because it stops one dramatic subtable from swallowing the release. It also fits the Federal Reserve's September assessment that job gains were keeping pace with the workforce and unemployment had changed little.
Now look at the release's smallest size class. Establishments with 1 to 9 employees reported 1.050 million openings in August, down from 1.385 million in July. Their openings rate fell by 1.7 percentage points.
"Establishment" needs care here. BLS defines an establishment as an economic unit such as a store, office, factory, or mine, usually at one location. Its JOLTS concepts documentation explains that size classes are based on the establishment's highest employment during the preceding 12 months. A large public company can operate many small establishments. This isn't a clean read on listed small-cap companies.
That distinction kills the lazy thesis: "small-business hiring fell, so short small-cap stocks." The release doesn't establish either half of that sentence. It reports openings at small worksites, and the stock-market consequence remains untested.
Why might small-worksite openings matter to stocks?
A vacancy is a management decision made before a worker arrives. Companies can stop opening positions faster than they can unwind leases, debt, or existing payroll. A fall in openings can therefore be an early sign of caution. It can also mean that employers filled positions. Recruiting may have moved between locations. One monthly estimate can bounce. The series doesn't disclose management's motive.
The investable idea has to move through a mechanism:
Employers become less willing to add labor. Revenue growth softens or management expects it to soften. Businesses with weak cash conversion and near-term obligations have less room to adjust. Their subsequent results or returns differ from those of cash-resilient peers.
Each arrow is contestable. Labor demand can weaken while productivity rises. A company can cut vacancies before margins improve. Public companies may have little exposure to the smallest establishments in the table. And stock prices may already reflect the slowdown by the time a monthly release arrives.
Good. A useful thesis should have places where it can break. The screen's job is to encode the company-resilience part. The backtest then checks whether that distinction mattered after similar public signals in the past.
Which company variables fit the mechanism?
Start with cash conversion. Then ask what claims remain fixed and whether the business was already weakening.
Cash conversion asks whether reported profit becomes operating cash. Operating cash flow divided by net income is a rough version. A business can report positive earnings while receivables or inventory absorb the cash. That gap matters more when demand is slowing because working capital may not unwind on friendly terms. Operating cash flow versus net income explains the accruals behind this comparison.
Fixed claims are obligations that don't disappear because hiring paused. Debt is visible in the balance sheet, while interest expense shows part of its recurring cost. Netting cash from debt can be useful, but cash may be trapped or already committed. The distinctions in gross debt versus net debt keep this test from treating every dollar of cash as freely spendable.
Operating direction asks whether the company was already weakening before the labor report. Same-quarter revenue growth compares a quarter with the corresponding fiscal quarter from the prior year, avoiding much of the seasonality in adjacent-quarter comparisons. Use filing dates instead of fiscal period ends. A simulated investor can't read a report before it was filed.
Don't put labor data inside the company score unless your data pipeline can align each vintage to its public release date. The August JOLTS figures became knowable on September 29. A backtest that switches regime at the end of August has peeked ahead.
What would an illustrative screen look like?
The screen should distinguish resilience among operating companies, then let the macro release define when you examine that distinction. The shape below is illustrative, and the bundled templates are the reference for exact fields. Use the Quantery thesis documentation when translating it into a working thesis.
# Cash resilience during a hiring slowdown: illustrative
params:
cash_conversion_floor: 0.8
debt_assets_ceiling: 0.45
revenue_floor: 0.00
features:
cfo_ttm: ttm(operating_cash_flow)
net_income_ttm: ttm(net_income)
cash_conversion: if(net_income_ttm > 0, cfo_ttm / net_income_ttm, null)
debt_assets: if(total_assets > 0, total_debt / total_assets, null)
revenue_yoy: revenue / lag(revenue, 4) - 1
criteria:
earnings_backed_by_cash:
- { when: "cash_conversion >= $cash_conversion_floor", score: 2 }
- { when: "cash_conversion >= 0.5", score: 1 }
- { else: 0 }
balance_sheet_room:
- { when: "debt_assets <= 0.25", score: 2 }
- { when: "debt_assets <= $debt_assets_ceiling", score: 1 }
- { else: 0 }
demand_holding:
- { when: "revenue_yoy > $revenue_floor", score: 1 }
- { else: 0 }
gate:
- cfo_ttm > 0
- total_assets > 0
- revenue_yoy != null
The thresholds are proposed research parameters. Keep them round, declare them before looking at returns, and change one at a time later. A cutoff discovered by nudging the number until the curve improves is a description of the sample.
Run both the resilient group and a strained group built from the opposite characteristics. If the story is about financing room during a slowdown, the spread between those groups is more informative than either group's raw return against a broad index. It asks whether the accounting mechanism sorted companies in the direction claimed.
How should the labor signal enter the backtest?
Define the macro trigger without using this week's exact drop as a magic number. One defensible version is a decline in the small-establishment openings rate relative to its recent published history. Another is simultaneous weakness in openings and quits, since quits can indicate workers' willingness or ability to leave jobs. Choose one before testing.
Use the vintage available on each release date. JOLTS estimates are revised, and the August data are preliminary. If the backtest uses today's cleaned series for past decisions, it gives the simulated researcher revisions they couldn't have known. That is the macro-data version of using a restated filing.
Then compare four views:
- Resilient companies after the trigger versus the same group outside triggered periods.
- Strained companies after the trigger versus the same group outside triggered periods.
- Resilient versus strained companies within each triggered period.
- The same comparisons after excluding one sector at a time.
The last view matters because labor intensity and balance-sheet structure differ by industry. A screen full of software companies can appear cash-resilient for reasons unrelated to hiring conditions. Testing whether a screen is a sector bet gives the leave-one-sector-out procedure.
Keep the universe fixed and use a benchmark that matches its broad size exposure. A small-company index may be a useful comparison if the eligible universe truly contains small listed companies, but don't justify it with the JOLTS size table. Worksite size and issuer market capitalization aren't interchangeable.
Every return is hypothetical and excludes trading costs. Monthly macro releases also imply delayed, lumpy decisions. Model entry after publication under a stated rule, and test whether a modest extra lag changes the conclusion.
What would this backtest establish?
A positive result would show that the defined accounting group behaved differently after the defined, publicly observable labor signal during the tested history. Causality would remain unresolved. Credit conditions or a broader economic slowdown could drive both, and sector composition could carry the spread.
A null result is useful. Perhaps the labor trigger adds nothing beyond company fundamentals. The smallest-establishment series may also be too noisy or too weakly connected to public issuers. If neither explanation fits, inspect whether the resilience variables separate businesses the way the story requires.
Stress the result before keeping it. Move the labor lookback, delay entry, alter one round accounting threshold, and reserve an untouched period. The discipline in using a holdout period matters here because there are many tempting definitions of "hiring slowdown." If each disappointing run earns a new trigger, the final trigger has learned the history.
This week's release leaves a discrepancy: the aggregate labor picture was stable while openings at the smallest establishments fell sharply. Preserve that distinction. Define the mechanism first. Align filings and macro data to the dates they became public, with cash-resilience rules anyone can inspect. Then the next move in the data can challenge rules you wrote in advance instead of inviting another story afterward.
Research tooling, not investment advice. Nothing here is a recommendation to buy, sell, or hold any security. Screens, scores, and backtests are informational only; backtested results are hypothetical, exclude costs such as commissions and slippage, and do not guarantee future results. Verify against primary filings and make your own decisions.
Want to try this on your own rules? Quantery is free for 14 days: the full app, no card required.
← All articles