IMPORTANT: GICS being deprecated March 17, please use with RBICS instead

Dear All,

On March 17 we will be deprecating the GICS() function that mapped industry classification GICS (Compustat) to RBICS (FactSet). This mapping was introduced as a temporary fix to facilitate the transition from S&P Compustat to FactSet few years ago.

On March 17 any system that uses the GICS() functions will generate an error. If you are using GICS() you will need to revise your system to use RBICS(). There are several users still using GICS(), including Designer Models. We will email them individually as well.

Let us know if you have any questions.

For your convenience we are sharing the GICS to RBICS mapping that we used here:

1 Like

That’s regrettable! I have 40+ custom universes using GICS and they are used in 200+ custom series. So, my choice is scrapping it all or wasting hours to update that? Seriously, what does it cost you to keep these mapping functions? Backward compatibility is the least I expect from a decent programming language. I hope you reconsider this decision.


Does this apply to users that have an S&P license?


No, only FactSet users. S&P has GICs changes coming up and keeping the mapping is becoming a burden.

GICS to RBICS it’s also a very rough approximation. For example GICS(BIOTECH) maps to RBICS(BIOPHARMANONSYS,BIOPHARMASYS,OUTSOURCEDDRUG,HCARESVCEDIV). There are other uglier mappings, but don’t recall them now. You can see them for yourself now in the spreadsheet.

We were surprised how many GICS calls are still in use for FactSet users. We’ll see if we can postpone. But eventually the band-aid will need to be ripped off!

One thing that would make it easier to migrate would be to put the actual p123 code in the spreadsheet, example:
for GICS 3510 to RBICS: 3515 (except 35152010, 35152020, 35152025, 35152030, 35152035, 35152515), 3520
Put this in the spreadsheet:
RBICS(3515,3520) & (RBICS(35152010, 35152020, 35152025, 35152030, 35152035, 35152515)=0)
Assuming I did that correctly!
Then can copy and paste the above line into existing ports…


With P123 RBICS codes it would be a lot more readable; like my example. Might be able to generate it easily from the database. Thanks

Hi Marco,

Thank you for your attention to these changes.

When you have a moment, could you please describe what the transition is going to be like for subscribers who are using S&P data only?

For example, I am assuming that discontinued codes will still be in the database and must be used for backtesting, and that new codes and changes will begin as of March 17th. But is that correct?

Is it possible to say when p123 will post its updated help information and detail?

As I recall, p123 did a really good job handling the last set of GICS changes.

Thank you.


The upcoming GICS changes will be incorporated as they have in the past for S&P users. We’re only ending support for the GICS function for FactSet users as it requires upkeep whenever GICS or RBICS changes are made.

Thank you, Aaron. Appreciate your immediate and clear reply.


Are those formulas affected?, which I am using in my ranking systems, I think not, just want to be sure.


Thank you Andreas

No, these already rely on RBICS (unless you’re a Compustat subscriber).

cool thank you!!!

How do I get a list of my systems that are affected?

I used the Ranking System Search (or click the search bar, then Advanced Research Search, then select Components followed by Ranking System). Make sure your name is in the Author field and enter “GICS” into the “Factors Contain” field.

We have updated the google spreadsheet so that you can copy/paste directly into your rules

As you know, some codes are different in GICS vs RBICS. So, for example, GICS(FINANCIAL) == GICS(40) while RBICS(FINANCIAL) == RBCIS(30).

How does the system know which constant value to use?

@Chipper6 P123 codes are resolved contextually in the GICS() and RBICS() functions.

The issue I am running into with GICS to RBICS conversion is that the mappings are often not 1 to 1.
Eg., I want to remove all lending businesess from my universe. When I exclude RBICS 303010, it excludes financial software businesses like V, MA, FISV, COIN, FIS, GPN, etc. on the other hand it excludes AXP, ALLY, CACC, SYF etc like i want it to

Any suggestions for a solution?

Hmm, those tickers all map to the same RBICS subindustry (30301015), so I don’t think it’s possible to use RBICS alone.

I see two options if you still need to differentiate them.

  1. Subscribe to Compustat and continue to use GICS.
  2. Use StockID/Ticker/etc to manually filter.

#2 isn’t very scalable, but #1 isn’t very inexpensive.