Preliminary estimates only, the audited annual report has not yet been published.
Preliminary FY2025 figures (consolidated):
Revenue: 2,951 million PLN
Net profit: 112 million PLN
Implied Q4 2025 standalone (FY minus 9M):
Revenue: ~1,051 million PLN
Net profit: ~61.8 million PLN
Factset got the Q4 2025 revenue number right but botched the net profit. Net Income available to Common for Dec '25 (Preliminary): 259.768 (millions of PLN).
I believe the FY2025 annual report is scheduled for publication soon.
If not fixed by next week, I'll report to Factset.
In addition, why not to periodically ask Factset to fix 'one quarter period' issue as the one with Querqus TFI SA. You can run API request to to screen these stocks and schedule automatic email to Factset.
There are not many such stocks but I hold one and do not know what to do ...
This one one the way to filter these stocks:
Universe: Easy Trade Trade Europe
Rules: MedianDailyTot(90)>5000 & InterimMonths(0)=3 & salespq=NA & salesA
Ticker
Name
CSG:NLD
CSG NV
TKMS:DEU
TKMS AG & Co. KGaA
ABG:NOR
ABG Sundal Collier Holding ASA
LASTIK:FIN
Lassila & Tikanoja Oyj /New/
DELIA:NOR
Dellia Group AS
BO:DNK
Bang & Olufsen A/S
AKHAN.E:TUR
Akhan Un Fabrikasi ve Tarim Ürünleri Gida Sanayi Ticaret AS
I'm afraid just calling out discrepancies isn't enough to substantiate a report. Factset typically asks for the SQL in order to replicate the error. ACT:POL is an example. I provided the reported earning and share count and that wasn't sufficient. SQL code was requested.
StaleStmt flag has low accuracy for European stocks.
StaleStmt=0 selects many false negative.
Do you have the same opinion ? Which flag do you use for excluding European stocks with stale financials ?
This is one alternative but not accurate: DaysSince(LatestNewsDate) > 170
Is there any FactSet documentation how StaleStmt works for European / Asian Stocks ?
this is current documentation:
Stale Flag Returns 1 (TRUE) when there's no data in the database for the latest period that is publicly available from a press release or SEC filing
My read of the Factset info is that European company earnings data comes from mandatory disclosure platforms that several countries require its listed companies to use:
UK — RNS (London Stock Exchange's Regulatory News Service) and FECA (FCA filings)
Germany — DGAP, the mandatory corporate disclosure wire
Nordic/Baltic — OMX (Nasdaq's Nordic/Baltic exchange platform covering Sweden, Finland, Denmark, Iceland and the Baltics) and MFN (a Nordic newswire)
Norway — OBS (Oslo Børs)
Spain — BME (Bolsas y Mercados Españoles)
Italy — BIT (Borsa Italiana)
Poland — PAPE (financial regulator) and PAPM (Warsaw Stock Exchange)
These mandatory platforms consist of;
Stock Exchange Filing Systems Direct feeds from exchange-operated disclosure platforms where listed companies are required to file
Government/Regulatory Filing Systems Mandatory filings with a national securities regulator rather than an exchange
Newswire / Regulatory News Services Mandatory or widely-used distribution wires for corporate announcements
Company Direct / Web-Based Sources
Third-Party / Aggregator Sources
For companies not in FactSet's feed coverage, FactSet relies on FAI (FactSet Annuals and Interims), a proprietary source that monitors company websites and stock exchange filings.
Thanks for the information, though we are still left with many unknowns.
Based on my experience—primarily with Polish equities—the StaleStmt flag is somewhat reliable for mid- and large-caps, but highly unreliable for micro- and small-caps. For smaller companies, you will encounter frequent false negatives where an entity has already published its earnings, but the update is not yet reflected in the FactSet database, while StaleStmt remains at 0, which is incorrect.
The following needs more work, but I think it's accurate.
PIT Method, CompleteStmt, and StaleStmt interact in a fairly systematic way once the underlying logic is understood.
The key distinction is:
PIT Method = Use - Exposes preliminary filings when they are available, otherwise it exposes the finalized filing.
PIT Method = Exclude - Only exposes finalized filings and ignores preliminary filings entirely
An important consequence is that preliminary filings are typically incomplete by nature, so when a preliminary filing is being used, CompleteStmt will generally be 0.
StaleStmt measures something different. It indicates whether the exposed filing is lagging behind a newly released company reports.
So:
Flag
Meaning
CompleteStmt=1
The exposed filing is final/complete
CompleteStmt=0
The exposed filing is preliminary/incomplete
StaleStmt=1
The exposed filing is lagging behind a newer released company report
StaleStmt=0
The exposed filing is considered current
For the Poland universe of 528 stocks, the behavior is as follows.
PIT Method = Exclude
Under Exclude, preliminary filings are ignored entirely.
CompleteStmt
StaleStmt
Screener Count
Meaning
1
0
431
Complete filing, current.
1
1
97
Complete filing, but a newer company report has since been released.
0
0
0
Does not occur — preliminary filings are excluded.
0
1
0
Does not occur — preliminary filings are excluded.
Total:
431 + 97 = 528
So under Exclude, every stock uses final/complete data, and the only distinction is whether that data is current or stale.
PIT Method = Use
Under Use, preliminary filings are used when available.
CompleteStmt
StaleStmt
Screener Count
Meaning
1
0
431
Complete filing, current.
1
1
9
Complete filing, but a newer company report has been released and not yet processed into the database.
0
0
88
Preliminary filing, current.
0
1
0
Does not normally occur — preliminary filings are treated as current when available.
Total:
431 + 9 + 88 = 528
The key transition between the two modes is:
88 stocks that were previously stale, complete filings under Exclude become current, preliminary filings under Use.
As a result, the stale count drops from 97 to 9.
So conceptually:
CompleteStmt answers the question: is the currently exposed filing finalized? It returns TRUE when the filing is finalized/complete; FALSE when it contains pre-announcement or preliminary data.
StaleStmt answers a different but related question: is the currently exposed filing already obsolete? It returns TRUE when a newer company report exists publicly but is not exposed in the database. In other words, the filing P123 is showing you is lagging behind what the company has already disclosed.
PIT Method = Use is the database policy setting that connects these two flags operationally. With this setting active, P123 reduces staleness by allowing a current preliminary filing to substitute for an older finalized one when the preliminary is available. The tradeoff is explicit: you get more timely data at the cost of completeness.
Thank you for the clear explanation. Now I have better understanding how these factors works together.
However, here is an example showing why the StaleStmt flag remains unreliable (for some stocks), even with PIT Method set to Exclude .
As of May 22, 2026, Mostostal Płock SA (MSP:POL) shows DaysLate = 194, CompleteStmt = 1, but StaleStmt = 0 .
The Database State: A DaysLate of 194 indicates the system is still pointing to the Q3 2025 statement (period ending Sept 30, 2025).
The Reality (PAP ESPI filings): The company published its finalized Annual 2025 Report on April 22, 2026, and its Q1 2026 Report on May 6, 2026.
StaleStmt should have flipped to 1, because two newer finalized reports have been released publicly but are not yet processed in the database, Please correct me if my understanding is wrong.
The Annual 2025 Report (filed April 22, 2026) is in the database and was recognized and processed correctly.
However, the Q1 2026 Report (filed May 6, 2026) has not been picked up by FactSet. FactSet's projected report date for the fiscal quarter ending March 2026 is June 3, 2026, and the CompleteStmt and StaleStmt flags are consistent with that projected date rather than the actual filing date.
This discrepancy requires more inspection to determine why the May 6 filing was not recognized and whether a manual update is needed.
A problem with the StaleStmt flag for most of the semi annual reporting companies is that they are basically flagged 6 month a year as Stale. Most companies do report a "Quarterly Statement" that is not treated as an official " Quarterly Financial Report", when they file the "Quarterly Statement" that is not treated as " Quarterly Financial Report", the StaleStmt flag is raised...
All Australian stocks report 6 monthly but they do not release quarterly reports (BHP and maybe one or two multinationals are an exception). Just putting this here for anyone reading later when we have Asian data.
What about the DaysLate flag for European stocks? Does the factor description for DaysLate also apply to European stocks?
Below is an example of what appears to be a false positive. Currently, DaysLate = 1 , but this does not seem to be correct. According to the company's published reporting schedule , the next earnings report is expected on 30 June.
Since the DaysLate clock begins when the unreported interim period ends, the calculation for BCM starts on March 31, 2026, which is the end date of the pending reporting period.
From March 31, 2026 through June 17, 2026 (inclusive), 78 days have elapsed. Because this report is the Q4+annual report, a 75-day grace period applies. Subtracting the 75-day allowance from the 78 elapsed days leaves 3 days late.
In other words:
Reporting period end date: March 31, 2026
Days elapsed through June 17, 2026: 78
Annual report grace period: 75 days
Days late: 78 − 75 = 3 days
Therefore, BCM is correctly calculated as 3 days late as of June 17, 2026.
The logic works by taking the latest reported interim and adding three months, so it doesn't support semi-annual reporting at all, which is common in Europe. DaysLate isn't applicable to companies with semi-annual reporting.