Persisted, canonical facts only. A value that is not recorded is shown as
unavailable and is never estimated, substituted or shown as zero.
Company
Century 21 Joint Stock Company
Ticker
C21
Exchange
UPCOM
Industry
Civil Construction & Building Materials
Research state
No research available NO_RESEARCH
Research certification
No certified research
Matched opportunity conditions
0 of 5
Latest screening snapshot
2026-09-25T09:10:47.224149+00:00
Latest market price
2026-09-21T00:00:00+00:00
Latest fundamental period
2026-06-30
Latest research report
Unavailable
Evidence records
324
Source documents
24
Certification reflects the repository's internal approval record on the
latest persisted report. It describes publication status and provenance; it is not a rating, a
forecast or investment advice.
0 of 5 versioned P7D V1 conditions matched at
evaluation time. Every condition is either matched, unmatched, or refused when the required
evidence is missing, stale or not applicable. These are deterministic screening conditions, not
investment recommendations.
No deterministic condition currently matches this company. Missing evidence
fails closed and never becomes a match.
Modeled history. Historical valuation availability is modeled from reporting-lag assumptions and is not point-in-time certified.
Full five-rule trace (P7D_RULES_V1)
Fundamental improvement FUNDAMENTAL_IMPROVEMENT
REFUSED
Market data is not current under the canonical 72-hour freshness policy.
Refused: STALE_MARKET_DATA
Growth compares the latest two compatible full years.
Growth is historical, not forecast growth.
Parent PAT growth uses the repository's existing denominator semantics: the latest full-year PARENT_PAT versus the prior full-year PARENT_PAT.
Observations (4)
Input
Value
Status
Period / freshness
market_price
—
REFUSED · STALE_MARKET_DATA
— · AGING
revenue_growth
16.76%
OK
latest compatible full year
pat_growth
479.28%
OK
latest compatible full year
pe_ttm
—
REFUSED · STALE_MARKET_DATA
— · AGING
Thresholds
growth min percent
0
pe positive
yes
market current max hours
72.0
Cash-flow strength CASH_FLOW_STRENGTH
REFUSED
Market data is not current under the canonical 72-hour freshness policy.
Refused: STALE_MARKET_DATA
FCF Proxy Yield is a screening proxy: trailing-twelve-month operating cash flow less reported cash capital expenditure over market capitalization.
Observations (3)
Input
Value
Status
Period / freshness
market_price
—
REFUSED · STALE_MARKET_DATA
— · AGING
fcf_proxy_yield
—
REFUSED · MARKET_DATA_UNAVAILABLE
— · AGING
pe_ttm
—
REFUSED · STALE_MARKET_DATA
— · AGING
Thresholds
fcf proxy yield min percent
0
pe positive
yes
financial applicability
NON_FINANCIAL_ONLY
market current max hours
72.0
Quality at a reasonable valuation QUALITY_AT_REASONABLE_VALUATION
REFUSED
Market data is not current under the canonical 72-hour freshness policy.
Refused: STALE_MARKET_DATA
Operating and PAT margins are not cross-sector comparable in this screening phase.
Observations (4)
Input
Value
Status
Period / freshness
market_price
—
REFUSED · STALE_MARKET_DATA
— · AGING
pat_margin
21.3248%
OK
QUARTER 2026-06-30 · CURRENT
operating_margin
35.0134%
OK
QUARTER 2026-06-30 · CURRENT
pe_ttm
—
REFUSED · STALE_MARKET_DATA
— · AGING
Thresholds
pat margin min percent
0
operating margin min percent
5
pe min exclusive
0
pe max inclusive
40
market current max hours
72.0
Valuation dislocation VALUATION_DISLOCATION
REFUSED
Market data is not current under the canonical 72-hour freshness policy.
Refused: STALE_MARKET_DATA
Historical certification: NON_CERTIFIED_MODELED_AVAILABILITY — modeled, not point-in-time certified
Historical valuation availability is modeled from reporting-lag assumptions and is not point-in-time certified.
Observations (6)
Input
Value
Status
Period / freshness
market_price
—
REFUSED · STALE_MARKET_DATA
— · AGING
historical_pe_percentile
25.6%
OK
— · CURRENT
historical_premium_discount
-6.7%
OK
— · CURRENT
historical_signal
NEAR_HISTORY
OK
— · CURRENT
pe_ttm
—
REFUSED · STALE_MARKET_DATA
— · AGING
historical_certification
NON_CERTIFIED_MODELED_AVAILABILITY
OK
—
Thresholds
historical percentile max
25
historical signals
BELOW_HISTORY, DEEPLY_BELOW_HISTORY
historical premium discount max exclusive
0
pe positive
yes
market current max hours
72.0
Research gap RESEARCH_GAP
UNMATCHED
No quantitative signal matched, so the research gap is not actionable by this rule.
Observations (1)
Input
Value
Status
Period / freshness
research_state
NONE
OK
— · MISSING
Thresholds
research gap states
NONE, INSUFFICIENT
requires quantitative signal
yes
Rules version P7D_RULES_V1 · snapshot built
2026-09-25 09:10:47.224149+00:00 · market freshness
AGING · persisted research state NONE.
These are deterministic screening conditions over persisted evidence, not investment
recommendations, forecasts, ratings or advice.
Values come from the persisted screening snapshot and are never recomputed
in the browser. UNKNOWN or refused inputs show as “—” with their canonical reason and are never
displayed as zero. OCF/PAT is expressed as a percentage of PAT (100 means 100% of PAT).
Add this company to one of your existing portfolios. Actions are
owner-scoped to your signed-in account. No portfolio, holding, alert or session data is rendered
into this public page.
Sign in to add this company to a
portfolio. Your portfolios and alerts remain
private to your account.
Quantity and average cost are required by the existing portfolio holding
model and stay owner-scoped. Open portfolios · Open
alerts
Valuation snapshot
ssi-iboard · UPCOM · 2026-09-21T00:00:00+00:00 · STALE DATA · retrieved 2026-09-21T08:39:20.868047+00:00 · share basis: unavailable
Price
19400.000000000000 VND
Shares outstanding
—
Market cap
375125597400.000000000000
Market capitalization
— STALE_MARKET_DATA
Earnings yield
— STALE_MARKET_DATA
P/E (TTM)
— STALE_MARKET_DATA
P/B
— STALE_MARKET_DATA
Dividend yield
— STALE_MARKET_DATA
FCF yield
— STALE_MARKET_DATA
Enterprise value
— STALE_MARKET_DATA
EV/Sales
— STALE_MARKET_DATA
EV/EBIT
— STALE_MARKET_DATA
EV/EBITDA
— STALE_MARKET_DATA
Net cash / (net debt)
— STALE_MARKET_DATA
Historical valuation
Point-in-time P/E uses only periods available on each trade date (publication-dated or lag-modeled); no negative earnings produce an observation.
Current P/E
— CURRENT_PE_UNAVAILABLE
1Y median P/E
— INSUFFICIENT_OBSERVATIONS (19 < 120)
3Y median P/E
28.72x
5Y median P/E
28.72x
25th / 75th percentile P/E
26.68 / 29.65
Min / max P/E
22.77 / 33.96 (raw 19.25 / 37.55)
Percentile rank
— UNAVAILABLE
Premium / discount to median
— UNAVAILABLE
Signal
UNAVAILABLE PERCENTILE_UNAVAILABLE
Certification
NON_CERTIFIED_MODELED_AVAILABILITY 9 observations use REPORT_LAG_MODEL; 155 observations use ANNUAL_PAT_FALLBACK
P/B history
— PARENT_EQUITY_HISTORY_UNAVAILABLE
Dividend-yield history
— DIVIDEND_PER_SHARE_HISTORY_UNAVAILABLE
P/E range 19.25x – 37.55x over stored observations.
Historical availability may be modeled from reporting-lag assumptions
(NON_CERTIFIED_MODELED_AVAILABILITY). Modeled availability is labelled and is never point-in-time
certified.
comparison inputs, not causal conclusions: revenue_growth_percent, pat_growth_percent, net_margin_percent, price_to_book
NO RESEARCH YET
Start with the evidence.
This company is searchable, but no persisted report exists. Start a run to build one from the available source documents.
Operator tooling
Internal research operations, separate from investor actions. The operator
watchlist is not a customer watchlist, and PDF export generation requires the internal operator
key. Permissions are unchanged.