ORACLE

how it decides what it decides ? HOW TO USE GENERATED 2026-08-31T19:11:01

The MO

Within each corner of the market, which companies are worth a closer look — and why?

Not a stock picker. A way of reading five thousand filings so the twenty worth your afternoon rise to the top, each carrying its reasons.

  1. 01Read every filerSEC XBRL — four years of statements for everyone who files
  2. 02Price itIB Gateway delayed quotes → market cap
  3. 03Score seven lenseseach one 0–100, with its reasons in words
  4. 04Rank inside the sectornever across the whole market
  5. 05Enrich the leadersnews, Form 4 filings, the filed horizon
  6. 06Show the arithmeticevery figure links to the filing it came from

An absence is never shown as a verdict.
"Could not read the filings" ≠ "nobody is buying".
"Never asked IB" ≠ "no news".
"Undisclosed" ≠ "zero".

How a company gets into the screen

No curated list. Every SEC filer is a candidate; six gates decide who makes the screen.

  1. Match filings to tickers. Everything keys on the CIK, the SEC's permanent company number — tickers get reused and companies get renamed.
  2. Read the fundamentals. Four years of revenue, net income, operating cash flow, capex and operating income, plus the latest balance sheet, from XBRL company facts. Requests are throttled to 10/second and cached for 24 hours, because frames only change when filings land.
  3. Find the share count, in three escalating layers. This gate is unforgiving: no share count means no market cap, which means the company never even gets priced. IAC / People Inc. was dropped this way with $2.6bn of revenue on file, and it was not alone — 422 companies were missing.
  4. Price it. Delayed quotes from IB Gateway, in batches of 50 with a 2.5s settle. Market cap is price times shares, and a non-finite price yields no market cap rather than a nonsense one.
  5. Apply the floors. Market cap of at least $1bn and revenue of at least $100m. The revenue floor keeps micro-cap noise off the leaderboards; the cap floor keeps the screen large-cap oriented.
  6. Assign a sector from the SIC code, and rank within it.

Ranking happens inside a sector, never across the whole market. A 20% net margin means something different in software than in grocery retail, and a single global ranking would simply list the software industry.

Sectors are SEC SIC major groups — 68 of them, grouped into 11 divisions — not GICS. They come from the filing itself, so there is no third-party classification to disagree with, but the vocabulary is older than GICS and occasionally shows it.

The seven lenses

Seven measures. Each scores 0–100 and writes down its reasoning, so you can always ask a number why.

revenue 18
Is it growing?

Three-year growth rate, and how many of those years actually grew. One good year and two bad ones is not growth.

utilidades 22
Does it make money?

Net margin, whether that margin is widening or shrinking, and how many years it turned a profit at all.

cash flow 22
Does the profit become cash?

Free cash flow, and cash flow against reported earnings. Earnings can be shaped. Cash in the bank cannot.

debt 18
Could it survive a bad year?

Debt against equity, interest cover, and net cash — counting investments, not just the cash line.

valuation 25
Is it cheap?

Against book value and against its own cash pile. Asset-based, because this lens hunts bargains, not fair prices.

recovery 25
Is a beaten-down business turning?

Margin now against its own historic peak, and the direction of travel. At peak margin it scores zero — nothing to recover.

momentum 22
Where is the price, in its own recent range?

Position in the 13, 26 and 52-week range. A fact about where the price has been, and no kind of forecast.

unloved 22
Near its lows — and does it still earn?

Near the bottom of its range AND profitable. The second half is the point: cheap-and-falling describes a bargain and a collapse equally well.

compounding 24
Is it growing per share?

Revenue per share over the window, and the share count behind it. Grow revenue 30% by issuing 30% more shares and the owner received nothing.

returns 26
What does it earn on the money tied up in it?

Return on equity, on assets, and on capital employed. Three views because each misleads alone: ROE flatters debt, ROA punishes a heavy asset base.

insider 30
Is anyone inside buying?

Open-market purchases from Form 4 filings, weighted by rank and size. The only lens that is a person's decision.

A blank is never a zero. A company that filed no cash-flow statement is judged on what it did file and marked incomplete.

Numbers are base weights, from criteria.WEIGHTS and oracle.EXTRA_WEIGHTS.

The four archetypes

The same seven measures, weighted four ways. A company is not "good" in the abstract — it is a good compounder or a good turnaround, and those want opposite things.

quality

Businesses that compound. Growth, margins, cash conversion, a solid balance sheet.

