Skip to content

Conversation

@kat-star-me
Copy link

The EU has recently released the new nace classification version 2.1. I have added a new module to support 2.1 (rather than overwriting the existing one for revision 2, as this is probably still widely used).
The data was collected here: https://showvoc.op.europa.eu/#/datasets/ESTAT_Statistical_Classification_of_Economic_Activities_in_the_European_Community_Rev._2.1._%28NACE_2.1%29/downloads
I am attaching the script I used for reformatting this into the numdb format.

prepare_nace21_dat.py

The file provided contains the label in all European languages, a future improvement could be to support for mutliple languages for the nace descriptions.

@arthurdejong
Copy link
Owner

Hi @kat-star-me,

Thanks for providing this. I see this mostly consists of a new data file (the nace21.py file is just a copy from nace.py with a minor tweak). From a glance it seems that the changes to the nace21.dat file are also not that big and seems to be a mostly incremental change.

Do you think it is a good idea to just replace the 2.0 NACE data file with the 2.1 version?

An alternative would be to have a single implementation and some way to switch between versions 2.0 and 2.1 but that mostly depends on whether it is a good idea to keep the 2.0 implementation around at all.

@kat-star-me
Copy link
Author

kat-star-me commented Oct 27, 2025

Hi @arthurdejong
I was wondering about this myself. The EU requires the switch to happen by 1.1.2026, so maybe it would be fine to just substitute: https://www.ecb.europa.eu/home/doc/ecb.JBRC_advice_on_NACE_revision.en.pdf
But I can't estimate how quickly the conversion and adaptation actually happens in the industry, so my tendency was to keep it just in case. My aim was to remain backwards compatible. But from what I understand 2.1 and 2.0 are not two definitions meant to co-exist. One is replacing the other.

We could create submodules for 2.0 and 2.1 in nace (so stdnum.nace.v2.1 and stdnum.nace.v2.0) and set one of them to be default for a cleaner structure.

KathrinM added 2 commits November 6, 2025 12:22
Added structure to make rev2.1 and rev2.0 submodules of nace.
2.1 is default, but rev2.0 remains accessible per address
@kat-star-me
Copy link
Author

Hi @arthurdejong
I've gone ahead and created a structure that would allow us to keep the old and the new standard available by direct address as nace.v2_1 and nace.v2_0.

You can still import nace and use it as before. It will forward the calls to nace.v2_1 for now.. but people would be able to use nace.v2_0 if they still needed the old classifications.

Let me know if this is a workable solution for you. If not, and given the fact that we're already in November, it's probably safe to simply update the data to 2.1 and remove 2.0.

regards

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants