Data available in fundamental chart but missing in screener/panels

I found that there is missing data for some European stocks (e.g. APT:POL, CFI:POL) in the screener and panels but is available in the fundamental chart.

Example for APT:POL, the official figures for sales are as follows:
Q3/2023: 108.678
Q2/2023: 92.133
Q1/2023: 127.813
Q4/2022: 127.261

In the screener I can see data only for Q3/2023 (SalesQ):

In fundamental chart there is some data, for Q3/2023, the next is for Q1/2023 ....

P123 staff, can you why for example data for Q1/2023 is missing
in the screener ?
I found similar case for CFI:POL, and probably there more ...

In addition as the figure below shows, there is a lot of data in P123 database but the only figure for Sales I found in Screener is the most recent one - SalesQ. Can you explain this ? Thanks.

What formula are you using in the screener? I'm not finding many N/As.

The stock ticker is ATP:POL (I made typo in previous post)
Similar case is KMP:POL, and some others which SalesPQ is missing.
Here is my formula:

Thanks for checking.

I found out what's going on.

If there's a significant gap in the data we receive, we discard previous data to avoid really messy things happening. The limits are as follows:

Annuals:

  • Gap between statements can be up to 560 days apart before all preceding annuals are discarded.

Interims (quarterly and semiannual):

  • Latest statement can be up to 450 days apart before a company doesn't have interims.
  • Historical statements can be up to 150 days apart before all preceding interims are discarded.
  • If a company switches between quarterly and semiannual, all preceding interims are discarded.

However, in the fundamental chart, the data still exists because the chart uses as-of-dates in the past regarding a specific item.

If you want to reproduce those items in the screener, you could try using the FHist commands.

Thanks, I expected that this is the cause (unfortunately).
In other words, if FactSet does not deliver interim data for just one quarter then the whole interim history is gone. It is quite aggressive procedure in my opinion.

I can see that possible 'vistims' of this procedure are 1% of US stocks, 5% of European stocks (using this rule LoopSum("Sales(CTR, QTR)=NA", 20,1)=20)

This is how it looks for DEL:POL, interim data is missing, annual data is available.

Is it the only solution that can be applied ? This is just one data point. It can be NA and the history can be preserved.

Right, but it's temporary, and only around the time when the hole is. For example if there's a missing quarter 9 months ago, everything is fine with an observation date 10 months ago.

From our experience with FactSet so far, the holes most likely are there to stay (i.e. there's a good reason for it) or will take a long time for FacSet to fix them.

So the only other quick "solution" is for us to load the missing quarter and fill it with NA's, and load the rest of the data. However it's hard to imagine a use case for doing so since factors like TTM and PTM cannot be calculated, and will be NA.

On the other hand, there might be cases where it's a correctable error, for example:

  1. The company made up in the following quarter
  2. It was caused by a change in fiscal year which could potentially be fixed

We have not considered these possibilities. We can try to spot check some of the companies and see if there are quick fixes for some. This problem seems to affect around 1.5% of the companies in Easy to Trade US (see rules below). That's 48 of 3,700 with 26 of them having non USA domicile. I have not yet examined companies with 6 month periods or European ones.

Thanks for pointing this out. We'll see..

How to find companies missing one or more quarters

The first rule only looks at stocks with 3 month interims. The second rule makes sure there was a value for SalesQ 9 quarters ago. The third rule looks for companies that have at least one missing quarter in the past 8.

InterimMonths(0)=3
FHist("salesq",13*9)!=NA
@firstna:LoopSum("Sales(CTR,QTR)!=NA",8)<8

1 Like

Thank you. I understand that this is not easy case.

I applied this rule for Europe (inc. foreign primary) universe and it affects 477 out of 8283 stocks, but if I narrow to universe of Polish stocks, it affects 151 out of 525 Polish stocks (28.7%).

It seems that Polish stocks are prime victims of this case,
I'm not happy because I invest 50% of my assets in Poland.

I would be happy if you could fix it.
You could ask FactSet to explain why Polish stocks are so affected by missing data, maybe they can fix it. I do not want to lose 30% of market forever....

Thanks, Piotr

Just so we're on the same page...

We're not debating whether stopping the data due a missing quarter , which makes it impossible to compute ratios, is good or bad.

Simply that FactSet needs to explain why there are missing quarters, and correct if it's possible.

But like I said, I expect no more than 1-2% of those stocks to maybe get fixed. Perhaps a more robust solution is to rely on annuals in certain regions where reporting regulations are more forgiving, and attitudes are, let's say, more relaxed.

Here are the four biggest companies in Poland (around $500M) that have a missing quarter recently. Anyone know the reason? I can start asking FactSet why these are missing Q's and see what they say.

And it's not like the next quarter is double the revenue. It looks like data is simply missing

I checked MLP Group.
There is no news in local sources about Q12023 earnings that could indicate that the earnings were reported in different way.
I checked three sources: Capital IQ, finance.yahoo.com (Morningstar), and a local data provider and everywhere the data is available.

It is likely to be an error from FactSet side. It happens for each company. They have ~90k entities under coverage, billions of data points.

Many thanks for checking this.

Turns out Yuval had reported about 200 Polish tickers to Factset October of last year. They said they had fixed around 80. Which they did. The missing quarters we reported appeared, but one of the ones they fixed broke again.

So it seems there's something unreliable with their collection scripts in Poland. I'm assuming they are working on it, but until it's resolved we just have to keep reporting them the issues.

And from our side, unless we come up with a workaround, missing data = full stop is the right approach. Potential workarounds could be interpolation or deriving from the annual data. I suppose these are better than NA? But will require some effort.

Update:

After we reported the four biggest Polish companies to FactSet they fixed two of them: ECH:POL and MLG:POL. They now look fine in our Snapshot. They are working on the other two. The reason given is "due to Document Issue". Whatever that means.

They are also asking us to continue reporting to them companies with data issues. So I guess we are now part of their QA process :slight_smile: Let us know of any specific ones. We will be feeding them issues in bite-sized chunks.

Thanks

Thanks, this is great news.
Maybe nobody has asked before and they did not care ... :slight_smile:
The rules you provided are good to filter out companies with missing financials:

Country("SWE") or Country("POL")
InterimMonths(0)=3
FHist("salesq",13*9)!=NA
@firstna:LoopSum("Sales(CTR,QTR)!=NA",8)<8

I added Swedish stocks, there are ~8% stocks affected by this issue. I believe also that we have many users from Sweden who would be happy to see more local stocks.

In addition, I would be interested to know why Factset does not offer all the Polish stocks listed on WSE ?
There are 523 Polish stocks in 'Europe (Incl. Foreign Primary)' universe.
On the other hand, there are 766 stocks currently listed on WSE.
One example is PRO:POL, there is no fundamental data in P123 but the data is available in Capital IQ Pro or in a local data provider.