FintelVentures / fintel-issues

Public repository to track bugs, issues, and feature requests for Fintel
1 stars 0 forks source link

Screener Doesn't Interpret Market Cap in Billions #17

Closed acemanhattan closed 6 years ago

acemanhattan commented 6 years ago

Take the following screen for example: ( AssetsCurrent-Liabilities ) * 0.66 > MarketCap; Price;

It returns this result (among many others):

Exchange | Symbol | Company | Assets Current | Liabilities | Market Cap | Price NASDAQ | GRMN | Garmin Ltd. | 2,078.8 | 1,195.7 | 11.08 | 59.17

Note that Garmin's actual market cap is 11.08 Billion, but that AssetsCurrent-Liabilities = 883 Million, which means this result should not show up using the screener logic above.

I believe that Market Cap is being interpreted as whole dollars (or something else, but certainly not in billions), which is causing erroneous results.

acemanhattan commented 6 years ago

An example that reveals another hint:

Exchange | Symbol | Company | Assets Current | Liabilities | Market Cap | Price NASDAQ | ABAC | Aoxin Tianli Group, Inc. | 66.12 | 3.49 | 24.75 | 2.91

Note that Aoxin's Market Cap is 24.75 Million, so this is a good result. I think the problem is that the Market Cap data is sometimes in Billions & other times in Millions, but the screener doesn't discern between the two.

risenhoover commented 6 years ago

Thanks for pointing this out - I've had a few other people mention that market caps seem off but I've never had a concrete example I could investigate to understand why. The core issue was how the company reports their shares outstanding in the XBRL part of their 10-K or 10-Q filings. In Garmin's case, it looks like they changed are reporting shares outstanding twice with very similar keys - in one case they are using the key "CommonSharesOutstanding" and in another case they are using the key "CommonStockSharesOutstanding" - further complicating the matter is that one of those is the actual value and one is the shares / 1000;

You can see the difference on these pages: https://fintel.io/fg/us/grmn/CommonSharesOutstanding and https://fintel.io/fg/us/grmn/CommonStockSharesOutstanding

I have made some changes to try and detect this situation and based on what I can tell, the issue is resolved for Garmin. If you check right away you might get some cached data that is incorrect but the numbers should get sorted within 24 hours of the next trading day.

risenhoover commented 6 years ago

Also as a side note - please submit all future bug reports on https://fintel.io/g/welcome since I don't check this github project often enough.