Open the Stocks tab of the Asset Outperformer Engine, look down the Mkt Cap column, and you will see the same four characters on every row. Columbus Acquisition reads 0.00 USD. So does AVAX One Technology, so does Crown Capital, so does The Glimpse Group, so does Ethos Technologies. At capture the board ranked 522 assets and flagged 100 as outperforming the benchmark basket, and not one of the visible rows carried a market capitalisation.
That is worth ten seconds of attention, because market cap is the field most retail screening habits are built on. Small caps first, or large caps only, or anything above a billion. Every one of those habits produces a specific and wrong answer when the underlying field is empty, and none of them produce an error message.
Zero is not small, it is unknown
The distinction sounds pedantic until you sort on it. A blank field and a genuinely tiny company both display as a number close to zero, but they mean opposite things. A company with a real market cap of two million dollars is a specific, checkable fact about a specific tiny business. A company showing 0.00 USD because the field never populated could be Snowflake.
It is worth saying that out loud because it is literally the case here. On the same stocks board, Snowflake appears among the unscored rows with a dash where its price should be. Appian is there. CareDx is there. These are not shells. They are rows where the data has not arrived, sitting in the same column space as rows where the data has arrived and says something.
The engine itself does not pretend otherwise. The unscored rows carry a score of 0 and an empty phase, which is the board telling you plainly that it did not evaluate them. The trouble starts when you take a column that is doing its job as a placeholder and use it as an input to a sort.
What an ascending size sort actually returns
Sort by market cap smallest first on a board where the field is blank across the visible rows and every one of those zeros ties for first place. What you get back is not the smallest companies. It is whatever secondary ordering the table falls back on when the primary key is identical, which could be alphabetical, could be the original score order, could be row insertion order, and is not something you control or can see.
Sorting the other direction feels safer and is worse. Largest first pushes the zeros to the bottom of the list where you never scroll, so a sort that appears to be working is quietly hiding the same rows rather than surfacing them. You will never notice, because the top of the screen looks exactly as it should.

The third failure mode is the one that costs money. Any filter you apply on a blank field either passes everything or nothing. Set a rule that you only look at companies above three hundred million dollars and the board returns an empty screen, so you conclude there is nothing to do today. Set the rule the other way and every row qualifies as a micro cap, so you conclude the board is full of lottery tickets. Both conclusions are about the data pipeline, not about the market.
The two columns that tell a gap from a shell
The cross-check that resolves it is not complicated and it does not require leaving the page. Read Mkt Cap against Vol 24h, and then read both against Score.
A row showing 0.00 USD in Mkt Cap and a real turnover figure in Vol 24h is a live instrument with a missing reference field. VRAR at capture read 0.00 USD and 519.40 K. Something is trading. The size field simply is not there. That row is a candidate for further work, and the size question gets answered somewhere other than this board.
A row showing 0.00 USD in Mkt Cap with a dash in Price, a dash in the return columns, a score of 0 and no phase badge is a row the engine did not evaluate. That is not a warning about the company and it is not an opportunity. It is an absence. The correct action is to skip it entirely on this pass rather than to investigate why Snowflake looks like a zero.
The two readings need different responses, which is why collapsing them into one mental category of "weird row" is the mistake. One is a name you can research with a different tool. The other is a row that should not be in your field of view this morning.
Sorting you can trust on this board
The board opens sorted by Score, and on a board where the size field is empty that default is not a compromise, it is the correct choice. Score, the per-period return columns and Vol 24h were all populated on the scored rows at capture, which makes them the fields you are allowed to order by.
Two toolbar controls do real work here. The Score minimum and maximum boxes let you cut the list by strength rather than by size, which is the same instinct expressed against a field that exists. The phase filter, which read Phase B (Uptrend) at capture, restricts the board to rows the engine actually assigned a phase to, and a row with an empty phase cannot pass it. That single control does most of the work of excluding the unevaluated rows, and it does it before you have formed an opinion about any of them.
The Templates control is where this becomes a habit rather than a thing you remember to do. If it will hold a saved arrangement of sort field and filters, save one that never touches Mkt Cap, and open that instead of the default view. A check you have to remember is a check you will skip on the morning you are in a hurry, which is the morning it mattered.
Where the size question actually gets answered
You still need to know whether a name is a two hundred million dollar company or a twenty billion dollar one, because that governs how much of it can be bought, how quickly the position can be exited, and how much a single headline will move it. Nothing in this section says the question is unimportant. It says the answer is not on this tab today.
Get it from your broker's quote page, which will carry shares outstanding and market cap for anything you can actually trade, and get it before the name reaches a shortlist rather than after. That ordering matters for the same reason the filter ordering matters. Looking up the size of a company you have already decided you like is not a check, it is a formality you will find a way around.
One board level habit is worth keeping alongside it. Note that the same field behaves differently one tab over. On the all-assets board, rows typed as international stocks were carrying real market caps, 66.23 million dollars on one and 104.48 million on another, while the US stock rows sat at 0.00. So a blank in that column is not a fixed property of the module, it varies by tab and by row type. Before you lean on any column anywhere in this engine, scroll it once and confirm it contains more than one distinct value. A field that reads the same on every row is not telling you anything, no matter what its header says.