returns×1.4cash flow×1.3utilidades×1.2revenue×1debt×1insider×0.6

Insider weight is turned DOWN here: executives at a compounder are already paid in stock and rarely buy more. Note that valuation is absent — QUALITY does not care what you pay.

value

Cheap against what it owns. Growth matters less here — the growing company is rarely the cheap one.

valuation×2.2debt×1insider×1cash flow×0.9returns×0.9utilidades×0.7revenue×0.5
cyclical

Beaten down and turning back up. Solvency counts double, because a turn has to be survivable.

recovery×2debt×1.2insider×1.2revenue×0.8cash flow×0.8returns×0.7utilidades×0.5
insider

Follow the money of the people inside.

insider×2.5returns×0.8cash flow×0.7utilidades×0.6debt×0.6revenue×0.5
owner

What you would pay for the whole company. Judges the business like QUALITY does, then charges it for its price.

returns×1.8valuation×1.4cash flow×1.3utilidades×1.1debt×1revenue×0.8insider×0.8

The only view that weighs the business AND the price. Microsoft scores 96.8 on QUALITY and 78.4 here: the same superb company, now charged 42x earnings for it.

hot

Moving hardest right now. Price near the top of its own 26-week range, with the business behind it still checked.

momentum×2.2revenue×1.2utilidades×0.7returns×0.7cash flow×0.6debt×0.6

Momentum is where the price HAS been. Revenue and solvency stay weighted so a pure hype run cannot reach the top on price alone.

compounder

Growing per share over years, not just in total.

compounding×2returns×1.5cash flow×1.2utilidades×1debt×0.9revenue×0.6valuation×0.5
unloved

Cheap, near its own lows, and still earning.

unloved×2valuation×1.6insider×1.2returns×1.1debt×1cash flow×1utilidades×0.6

A name failing the profitability floor scores zero here rather than leading the list. That floor is the whole lens.

A measure not listed is one the archetype ignores, and a low score there is not a fault. Manhattan Associates tops QUALITY at 100 while scoring 0 on recovery, because it sits at its own peak margin. Perfect for a compounder, disqualifying for a turnaround.

Multipliers from oracle.ARCHETYPES.

Reading a row

Three numbers ride on every row. They answer different questions.

Score
The lenses blended, 0–100, under whichever archetype is selected. Switch archetype and it changes — it is not one truth about the company.
Pctl
Where that score sits inside its own sector. A 70 among compounders is not a 70 among cyclicals.
% judged
How much of the scoring actually had data. A high score at 40% judged is a thin result wearing a confident number.

If a number looks wrong, open the row. The reasoning is there, including whatever could not be measured.

Showing the arithmetic

Every company has a SHOW THE NUMBERS button. It opens the full calculation: the figure, the formula in words, the formula with the actual numbers in it, and for each input the XBRL tag it came from with a link to the filing it was taken out of.

Nothing there is an estimate and nothing is third-party. If a number looks wrong you can follow it to the document in two clicks.

Derived, not fetched
ROE, ROA, ROCE, the margins, the multiples and the per-share figures are all divisions of numbers already on file. They cost no extra request — they were simply never divided out.
ROCE, not ROIC
ROIC needs the tax line, which is not fetched. The pre-tax version is computed and named honestly. Calling it ROIC would be a small lie you could not detect.
EPS is derived
Neither EarningsPerShareDiluted nor EarningsPerShareBasic returns a single filer through the frames API. EPS is net income over weighted average diluted shares.
Expensive is not weak
A high multiple is marked expensive in amber, never weak in red. Price is a fact about the market, not a fault in the business, and they must not share a colour.
Good, by these thresholds
roe 15, roa 10, roce 12, gross margin 40, operating margin 20, net margin 10. Expensive above: PE 20x, PS 5x, PFCF 15x, PB 3x, EV_EBITDA 12x.

Long-term vs short-term

Whether a name is a long-term or a short-term proposition, taken from what the company filed rather than from sentiment. Two disclosures carry it.

Contract liabilities, split current / non-current
Money already collected for goods and services not yet delivered, split by whether the company expects to earn it within a year or beyond. That split is the horizon, disclosed by the company and audited. Long-dated share at or above 35% reads long-term; at or below 15%, short-term.
Backlog — remaining performance obligation
Contracted revenue not yet recognised. This is the figure that answers "contracts up to December" in dollars. Measured in years of current revenue: above 1.5 years the revenue is largely already won; below 0.5 the company has to go out and win next year's sales.

