Missing, zero, or blank: three different states in China filing data
Short answer: no, a missing value is not a zero. Filing data has three distinct states and they mean different things. A real 0 is a reported figure. A blank cell is a line the filing's template included and the filer left empty. A line that is not in the filing's template has no row at all. Collapse the three into one and you have built a panel of zeros nobody ever reported.
The three states, named
A real 0 is stored as 0. A present-but-null cell is a line the filing's template includes but the filer left blank. And a line not in a filing's template has no row at all.
When you build a wide panel, treat a missing (report_id, item_code) row as
"not reported", the same as a null, rather than assuming every code appears in
every filing. Of the 431 codes, two are always empty everywhere and the other
429 carry data, from near-universal to sparse. (ChinaScope Fundamentals, data
cut 2026-04-14.)
That last figure is the practical one. If you pivot 431 codes wide and fill blanks with zero, you have asserted that hundreds of line items were reported as zero by companies that never filed that schedule.
Sparse by design, not by accident
In ChinaScope Financial Notes, a company appears in a schedule only if it reported that component. A missing row means "not reported", not zero. (Data cut 2026-04-09.)
The absence is the information. A company that did not disclose a receivables ageing schedule is telling you something different from a company that disclosed one and reported nothing in the over-one-year bucket.
A zero that really is a zero, and still is not an amount
About 27% of RFP-Bids awards carry a zero bid_price, and bid_amount on the
graph sums only disclosed award values. Screen on positive amounts when you are
sizing deals. (Data cut 2026-05-29.)
Here the zero is genuinely in the data. It means the award value was not disclosed, not that the contract was free. Averaging across it drags every deal size down by roughly the share of undisclosed awards.
Depth that was never disclosed is not depth that is missing
Companies disclose each line of business at a single chosen depth. Upper levels 1 to 3 are densely populated in the segment data and levels 5 and below are sparse. Roll up to a parent level for coverage: aggregation reconstructs upper totals but cannot invent detail a company never disclosed. (ChinaScope Product Taxonomy, as described in the July 2026 profile.)
A blank at level 5 is not a gap to be imputed. It is a company that reported at level 2.