When the two disagree the verdict is MIXED and says so. NVIDIA holds 53% of its contracted revenue beyond a year while its tagged backlog covers under a month of sales — a real tension, and averaging it into a confident middle would be a fabrication.

Either disclosure alone produces a verdict, because the two sets of filers do not coincide. Neither present produces UNCLEAR — not a guess. Whole industries have no contract liabilities at all: a supermarket is paid at the till, so there is nothing to defer.

Concepts: deferred_revenue_current, deferred_revenue_noncurrent, backlog. Coverage measured across all filers at CY2024Q4I: current slice 2,031, non-current 840, backlog 774.

Insider conviction

The heaviest-weighted lens, and the only one that is somebody's decision rather than a line on a statement. Read from Form 4 — the filing an officer or director must submit after trading their own company's stock.

Only open-market purchases count — transaction code P. This is the distinction the whole lens rests on: an executive receiving shares as compensation (code A) has made no decision and spent no money, and shares withheld to pay tax (code F) are not a sale of conviction either. People Inc.'s directors took code-A grants in the last six months; that is payroll, not a view on the stock.

RoleWeight
CEO×3
CFO×3
OFFICER×2
DIRECTOR×1
OTHER×0.5

A purchase is weighted by seniority — a chief executive buying says more than a director buying — and by size, scored on both the absolute dollars and the amount relative to market cap, taking whichever is more impressive. $2m is a gesture at a mega-cap and a statement at a $500m company.

Window
183 days, about six months. Recent buying scores higher than old buying.
Cluster
3 or more separate insiders buying within 90 days. Several people acting independently is a stronger signal than one person acting large.
No buying
Scores 35 — deliberately mid-range, not zero. Most companies have no insider buying in any given six months, and that is normal rather than damning.
Could not read
Shows as NOT READ with the reason, and is never shown as an absence of buying. Those are opposite facts, and conflating them on the most heavily weighted lens would be the worst error this app could make.

The crawl reads up to 40 filings per company. Filings arrive newest-first, so hitting that cap drops the oldest end of the window — and when it happens the score says so, because "no open-market purchases" after reading 40 of 80 filings would be a verdict dressed up from a partial look.

What the news layer does and does not claim

Headlines and full article bodies from Dow Jones and Briefing.com through IB Gateway. Every horizon call cites the phrase that produced it — the reason this is keyword extraction rather than a language model. Extraction is worse at nuance and far better at accountability: a wrong call appears as a quoted sentence you can argue with, instead of a confident label with nothing behind it.

There are no consensus revenue estimates in any feed available here. SEC filings are historical by construction, and these wires carry analyst actions — "maintained at Buy" — which are opinions about a company, not forecasts from it. So "expected revenue growth" can honestly be backlog, or the company's own sentence quoted verbatim, or analyst direction labelled as opinion. It cannot be a forecast number presented as ours. Real estimates would need a paid fundamentals feed.

Three rules exist because live data refuted the naive version:

Relevance first
IB links an article to a company identifier, which is not the same as the article being about that company. Asking for Exxon returned "How a Negative Beta Bet Can Protect Your Portfolio" and "These 3 Sectors Will Outperform". Market columns are tagged and excluded (14 patterns), as are holdings tables (4 patterns), which are company-specific but carry no forward information.
The publication date is not a forward reference
Every body repeats its own year and month in the dateline and the copyright line, so counting bare years labelled the entire feed "short-term". Only years beyond the publication year count, and a month only counts behind a forward preposition — "through December", "up to December".
Guidance means the company said it
The naive version quoted a Barron's columnist and the US Treasury Secretary as Exxon's own outlook. A forward sentence is only quotable with the company as its subject; otherwise it is tagged commentary. An anniversary is not a contract term either — a press release about an awards party scored long-term on "38-Year".

A story is long-dated when its furthest reference is 2 years out or more, near-term inside that, and undated otherwise. Undated stories are counted but excluded from the tilt: they are the majority of any feed, and letting them pull the tilt toward zero would report "balanced" for a company whose only dated story is a ten-year contract.

Who gets enriched, and when

Scores come from filings and cover every company. Enrichment — news, Form 4 filings and the filed horizon — is expensive: an IB round trip and a filings crawl per company. So it is targeted, in this priority order:

  1. Requested. You pressed ENRICH on a card and are waiting. Never dropped by the budget — a button that sometimes does nothing is worse than no button.
  2. Favorites. You asked for these by name, so your list outranks the ranking, however weak their scores.
  3. Sector leaders. The top 3 of every sector on each of quality, value, cyclical.

Per sector, not globally: a global top-N would spend the whole budget on Business Services, which holds 265 names, and never once enrich Oil & Gas Extraction, which holds 36. And per lens, not on quality alone — deep value and cyclical recovery are the entire reason mid-caps appear in this screen, and ranking on quality would quietly enrich compounders only.

Insider is not a selection lens, even though it is the heaviest-weighted one. It is itself an enrichment output, so choosing on it would re-pick the already-enriched and starve everybody else.

Capped at 120 companies per pass, nightly at 23:30 local time. The refresh runs in three phases — universe, page, enrichment — and only the first two are fatal. If enrichment fails the rankings are already rebuilt and published, so the previous enrichment stays in place; every entry carries its own timestamp, which makes stale data visible rather than silent.

What the Oracle does not know

What this thing does not know. Listed because a tool that hides its edges gets trusted past them.

  • No forecasts. No consensus estimates, no price targets of our own, no earnings predictions. Everything is filed history plus what the company itself has said.
  • Prices are delayed. Market caps come from IB's delayed feed, which is fine for a screen and useless for execution.
  • Annual filings lag. Fundamentals are as filed. A company that transformed itself last quarter still looks like last year's company.
  • SIC, not GICS. Sectors come from the filing, so nothing third-party can disagree — but the vocabulary is older than GICS and groups some modern businesses oddly.
  • Horizon is often unclear. Around 1,100 of the universe disclose no contract liabilities, because whole industries have none. Unclear means undisclosed, not short-term.
  • Enrichment covers a slice. Only the sector leaders, your favorites and whatever you asked for. A blank badge means "not looked at", never "looked at and found nothing".
  • Entity continuity. A company that reorganises into a new holding company can lose its filing history under the new identifier and drop out until it files again.
  • Not advice. Research and education. Every figure here is a starting point for reading the filing yourself.

Glossary

Archetype
One of four weightings of the same lenses — quality, value, cyclical, insider. Changes what “good” means, not what is measured.
Backlog
Contracted revenue a company has not yet recognised. Filed as “remaining performance obligation”. Answers “how much of next year is already sold”.
Basis point (bp)
One hundredth of one percent. Insider buying is sized in bp of market cap so a $2m purchase can be compared across a $500m company and a $500bn one.
CAGR
Compound annual growth rate — the smoothed yearly rate between two points. Always shown here alongside how many individual years actually grew, because a CAGR can hide a collapse.
CIK
The SEC's permanent numeric identifier for a filer. Everything keys on it, because tickers get reused and names change.
Confidence / % judged
Share of lens weight that had data. The number that tells you whether a score is thin.
Contract liability
Cash collected for something not yet delivered — deferred revenue. Its current / non-current split is the filed horizon.
Cuerpote
Not used here. It belongs to the trading bot, which is a separate product entirely.
FCF — free cash flow
Operating cash flow minus capital expenditure. What the business actually generates after keeping itself running.
Form 4
The filing an officer or director must submit after trading their own company's stock. Source of the insider lens.
Frames API
The SEC endpoint returning one XBRL concept for every filer in one period. How the whole market is read without fetching each company.
Instantaneous vs duration
Balance-sheet facts are measured at a point in time; income and cash-flow facts cover a period. They come from different frames, which is why weighted-average share counts are almost absent from instantaneous data.
Lens
One of the seven measured dimensions. Returns a 0–100 score and the sentences behind it.
OCF / net income
Operating cash flow divided by net income. Above 1 means earnings are converting into cash. The hardest figure on a statement to manipulate.
Open-market purchase
Transaction code P on a Form 4 — an insider spending their own money at the market price. Distinct from code A, shares granted as pay, and code F, shares withheld for tax.
P/B — price to book
Market cap divided by shareholders' equity. Below 1 means the market values the company at less than its own accounts say it owns.
Percentile (PCTL)
Rank within the company's own sector, not the market. Makes a 70 in software comparable to a 70 in grocery.
RPO
Remaining performance obligation. See Backlog.
SIC major group
Two-digit industry code from the filing itself. The unit this screen ranks within.
Tilt
A signed number from −1 to +1. Positive is long-dated, negative near-term. Null means no evidence — which is not the same as balanced.
Utilidades
Papi's word for earnings and profitability. The lens name kept his term deliberately: it is his screen.
XBRL
The tagged-data format companies file their statements in. What makes reading 5,000 filers programmatically possible at all.