├── .codeclimate.yml
├── .gitignore
├── .scrutinizer.yml
├── .travis.yml
├── LICENSE
├── README.md
├── ToDo.md
├── data
├── osha_combined.csv
└── sec_combined.csv
├── notebooks
└── compare_sic_lists.ipynb
├── reference
├── SicCodesAllLevels.xls
├── download.sh
└── to_csv.py
├── requirements.txt
├── src
├── __init__.py
├── config.py
├── main.py
├── scrape_sic_osha.py
├── scrape_sic_sec.py
├── soup.py
└── type.py
└── tests
├── __init__.py
├── context.py
├── ref_list.csv
├── ref_osha_combined.csv
├── ref_sec_combined.csv
├── test_clean_desc.py
├── test_clean_out.py
├── test_compare.py
├── test_get_all.py
├── test_get_divisions.py
├── test_get_major.py
├── test_osha_save.py
├── test_save_all.py
└── test_sic_sec.py
/.codeclimate.yml:
--------------------------------------------------------------------------------
1 | engines:
2 | radon:
3 | enabled: true
4 | pep8:
5 | enabled: true
6 | duplication:
7 | enabled: true
8 | config:
9 | languages:
10 | - python
11 |
12 | ratings:
13 | paths:
14 | - src/**
15 |
16 | exclude_paths:
17 | - tests/**/*
18 | - notebooks/**/*
19 | - venv/**/*
20 | - "**/vendor/**/*"
21 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.swp
2 | *.pkl
3 | HTML_copies/
4 | data/*.pkl
5 |
6 | # Byte-compiled / optimized / DLL files
7 | __pycache__/
8 | *.py[cod]
9 | *$py.class
10 |
11 | # C extensions
12 | *.so
13 |
14 | # Distribution / packaging
15 | .Python
16 | env/
17 | build/
18 | develop-eggs/
19 | dist/
20 | downloads/
21 | eggs/
22 | .eggs/
23 | lib/
24 | lib64/
25 | parts/
26 | sdist/
27 | var/
28 | *.egg-info/
29 | .installed.cfg
30 | *.egg
31 |
32 | # PyInstaller
33 | # Usually these files are written by a python script from a template
34 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
35 | *.manifest
36 | *.spec
37 |
38 | # Installer logs
39 | pip-log.txt
40 | pip-delete-this-directory.txt
41 |
42 | # Unit test / coverage reports
43 | htmlcov/
44 | .tox/
45 | .coverage
46 | .coverage.*
47 | .cache
48 | nosetests.xml
49 | coverage.xml
50 | *,cover
51 | .hypothesis/
52 |
53 | # Translations
54 | *.mo
55 | *.pot
56 |
57 | # Django stuff:
58 | *.log
59 | local_settings.py
60 |
61 | # Flask stuff:
62 | instance/
63 | .webassets-cache
64 |
65 | # Scrapy stuff:
66 | .scrapy
67 |
68 | # Sphinx documentation
69 | docs/_build/
70 |
71 | # PyBuilder
72 | target/
73 |
74 | # IPython Notebook
75 | .ipynb_checkpoints
76 |
77 | # pyenv
78 | .python-version
79 |
80 | # celery beat schedule file
81 | celerybeat-schedule
82 |
83 | # dotenv
84 | .env
85 |
86 | # virtualenv
87 | venv/
88 | ENV/
89 |
90 | # Spyder project settings
91 | .spyderproject
92 |
93 | # Rope project settings
94 | .ropeproject
95 |
--------------------------------------------------------------------------------
/.scrutinizer.yml:
--------------------------------------------------------------------------------
1 | checks:
2 | python:
3 | code_rating: true
4 | duplicate_code: true
5 |
6 | tools:
7 | pylint:
8 | python_version: 2
9 |
10 | filter:
11 | excluded_paths:
12 | - '*/test/*'
13 | - '*/notebooks/*'
14 | - '*.min.js'
15 | - 'venv/*'
16 | - 'HTML_copies/*'
17 | - 'tests/*'
18 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: false
2 | language: python
3 | cache: pip
4 | python:
5 | - 2.7
6 |
7 | notifications:
8 | email:
9 | on_success: never
10 | on_failure: change
11 |
12 | before_install:
13 | - pip install setuptools==25.2.0
14 |
15 | install:
16 | - pip install -r requirements.txt --download-cache $HOME/.pip-cache
17 | - pip install coveralls
18 |
19 | script:
20 | - python src/main.py
21 | - py.test --cov=src tests/
22 | - flake8 --statistics --show-source --disable-noqa scrape_sic
23 |
24 | after_success:
25 | - coveralls
26 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "{}"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright {yyyy} {name of copyright owner}
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # SIC codes for download -- open source edition
2 |
3 | [](https://travis-ci.org/rtlee9/SIC-list)
4 | [](https://coveralls.io/github/rtlee9/SIC-list?branch=)
5 | [](https://codeclimate.com/github/rtlee9/SIC-list)
6 | [](LICENSE)
7 | [](https://www.python.org/download/releases/2.7/)
8 |
9 | This repo provides lists of four-digit SIC codes scraped from the websites of two government agencies: the [SEC](https://www.sec.gov/info/edgar/siccodes.htm) and [OSHA](https://www.osha.gov/pls/imis/sic_manual.html). The cleaned lists can be downloaded [here](https://raw.githubusercontent.com/rtlee9/SIC-list/master/data/sec_combined.csv) and [here](https://raw.githubusercontent.com/rtlee9/SIC-list/master/data/osha_combined.csv), respectively, and refresh instructions can be found below.
10 |
11 | ## Background
12 | The Standard Industrial Classification (SIC) is a system used to classify businesses by their primary business activity, or industry. The SIC system was created in the 1930's and has since been [replaced](https://www.census.gov/eos/www/naics/faqs/faqs.html#q8) as the industry classification system for Federal statistical agencies; however, it is still widely used by many businesses and by some government agencies.
13 |
14 | ## Authoritative sources
15 |
16 | SIC codes were once maintained and assigned by the US government. I've found that only two government agencies currently publish a list of SIC codes and descriptions:
17 |
18 | | Source | Version | Use case |
19 | | ------ | ------- | -------- |
20 | | [Occupational Safety & Health Administration (OSHA)](https://www.osha.gov/pls/imis/sic_manual.html) | 1987 SIC manual | Unknown |
21 | | [U.S. Securities and Exchange Commission (SEC)](https://www.sec.gov/info/edgar/siccodes.htm) | No version provided, but the SEC website indicates the webpage was last modified January 25, 2015 | Used in [EDGAR](https://www.sec.gov/edgar/searchedgar/companysearch.html) electronic filings |
22 |
23 | The SIC codes provided by the SEC generally align with those provided by OSHA; however, OSHA's SIC manual is more comprehensive -- it contains many more SIC codes than does the SEC's list.
24 |
25 | ## Other sources
26 |
27 | There are a number of online sources that provide SIC codes and descriptions, though I've found none that provide all of the following:
28 | * The source of their data
29 | * Their code, if relevant
30 | * Machine readable data
31 |
32 | Taken together, these are important for assessing data quality and reliability. The purpose of this repository is to provide SIC codes in adherence with these standards.
33 |
34 | ## Usage
35 |
36 | The latest data can be found in the root directory. To refresh:
37 |
38 | 1. Install Python 2.7
39 | 1. Install python requirements: `$ pip install -r requirements.txt`
40 | 1. From the command line run `$ python src/main.py`
41 |
42 | ## License
43 | [Apache License 2.0](LICENSE)
44 |
--------------------------------------------------------------------------------
/ToDo.md:
--------------------------------------------------------------------------------
1 | # To DO
2 |
3 | * [x] Add testing scripts
4 | * [x] Connect with Travis CI
5 | * [x] Fix coveralls
6 | * [x] Test Travis CI build caching (--download-cache has been deprecated)
7 | * [x] Group pip installs
8 | * [ ] Scrape SIC codes, descriptions and structure from OSHA website
9 | * [x] Consider docker or virtualenv (using virtualenv, requirements in `requirements.txt`)
10 |
--------------------------------------------------------------------------------
/data/sec_combined.csv:
--------------------------------------------------------------------------------
1 | "SIC4_cd","AD_office","industry_title"
2 | "100","5","AGRICULTURAL PRODUCTION-CROPS"
3 | "200","5","AGRICULTURAL PROD-LIVESTOCK & ANIMAL SPECIALTIES"
4 | "700","5","AGRICULTURAL SERVICES"
5 | "800","5","FORESTRY"
6 | "900","5","FISHING, HUNTING AND TRAPPING"
7 | "1000","9","METAL MINING"
8 | "1040","9","GOLD AND SILVER ORES"
9 | "1090","9","MISCELLANEOUS METAL ORES"
10 | "1220","9","BITUMINOUS COAL & LIGNITE MINING"
11 | "1221","9","BITUMINOUS COAL & LIGNITE SURFACE MINING"
12 | "1311","4","CRUDE PETROLEUM & NATURAL GAS"
13 | "1381","4","DRILLING OIL & GAS WELLS"
14 | "1382","4","OIL & GAS FIELD EXPLORATION SERVICES"
15 | "1389","4","OIL & GAS FIELD SERVICES, NEC"
16 | "1400","9","MINING & QUARRYING OF NONMETALLIC MINERALS (NO FUELS)"
17 | "1520","6","GENERAL BLDG CONTRACTORS - RESIDENTIAL BLDGS"
18 | "1531","6","OPERATIVE BUILDERS"
19 | "1540","6","GENERAL BLDG CONTRACTORS - NONRESIDENTIAL BLDGS"
20 | "1600","6","HEAVY CONSTRUCTION OTHER THAN BLDG CONST - CONTRACTORS"
21 | "1623","6","WATER, SEWER, PIPELINE, COMM & POWER LINE CONSTRUCTION"
22 | "1700","6","CONSTRUCTION - SPECIAL TRADE CONTRACTORS"
23 | "1731","6","ELECTRICAL WORK"
24 | "2000","4","FOOD AND KINDRED PRODUCTS"
25 | "2011","5","MEAT PACKING PLANTS"
26 | "2013","5","SAUSAGES & OTHER PREPARED MEAT PRODUCTS"
27 | "2015","5","POULTRY SLAUGHTERING AND PROCESSING"
28 | "2020","4","DAIRY PRODUCTS"
29 | "2024","4","ICE CREAM & FROZEN DESSERTS"
30 | "2030","4","CANNED, FROZEN & PRESERVD FRUIT, VEG & FOOD SPECIALTIES"
31 | "2033","4","CANNED, FRUITS, VEG, PRESERVES, JAMS & JELLIES"
32 | "2040","4","GRAIN MILL PRODUCTS"
33 | "2050","4","BAKERY PRODUCTS"
34 | "2052","4","COOKIES & CRACKERS"
35 | "2060","4","SUGAR & CONFECTIONERY PRODUCTS"
36 | "2070","4","FATS & OILS"
37 | "2080","9","BEVERAGES"
38 | "2082","9","MALT BEVERAGES"
39 | "2086","9","BOTTLED & CANNED SOFT DRINKS & CARBONATED WATERS"
40 | "2090","4","MISCELLANEOUS FOOD PREPARATIONS & KINDRED PRODUCTS"
41 | "2092","4","PREPARED FRESH OR FROZEN FISH & SEAFOODS"
42 | "2100","5","TOBACCO PRODUCTS"
43 | "2111","5","CIGARETTES"
44 | "2200","2","TEXTILE MILL PRODUCTS"
45 | "2211","2","BROADWOVEN FABRIC MILLS, COTTON"
46 | "2221","2","BROADWOVEN FABRIC MILLS, MAN MADE FIBER & SILK"
47 | "2250","2","KNITTING MILLS"
48 | "2253","9","KNIT OUTERWEAR MILLS"
49 | "2273","2","CARPETS & RUGS"
50 | "2300","9","APPAREL & OTHER FINISHD PRODS OF FABRICS & SIMILAR MATL"
51 | "2320","9","MEN'S & BOYS' FURNISHGS, WORK CLOTHG, & ALLIED GARMENTS"
52 | "2330","9","WOMEN'S, MISSES', AND JUNIORS OUTERWEAR"
53 | "2340","9","WOMEN'S, MISSES', CHILDREN'S & INFANTS' UNDERGARMENTS"
54 | "2390","9","MISCELLANEOUS FABRICATED TEXTILE PRODUCTS"
55 | "2400","6","LUMBER & WOOD PRODUCTS (NO FURNITURE)"
56 | "2421","6","SAWMILLS & PLANTING MILLS, GENERAL"
57 | "2430","6","MILLWOOD, VENEER, PLYWOOD, & STRUCTURAL WOOD MEMBERS"
58 | "2451","6","MOBILE HOMES"
59 | "2452","6","PREFABRICATED WOOD BLDGS & COMPONENTS"
60 | "2510","6","HOUSEHOLD FURNITURE"
61 | "2511","6","WOOD HOUSEHOLD FURNITURE, (NO UPHOLSTERED)"
62 | "2520","6","OFFICE FURNITURE"
63 | "2522","6","OFFICE FURNITURE (NO WOOD)"
64 | "2531","6","PUBLIC BLDG & RELATED FURNITURE"
65 | "2540","6","PARTITIONS, SHELVG, LOCKERS, & OFFICE & STORE FIXTURES"
66 | "2590","6","MISCELLANEOUS FURNITURE & FIXTURES"
67 | "2600","4","PAPERS & ALLIED PRODUCTS"
68 | "2611","4","PULP MILLS"
69 | "2621","4","PAPER MILLS"
70 | "2631","4","PAPERBOARD MILLS"
71 | "2650","4","PAPERBOARD CONTAINERS & BOXES"
72 | "2670","4","CONVERTED PAPER & PAPERBOARD PRODS (NO CONTANERS/BOXES)"
73 | "2673","6","PLASTICS, FOIL & COATED PAPER BAGS"
74 | "2711","5","NEWSPAPERS: PUBLISHING OR PUBLISHING & PRINTING"
75 | "2721","5","PERIODICALS: PUBLISHING OR PUBLISHING & PRINTING"
76 | "2731","5","BOOKS: PUBLISHING OR PUBLISHING & PRINTING"
77 | "2732","5","BOOK PRINTING"
78 | "2741","5","MISCELLANEOUS PUBLISHING"
79 | "2750","5","COMMERCIAL PRINTING"
80 | "2761","5","MANIFOLD BUSINESS FORMS"
81 | "2771","5","GREETING CARDS"
82 | "2780","5","BLANKBOOKS, LOOSELEAF BINDERS & BOOKBINDG & RELATD WORK"
83 | "2790","5","SERVICE INDUSTRIES FOR THE PRINTING TRADE"
84 | "2800","6","CHEMICALS & ALLIED PRODUCTS"
85 | "2810","6","INDUSTRIAL INORGANIC CHEMICALS"
86 | "2820","6","PLASTIC MATERIAL, SYNTH RESIN/RUBBER, CELLULOS (NO GLASS)"
87 | "2821","6","PLASTIC MATERIALS, SYNTH RESINS & NONVULCAN ELASTOMERS"
88 | "2833","1","MEDICINAL CHEMICALS & BOTANICAL PRODUCTS"
89 | "2834","1","PHARMACEUTICAL PREPARATIONS"
90 | "2835","1","IN VITRO & IN VIVO DIAGNOSTIC SUBSTANCES"
91 | "2836","1","BIOLOGICAL PRODUCTS, (NO DISGNOSTIC SUBSTANCES)"
92 | "2840","6","SOAP, DETERGENTS, CLEANG PREPARATIONS, PERFUMES, COSMETICS"
93 | "2842","6","SPECIALTY CLEANING, POLISHING AND SANITATION PREPARATIONS"
94 | "2844","6","PERFUMES, COSMETICS & OTHER TOILET PREPARATIONS"
95 | "2851","6","PAINTS, VARNISHES, LACQUERS, ENAMELS & ALLIED PRODS"
96 | "2860","6","INDUSTRIAL ORGANIC CHEMICALS"
97 | "2870","5","AGRICULTURAL CHEMICALS"
98 | "2890","6","MISCELLANEOUS CHEMICAL PRODUCTS"
99 | "2891","6","ADHESIVES & SEALANTS"
100 | "2911","4","PETROLEUM REFINING"
101 | "2950","6","ASPHALT PAVING & ROOFING MATERIALS"
102 | "2990","6","MISCELLANEOUS PRODUCTS OF PETROLEUM & COAL"
103 | "3011","6","TIRES & INNER TUBES"
104 | "3021","6","RUBBER & PLASTICS FOOTWEAR"
105 | "3050","6","GASKETS, PACKG & SEALG DEVICES & RUBBER & PLASTICS HOSE"
106 | "3060","6","FABRICATED RUBBER PRODUCTS, NEC"
107 | "3080","6","MISCELLANEOUS PLASTICS PRODUCTS"
108 | "3081","6","UNSUPPORTED PLASTICS FILM & SHEET"
109 | "3086","6","PLASTICS FOAM PRODUCTS"
110 | "3089","6","PLASTICS PRODUCTS, NEC"
111 | "3100","9","LEATHER & LEATHER PRODUCTS"
112 | "3140","9","FOOTWEAR, (NO RUBBER)"
113 | "3211","6","FLAT GLASS"
114 | "3220","6","GLASS & GLASSWARE, PRESSED OR BLOWN"
115 | "3221","6","GLASS CONTAINERS"
116 | "3231","6","GLASS PRODUCTS, MADE OF PURCHASED GLASS"
117 | "3241","6","CEMENT, HYDRAULIC"
118 | "3250","6","STRUCTURAL CLAY PRODUCTS"
119 | "3260","6","POTTERY & RELATED PRODUCTS"
120 | "3270","6","CONCRETE, GYPSUM & PLASTER PRODUCTS"
121 | "3272","6","CONCRETE PRODUCTS, EXCEPT BLOCK & BRICK"
122 | "3281","6","CUT STONE & STONE PRODUCTS"
123 | "3290","6","ABRASIVE, ASBESTOS & MISC NONMETALLIC MINERAL PRODS"
124 | "3310","6","STEEL WORKS, BLAST FURNACES & ROLLING & FINISHING MILLS"
125 | "3312","6","STEEL WORKS, BLAST FURNACES & ROLLING MILLS (COKE OVENS)"
126 | "3317","6","STEEL PIPE & TUBES"
127 | "3320","6","IRON & STEEL FOUNDRIES"
128 | "3330","9","PRIMARY SMELTING & REFINING OF NONFERROUS METALS"
129 | "3334","9","PRIMARY PRODUCTION OF ALUMINUM"
130 | "3341","6","SECONDARY SMELTING & REFINING OF NONFERROUS METALS"
131 | "3350","6","ROLLING DRAWING & EXTRUDING OF NONFERROUS METALS"
132 | "3357","6","DRAWING & INSULATING OF NONFERROUS WIRE"
133 | "3360","6","NONFERROUS FOUNDRIES (CASTINGS)"
134 | "3390","6","MISCELLANEOUS PRIMARY METAL PRODUCTS"
135 | "3411","6","METAL CANS"
136 | "3412","6","METAL SHIPPING BARRELS, DRUMS, KEGS & PAILS"
137 | "3420","6","CUTLERY, HANDTOOLS & GENERAL HARDWARE"
138 | "3430","6","HEATING EQUIP, EXCEPT ELEC & WARM AIR; & PLUMBING FIXTURES"
139 | "3433","6","HEATING EQUIPMENT, EXCEPT ELECTRIC & WARM AIR FURNACES"
140 | "3440","6","FABRICATED STRUCTURAL METAL PRODUCTS"
141 | "3442","6","METAL DOORS, SASH, FRAMES, MOLDINGS & TRIM"
142 | "3443","6","FABRICATED PLATE WORK (BOILER SHOPS)"
143 | "3444","6","SHEET METAL WORK"
144 | "3448","6","PREFABRICATED METAL BUILDINGS & COMPONENTS"
145 | "3451","6","SCREW MACHINE PRODUCTS"
146 | "3452","6","BOLTS, NUTS, SCREWS, RIVETS & WASHERS"
147 | "3460","6","METAL FORGINGS & STAMPINGS"
148 | "3470","6","COATING, ENGRAVING & ALLIED SERVICES"
149 | "3480","6","ORDNANCE & ACCESSORIES, (NO VEHICLES/GUIDED MISSILES)"
150 | "3490","6","MISCELLANEOUS FABRICATED METAL PRODUCTS"
151 | "3510","10","ENGINES & TURBINES"
152 | "3523","10","FARM MACHINERY & EQUIPMENT"
153 | "3524","10","LAWN & GARDEN TRACTORS & HOME LAWN & GARDENS EQUIP"
154 | "3530","10","CONSTRUCTION, MINING & MATERIALS HANDLING MACHINERY & EQUIP"
155 | "3531","10","CONSTRUCTION MACHINERY & EQUIP"
156 | "3532","10","MINING MACHINERY & EQUIP (NO OIL & GAS FIELD MACH & EQUIP)"
157 | "3533","4","OIL & GAS FIELD MACHINERY & EQUIPMENT"
158 | "3537","10","INDUSTRIAL TRUCKS, TRACTORS, TRAILORS & STACKERS"
159 | "3540","10","METALWORKG MACHINERY & EQUIPMENT"
160 | "3541","10","MACHINE TOOLS, METAL CUTTING TYPES"
161 | "3550","10","SPECIAL INDUSTRY MACHINERY (NO METALWORKING MACHINERY)"
162 | "3555","10","PRINTING TRADES MACHINERY & EQUIPMENT"
163 | "3559","10","SPECIAL INDUSTRY MACHINERY, NEC"
164 | "3560","10","GENERAL INDUSTRIAL MACHINERY & EQUIPMENT"
165 | "3561","10","PUMPS & PUMPING EQUIPMENT"
166 | "3562","6","BALL & ROLLER BEARINGS"
167 | "3564","6","INDUSTRIAL & COMMERCIAL FANS & BLOWERS & AIR PURIFING EQUIP"
168 | "3567","6","INDUSTRIAL PROCESS FURNACES & OVENS"
169 | "3569","6","GENERAL INDUSTRIAL MACHINERY & EQUIPMENT, NEC"
170 | "3570","3","COMPUTER & OFFICE EQUIPMENT"
171 | "3571","3","ELECTRONIC COMPUTERS"
172 | "3572","3","COMPUTER STORAGE DEVICES"
173 | "3575","3","COMPUTER TERMINALS"
174 | "3576","3","COMPUTER COMMUNICATIONS EQUIPMENT"
175 | "3577","3","COMPUTER PERIPHERAL EQUIPMENT, NEC"
176 | "3578","3","CALCULATING & ACCOUNTING MACHINES (NO ELECTRONIC COMPUTERS)"
177 | "3579","3","OFFICE MACHINES, NEC"
178 | "3580","6","REFRIGERATION & SERVICE INDUSTRY MACHINERY"
179 | "3585","6","AIR-COND & WARM AIR HEATG EQUIP & COMM & INDL REFRIG EQUIP"
180 | "3590","6","MISC INDUSTRIAL & COMMERCIAL MACHINERY & EQUIPMENT"
181 | "3600","10","ELECTRONIC & OTHER ELECTRICAL EQUIPMENT (NO COMPUTER EQUIP)"
182 | "3612","10","POWER, DISTRIBUTION & SPECIALTY TRANSFORMERS"
183 | "3613","10","SWITCHGEAR & SWITCHBOARD APPARATUS"
184 | "3620","10","ELECTRICAL INDUSTRIAL APPARATUS"
185 | "3621","10","MOTORS & GENERATORS"
186 | "3630","11","HOUSEHOLD APPLIANCES"
187 | "3634","11","ELECTRIC HOUSEWARES & FANS"
188 | "3640","11","ELECTRIC LIGHTING & WIRING EQUIPMENT"
189 | "3651","11","HOUSEHOLD AUDIO & VIDEO EQUIPMENT"
190 | "3652","11","PHONOGRAPH RECORDS & PRERECORDED AUDIO TAPES & DISKS"
191 | "3661","11","TELEPHONE & TELEGRAPH APPARATUS"
192 | "3663","11","RADIO & TV BROADCASTING & COMMUNICATIONS EQUIPMENT"
193 | "3669","11","COMMUNICATIONS EQUIPMENT, NEC"
194 | "3670","10","ELECTRONIC COMPONENTS & ACCESSORIES"
195 | "3672","3","PRINTED CIRCUIT BOARDS"
196 | "3674","10","SEMICONDUCTORS & RELATED DEVICES"
197 | "3677","10","ELECTRONIC COILS, TRANSFORMERS & OTHER INDUCTORS"
198 | "3678","10","ELECTRONIC CONNECTORS"
199 | "3679","10","ELECTRONIC COMPONENTS, NEC"
200 | "3690","10","MISCELLANEOUS ELECTRICAL MACHINERY, EQUIPMENT & SUPPLIES"
201 | "3695","11","MAGNETIC & OPTICAL RECORDING MEDIA"
202 | "3711","5","MOTOR VEHICLES & PASSENGER CAR BODIES"
203 | "3713","5","TRUCK & BUS BODIES"
204 | "3714","5","MOTOR VEHICLE PARTS & ACCESSORIES"
205 | "3715","5","TRUCK TRAILERS"
206 | "3716","5","MOTOR HOMES"
207 | "3720","5","AIRCRAFT & PARTS"
208 | "3721","5","AIRCRAFT"
209 | "3724","5","AIRCRAFT ENGINES & ENGINE PARTS"
210 | "3728","5","AIRCRAFT PARTS & AUXILIARY EQUIPMENT, NEC"
211 | "3730","5","SHIP & BOAT BUILDING & REPAIRING"
212 | "3743","5","RAILROAD EQUIPMENT"
213 | "3751","5","MOTORCYCLES, BICYCLES & PARTS"
214 | "3760","5","GUIDED MISSILES & SPACE VEHICLES & PARTS"
215 | "3790","5","MISCELLANEOUS TRANSPORTATION EQUIPMENT"
216 | "3812","5","SEARCH, DETECTION, NAVAGATION, GUIDANCE, AERONAUTICAL SYS"
217 | "3821","10","LABORATORY APPARATUS & FURNITURE"
218 | "3822","10","AUTO CONTROLS FOR REGULATING RESIDENTIAL & COMML ENVIRONMENTS"
219 | "3823","10","INDUSTRIAL INSTRUMENTS FOR MEASUREMENT, DISPLAY, AND CONTROL"
220 | "3824","10","TOTALIZING FLUID METERS & COUNTING DEVICES"
221 | "3825","10","INSTRUMENTS FOR MEAS & TESTING OF ELECTRICITY & ELEC SIGNALS"
222 | "3826","10","LABORATORY ANALYTICAL INSTRUMENTS"
223 | "3827","10","OPTICAL INSTRUMENTS & LENSES"
224 | "3829","10","MEASURING & CONTROLLING DEVICES, NEC"
225 | "3841","10","SURGICAL & MEDICAL INSTRUMENTS & APPARATUS"
226 | "3842","10","ORTHOPEDIC, PROSTHETIC & SURGICAL APPLIANCES & SUPPLIES"
227 | "3843","10","DENTAL EQUIPMENT & SUPPLIES"
228 | "3844","10","X-RAY APPARATUS & TUBES & RELATED IRRADIATION APPARATUS"
229 | "3845","10","ELECTROMEDICAL & ELECTROTHERAPEUTIC APPARATUS"
230 | "3851","10","OPHTHALMIC GOODS"
231 | "3861","10","PHOTOGRAPHIC EQUIPMENT & SUPPLIES"
232 | "3873","2","WATCHES, CLOCKS, CLOCKWORK OPERATED DEVICES/PARTS"
233 | "3910","2","JEWELRY, SILVERWARE & PLATED WARE"
234 | "3911","2","JEWELRY, PRECIOUS METAL"
235 | "3931","5","MUSICAL INSTRUMENTS"
236 | "3942","5","DOLLS & STUFFED TOYS"
237 | "3944","5","GAMES, TOYS & CHILDREN'S VEHICLES (NO DOLLS & BICYCLES)"
238 | "3949","5","SPORTING & ATHLETIC GOODS, NEC"
239 | "3950","9","PENS, PENCILS & OTHER ARTISTS' MATERIALS"
240 | "3960","6","COSTUME JEWELRY & NOVELTIES"
241 | "3990","6","MISCELLANEOUS MANUFACTURING INDUSTRIES"
242 | "4011","5","RAILROADS, LINE-HAUL OPERATING"
243 | "4013","5","RAILROAD SWITCHING & TERMINAL ESTABLISHMENTS"
244 | "4100","5","LOCAL & SUBURBAN TRANSIT & INTERURBAN HWY PASSENGER TRANS"
245 | "4210","5","TRUCKING & COURIER SERVICES (NO AIR)"
246 | "4213","5","TRUCKING (NO LOCAL)"
247 | "4220","5","PUBLIC WAREHOUSING & STORAGE"
248 | "4231","5","TERMINAL MAINTENANCE FACILITIES FOR MOTOR FREIGHT TRANSPORT"
249 | "4400","5","WATER TRANSPORTATION"
250 | "4412","5","DEEP SEA FOREIGN TRANSPORTATION OF FREIGHT"
251 | "4512","5","AIR TRANSPORTATION, SCHEDULED"
252 | "4513","5","AIR COURIER SERVICES"
253 | "4522","5","AIR TRANSPORTATION, NONSCHEDULED"
254 | "4581","5","AIRPORTS, FLYING FIELDS & AIRPORT TERMINAL SERVICES"
255 | "4610","4","PIPE LINES (NO NATURAL GAS)"
256 | "4700","5","TRANSPORTATION SERVICES"
257 | "4731","5","ARRANGEMENT OF TRANSPORTATION OF FREIGHT & CARGO"
258 | "4812","11","RADIOTELEPHONE COMMUNICATIONS"
259 | "4813","11","TELEPHONE COMMUNICATIONS (NO RADIOTELEPHONE)"
260 | "4822","11","TELEGRAPH & OTHER MESSAGE COMMUNICATIONS"
261 | "4832","11","RADIO BROADCASTING STATIONS"
262 | "4833","11","TELEVISION BROADCASTING STATIONS"
263 | "4841","11","CABLE & OTHER PAY TELEVISION SERVICES"
264 | "4899","11","COMMUNICATIONS SERVICES, NEC"
265 | "4900","2","ELECTRIC, GAS & SANITARY SERVICES"
266 | "4911","2","ELECTRIC SERVICES"
267 | "4922","2","NATURAL GAS TRANSMISSION"
268 | "4923","2","NATURAL GAS TRANSMISISON & DISTRIBUTION"
269 | "4924","2","NATURAL GAS DISTRIBUTION"
270 | "4931","2","ELECTRIC & OTHER SERVICES COMBINED"
271 | "4932","2","GAS & OTHER SERVICES COMBINED"
272 | "4941","2","WATER SUPPLY"
273 | "4950","6","SANITARY SERVICES"
274 | "4953","6","REFUSE SYSTEMS"
275 | "4955","6","HAZARDOUS WASTE MANAGEMENT"
276 | "4961","2","STEAM & AIR-CONDITIONING SUPPLY"
277 | "4991","2","COGENERATION SERVICES & SMALL POWER PRODUCERS"
278 | "5000","2","WHOLESALE-DURABLE GOODS"
279 | "5010","5","WHOLESALE-MOTOR VEHICLES & MOTOR VEHICLE PARTS & SUPPLIES"
280 | "5013","5","WHOLESALE-MOTOR VEHICLE SUPPLIES & NEW PARTS"
281 | "5020","2","WHOLESALE-FURNITURE & HOME FURNISHINGS"
282 | "5030","6","WHOLESALE-LUMBER & OTHER CONSTRUCTION MATERIALS"
283 | "5031","6","WHOLESALE-LUMBER, PLYWOOD, MILLWORK & WOOD PANELS"
284 | "5040","2","WHOLESALE-PROFESSIONAL & COMMERCIAL EQUIPMENT & SUPPLIES"
285 | "5045","3","WHOLESALE-COMPUTERS & PERIPHERAL EQUIPMENT & SOFTWARE"
286 | "5047","9","WHOLESALE-MEDICAL, DENTAL & HOSPITAL EQUIPMENT & SUPPLIES"
287 | "5050","5","WHOLESALE-METALS & MINERALS (NO PETROLEUM)"
288 | "5051","5","WHOLESALE-METALS SERVICE CENTERS & OFFICES"
289 | "5063","10","WHOLESALE-ELECTRICAL APPARATUS & EQUIPMENT, WIRING SUPPLIES"
290 | "5064","10","WHOLESALE-ELECTRICAL APPLIANCES, TV & RADIO SETS"
291 | "5065","10","WHOLESALE-ELECTRONIC PARTS & EQUIPMENT, NEC"
292 | "5070","6","WHOLESALE-HARDWARE & PLUMBING & HEATING EQUIPMENT & SUPPLIES"
293 | "5072","6","WHOLESALE-HARDWARE"
294 | "5080","6","WHOLESALE-MACHINERY, EQUIPMENT & SUPPLIES"
295 | "5082","6","WHOLESALE-CONSTRUCTION & MINING (NO PETRO) MACHINERY & EQUIP"
296 | "5084","6","WHOLESALE-INDUSTRIAL MACHINERY & EQUIPMENT"
297 | "5090","2","WHOLESALE-MISC DURABLE GOODS"
298 | "5094","2","WHOLESALE-JEWELRY, WATCHES, PRECIOUS STONES & METALS"
299 | "5099","2","WHOLESALE-DURABLE GOODS, NEC"
300 | "5110","4","WHOLESALE-PAPER & PAPER PRODUCTS"
301 | "5122","9","WHOLESALE-DRUGS, PROPRIETARIES & DRUGGISTS' SUNDRIES"
302 | "5130","9","WHOLESALE-APPAREL, PIECE GOODS & NOTIONS"
303 | "5140","2","WHOLESALE-GROCERIES & RELATED PRODUCTS"
304 | "5141","2","WHOLESALE-GROCERIES, GENERAL LINE"
305 | "5150","5","WHOLESALE-FARM PRODUCT RAW MATERIALS"
306 | "5160","6","WHOLESALE-CHEMICALS & ALLIED PRODUCTS"
307 | "5171","4","WHOLESALE-PETROLEUM BULK STATIONS & TERMINALS"
308 | "5172","4","WHOLESALE-PETROLEUM & PETROLEUM PRODUCTS (NO BULK STATIONS)"
309 | "5180","9","WHOLESALE-BEER, WINE & DISTILLED ALCOHOLIC BEVERAGES"
310 | "5190","2","WHOLESALE-MISCELLANEOUS NONDURABLE GOODS"
311 | "5200","6","RETAIL-BUILDING MATERIALS, HARDWARE, GARDEN SUPPLY"
312 | "5211","6","RETAIL-LUMBER & OTHER BUILDING MATERIALS DEALERS"
313 | "5271","2","RETAIL-MOBILE HOME DEALERS"
314 | "5311","2","RETAIL-DEPARTMENT STORES"
315 | "5331","2","RETAIL-VARIETY STORES"
316 | "5399","2","RETAIL-MISC GENERAL MERCHANDISE STORES"
317 | "5400","2","RETAIL-FOOD STORES"
318 | "5411","2","RETAIL-GROCERY STORES"
319 | "5412","2","RETAIL-CONVENIENCE STORES"
320 | "5500","2","RETAIL-AUTO DEALERS & GASOLINE STATIONS"
321 | "5531","2","RETAIL-AUTO & HOME SUPPLY STORES"
322 | "5600","9","RETAIL-APPAREL & ACCESSORY STORES"
323 | "5621","9","RETAIL-WOMEN'S CLOTHING STORES"
324 | "5651","9","RETAIL-FAMILY CLOTHING STORES"
325 | "5661","9","RETAIL-SHOE STORES"
326 | "5700","2","RETAIL-HOME FURNITURE, FURNISHINGS & EQUIPMENT STORES"
327 | "5712","2","RETAIL-FURNITURE STORES"
328 | "5731","2","RETAIL-RADIO, TV & CONSUMER ELECTRONICS STORES"
329 | "5734","2","RETAIL-COMPUTER & COMPUTER SOFTWARE STORES"
330 | "5735","2","RETAIL-RECORD & PRERECORDED TAPE STORES"
331 | "5810","5","RETAIL-EATING & DRINKING PLACES"
332 | "5812","5","RETAIL-EATING PLACES"
333 | "5900","2","RETAIL-MISCELLANEOUS RETAIL"
334 | "5912","9","RETAIL-DRUG STORES AND PROPRIETARY STORES"
335 | "5940","2","RETAIL-MISCELLANEOUS SHOPPING GOODS STORES"
336 | "5944","2","RETAIL-JEWELRY STORES"
337 | "5945","2","RETAIL-HOBBY, TOY & GAME SHOPS"
338 | "5960","2","RETAIL-NONSTORE RETAILERS"
339 | "5961","2","RETAIL-CATALOG & MAIL-ORDER HOUSES"
340 | "5990","2","RETAIL-RETAIL STORES, NEC"
341 | "6021","7","NATIONAL COMMERCIAL BANKS"
342 | "6022","7","STATE COMMERCIAL BANKS"
343 | "6029","7","COMMERCIAL BANKS, NEC"
344 | "6035","7","SAVINGS INSTITUTION, FEDERALLY CHARTERED"
345 | "6036","7","SAVINGS INSTITUTIONS, NOT FEDERALLY CHARTERED"
346 | "6099","7","FUNCTIONS RELATED TO DEPOSITORY BANKING, NEC"
347 | "6111","7","FEDERAL & FEDERALLY-SPONSORED CREDIT AGENCIES"
348 | "6141","7","PERSONAL CREDIT INSTITUTIONS"
349 | "6153","7","SHORT-TERM BUSINESS CREDIT INSTITUTIONS"
350 | "6159","7","MISCELLANEOUS BUSINESS CREDIT INSTITUTION"
351 | "6162","7","MORTGAGE BANKERS & LOAN CORRESPONDENTS"
352 | "6163","7","LOAN BROKERS"
353 | "6172","7","FINANCE LESSORS"
354 | "6189","OSF","ASSET-BACKED SECURITIES"
355 | "6199","7","FINANCE SERVICES"
356 | "6200","7","SECURITY & COMMODITY BROKERS, DEALERS, EXCHANGES & SERVICES"
357 | "6211","7","SECURITY BROKERS, DEALERS & FLOTATION COMPANIES"
358 | "6221","8","COMMODITY CONTRACTS BROKERS & DEALERS"
359 | "6282","7","INVESTMENT ADVICE"
360 | "6311","1","LIFE INSURANCE"
361 | "6321","1","ACCIDENT & HEALTH INSURANCE"
362 | "6324","1","HOSPITAL & MEDICAL SERVICE PLANS"
363 | "6331","1","FIRE, MARINE & CASUALTY INSURANCE"
364 | "6351","1","SURETY INSURANCE"
365 | "6361","1","TITLE INSURANCE"
366 | "6399","1","INSURANCE CARRIERS, NEC"
367 | "6411","1","INSURANCE AGENTS, BROKERS & SERVICE"
368 | "6500","8","REAL ESTATE"
369 | "6510","8","REAL ESTATE OPERATORS (NO DEVELOPERS) & LESSORS"
370 | "6512","8","OPERATORS OF NONRESIDENTIAL BUILDINGS"
371 | "6513","8","OPERATORS OF APARTMENT BUILDINGS"
372 | "6519","8","LESSORS OF REAL PROPERTY, NEC"
373 | "6531","8","REAL ESTATE AGENTS & MANAGERS (FOR OTHERS)"
374 | "6532","8","REAL ESTATE DEALERS (FOR THEIR OWN ACCOUNT)"
375 | "6552","8","LAND SUBDIVIDERS & DEVELOPERS (NO CEMETERIES)"
376 | "6770","All","BLANK CHECKS"
377 | "6792","4","OIL ROYALTY TRADERS"
378 | "6794","3","PATENT OWNERS & LESSORS"
379 | "6795","9","MINERAL ROYALTY TRADERS"
380 | "6798","8","REAL ESTATE INVESTMENT TRUSTS"
381 | "6799","8","INVESTORS, NEC"
382 | "7000","8","HOTELS, ROOMING HOUSES, CAMPS & OTHER LODGING PLACES"
383 | "7011","8","HOTELS & MOTELS"
384 | "7200","11","SERVICES-PERSONAL SERVICES"
385 | "7310","11","SERVICES-ADVERTISING"
386 | "7311","11","SERVICES-ADVERTISING AGENCIES"
387 | "7320","11","SERVICES-CONSUMER CREDIT REPORTING, COLLECTION AGENCIES"
388 | "7330","11","SERVICES-MAILING, REPRODUCTION, COMMERCIAL ART & PHOTOGRAPHY"
389 | "7331","11","SERVICES-DIRECT MAIL ADVERTISING SERVICES"
390 | "7340","8","SERVICES-TO DWELLINGS & OTHER BUILDINGS"
391 | "7350","6","SERVICES-MISCELLANEOUS EQUIPMENT RENTAL & LEASING"
392 | "7359","6","SERVICES-EQUIPMENT RENTAL & LEASING, NEC"
393 | "7361","8","SERVICES-EMPLOYMENT AGENCIES"
394 | "7363","11","SERVICES-HELP SUPPLY SERVICES"
395 | "7370","3","SERVICES-COMPUTER PROGRAMMING, DATA PROCESSING, ETC."
396 | "7371","3","SERVICES-COMPUTER PROGRAMMING SERVICES"
397 | "7372","3","SERVICES-PREPACKAGED SOFTWARE"
398 | "7373","3","SERVICES-COMPUTER INTEGRATED SYSTEMS DESIGN"
399 | "7374","3","SERVICES-COMPUTER PROCESSING & DATA PREPARATION"
400 | "7377","3","SERVICES-COMPUTER RENTAL & LEASING"
401 | "7380","11","SERVICES-MISCELLANEOUS BUSINESS SERVICES"
402 | "7381","11","SERVICES-DETECTIVE, GUARD & ARMORED CAR SERVICES"
403 | "7384","11","SERVICES-PHOTOFINISHING LABORATORIES"
404 | "7385","11","SERVICES-TELEPHONE INTERCONNECT SYSTEMS"
405 | "7389","2 & 3","SERVICES-BUSINESS SERVICES, NEC"
406 | "7500","5","SERVICES-AUTOMOTIVE REPAIR, SERVICES & PARKING"
407 | "7510","5","SERVICES-AUTO RENTAL & LEASING (NO DRIVERS)"
408 | "7600","11","SERVICES-MISCELLANEOUS REPAIR SERVICES"
409 | "7812","5","SERVICES-MOTION PICTURE & VIDEO TAPE PRODUCTION"
410 | "7819","5","SERVICES-ALLIED TO MOTION PICTURE PRODUCTION"
411 | "7822","5","SERVICES-MOTION PICTURE & VIDEO TAPE DISTRIBUTION"
412 | "7829","5","SERVICES-ALLIED TO MOTION PICTURE DISTRIBUTION"
413 | "7830","5","SERVICES-MOTION PICTURE THEATERS"
414 | "7841","5","SERVICES-VIDEO TAPE RENTAL"
415 | "7900","5","SERVICES-AMUSEMENT & RECREATION SERVICES"
416 | "7948","5","SERVICES-RACING, INCLUDING TRACK OPERATION"
417 | "7990","5","SERVICES-MISCELLANEOUS AMUSEMENT & RECREATION"
418 | "7997","5","SERVICES-MEMBERSHIP SPORTS & RECREATION CLUBS"
419 | "8000","9","SERVICES-HEALTH SERVICES"
420 | "8011","11","SERVICES-OFFICES & CLINICS OF DOCTORS OF MEDICINE"
421 | "8050","11","SERVICES-NURSING & PERSONAL CARE FACILITIES"
422 | "8051","11","SERVICES-SKILLED NURSING CARE FACILITIES"
423 | "8060","11","SERVICES-HOSPITALS"
424 | "8062","11","SERVICES-GENERAL MEDICAL & SURGICAL HOSPITALS, NEC"
425 | "8071","9","SERVICES-MEDICAL LABORATORIES"
426 | "8082","9","SERVICES-HOME HEALTH CARE SERVICES"
427 | "8090","9","SERVICES-MISC HEALTH & ALLIED SERVICES, NEC"
428 | "8093","11","SERVICES-SPECIALTY OUTPATIENT FACILITIES, NEC"
429 | "8111","11","SERVICES-LEGAL SERVICES"
430 | "8200","11","SERVICES-EDUCATIONAL SERVICES"
431 | "8300","9","SERVICES-SOCIAL SERVICES"
432 | "8351","9","SERVICES-CHILD DAY CARE SERVICES"
433 | "8600","5","SERVICES-MEMBERSHIP ORGANIZATIONS"
434 | "8700","6","SERVICES-ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT"
435 | "8711","6","SERVICES-ENGINEERING SERVICES"
436 | "8731","9","SERVICES-COMMERCIAL PHYSICAL & BIOLOGICAL RESEARCH"
437 | "8734","9","SERVICES-TESTING LABORATORIES"
438 | "8741","8","SERVICES-MANAGEMENT SERVICES"
439 | "8742","8","SERVICES-MANAGEMENT CONSULTING SERVICES"
440 | "8744","6","SERVICES-FACILITIES SUPPORT MANAGEMENT SERVICES"
441 | "8880","99","AMERICAN DEPOSITARY RECEIPTS"
442 | "8888","99","FOREIGN GOVERNMENTS"
443 | "8900","11","SERVICES-SERVICES, NEC"
444 | "9721","99","INTERNATIONAL AFFAIRS"
445 | "9995","All","NON-OPERATING ESTABLISHMENTS"
446 |
--------------------------------------------------------------------------------
/notebooks/compare_sic_lists.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Compare sic codes and descriptions from various sources\n",
8 | "SIC codes and descriptions are available from a variety of sources. In this document, I compare lists of four-digit SIC codes from three different sources:\n",
9 | "\n",
10 | "1. [OSHA website](https://www.osha.gov/pls/imis/sic_manual.html)\n",
11 | "1. [SEC website](https://www.sec.gov/info/edgar/siccodes.htm)\n",
12 | "1. [Scientific Telephone Samples website](http://www.stssamples.com/sic-code.asp)"
13 | ]
14 | },
15 | {
16 | "cell_type": "markdown",
17 | "metadata": {},
18 | "source": [
19 | "### Key findings:\n",
20 | "* The SEC provides a different set of four-digit SIC codes:\n",
21 | " * It provides fewer overall codes (444 codes, compared to OSHA's 1005)\n",
22 | " * Some of the SIC codes it provides cannot be found in OSHA list - these are likely various aggregations of underlying four-digit SIC codes\n",
23 | "* The reference list of SIC codes shares all codes in common with OSHA, though some descriptions differ sightly"
24 | ]
25 | },
26 | {
27 | "cell_type": "markdown",
28 | "metadata": {},
29 | "source": [
30 | "## Setup"
31 | ]
32 | },
33 | {
34 | "cell_type": "code",
35 | "execution_count": 1,
36 | "metadata": {
37 | "collapsed": false
38 | },
39 | "outputs": [
40 | {
41 | "name": "stdout",
42 | "output_type": "stream",
43 | "text": [
44 | "[nltk_data] Downloading package punkt to /Users/Ryan/nltk_data...\n",
45 | "[nltk_data] Package punkt is already up-to-date!\n",
46 | "[nltk_data] Downloading package averaged_perceptron_tagger to\n",
47 | "[nltk_data] /Users/Ryan/nltk_data...\n",
48 | "[nltk_data] Package averaged_perceptron_tagger is already up-to-\n",
49 | "[nltk_data] date!\n"
50 | ]
51 | },
52 | {
53 | "data": {
54 | "text/plain": [
55 | "True"
56 | ]
57 | },
58 | "execution_count": 1,
59 | "metadata": {},
60 | "output_type": "execute_result"
61 | }
62 | ],
63 | "source": [
64 | "import sys\n",
65 | "from os import path\n",
66 | "path_notebooks = path.abspath('.')\n",
67 | "path_base = path.dirname(path_notebooks)\n",
68 | "path_src = path.join(path_base, 'src')\n",
69 | "path_data = path.join(path_base, 'data')\n",
70 | "path_tests = path.join(path_base, 'tests')\n",
71 | "sys.path.insert(0, path_src)\n",
72 | "\n",
73 | "import pickle\n",
74 | "import pandas as pd\n",
75 | "\n",
76 | "import scrape_sic_osha as scrape_osha\n",
77 | "import scrape_sic_sec as scrape_sec\n",
78 | "\n",
79 | "import nltk\n",
80 | "from __future__ import division\n",
81 | "\n",
82 | "nltk.download('punkt')\n",
83 | "nltk.download('averaged_perceptron_tagger')"
84 | ]
85 | },
86 | {
87 | "cell_type": "markdown",
88 | "metadata": {},
89 | "source": [
90 | "## Compare OSHA to SEC"
91 | ]
92 | },
93 | {
94 | "cell_type": "markdown",
95 | "metadata": {},
96 | "source": [
97 | "### Clean and merge data"
98 | ]
99 | },
100 | {
101 | "cell_type": "code",
102 | "execution_count": 2,
103 | "metadata": {
104 | "collapsed": false
105 | },
106 | "outputs": [],
107 | "source": [
108 | "# Read OSHA data\n",
109 | "osha_fname = path.join(path_data, 'osha_combined')\n",
110 | "if path.isfile(osha_fname + '.csv'):\n",
111 | " osha = pd.read_csv(osha_fname + '.csv')\n",
112 | "else:\n",
113 | " scrape_osha.get_sic_all(out_fname=osha_fname)\n",
114 | " osha = pd.read_csv(osha_fname + '.csv')\n",
115 | "\n",
116 | "# Read SEC data\n",
117 | "sec_fname = path.join(path_data, 'sec_combined.csv')\n",
118 | "if path.isfile(sec_fname):\n",
119 | " sec = pd.read_csv(sec_fname)\n",
120 | "else:\n",
121 | " scrape_sec.save_sic_sec(sec_fname)\n",
122 | " sec = pd.read_csv(sec_fname)\n",
123 | "\n",
124 | "# Merge OSHA and SEC data\n",
125 | "inner = osha.merge(sec, how='inner', on='SIC4_cd')"
126 | ]
127 | },
128 | {
129 | "cell_type": "markdown",
130 | "metadata": {},
131 | "source": [
132 | "### Compare descriptions for each four-digit SIC code in common"
133 | ]
134 | },
135 | {
136 | "cell_type": "code",
137 | "execution_count": 3,
138 | "metadata": {
139 | "collapsed": false
140 | },
141 | "outputs": [],
142 | "source": [
143 | "osha_desc = list(inner.SIC4_desc.str.lower().str.strip())\n",
144 | "sec_desc = list(inner.industry_title.str.lower().str.strip())\n",
145 | "\n",
146 | "match = []\n",
147 | "for i in range(0, len(inner)):\n",
148 | " \n",
149 | " # Identify direct matches\n",
150 | " match_ind = sec_desc[i] == osha_desc[i]\n",
151 | " if not(match_ind):\n",
152 | " \n",
153 | " # Where not a direct match count the number of indirect matches\n",
154 | " tokens_taged = nltk.pos_tag(nltk.word_tokenize(osha_desc[i]))\n",
155 | " osha_words = [word[0] for word in tokens_taged]\n",
156 | " sec_words = [word[0] for word in nltk.pos_tag(nltk.word_tokenize(sec_desc[i]))]\n",
157 | " \n",
158 | " word_matches = [word[0] in sec_words for word in tokens_taged if word[1] != 'CC']\n",
159 | " match_rate = sum(word_matches)/len(word_matches)\n",
160 | " if match_rate > 0.3:\n",
161 | " match_ind = True\n",
162 | " match.append(match_ind)"
163 | ]
164 | },
165 | {
166 | "cell_type": "markdown",
167 | "metadata": {},
168 | "source": [
169 | "### Summary\n",
170 | "Nearly all of the shared four-digit SIC codes from the OSHA and SEC lists shared a similar description, on the basis of a direct match or an indirect (30% or more of words in common, excluding coordinating-conjunctions) match. Of mismatches, most can be attributed to punctuation, grammar or syntax (i.e., as opposed to reference to an entirely different industry)."
171 | ]
172 | },
173 | {
174 | "cell_type": "code",
175 | "execution_count": 4,
176 | "metadata": {
177 | "collapsed": false
178 | },
179 | "outputs": [
180 | {
181 | "name": "stdout",
182 | "output_type": "stream",
183 | "text": [
184 | "99.3% match rate\n"
185 | ]
186 | }
187 | ],
188 | "source": [
189 | "# Identify match rate\n",
190 | "print('{:.1f}% match rate'.format(sum(match)/len(inner) * 100))"
191 | ]
192 | },
193 | {
194 | "cell_type": "code",
195 | "execution_count": 5,
196 | "metadata": {
197 | "collapsed": false
198 | },
199 | "outputs": [
200 | {
201 | "data": {
202 | "text/html": [
203 | "
\n",
204 | "
\n",
205 | " \n",
206 | " \n",
207 | " | \n",
208 | " SIC4_cd | \n",
209 | " SIC4_desc | \n",
210 | " ind_cd | \n",
211 | " ind_desc | \n",
212 | " maj_cd | \n",
213 | " maj_desc | \n",
214 | " div_cd | \n",
215 | " div_desc | \n",
216 | " AD_office | \n",
217 | " industry_title | \n",
218 | "
\n",
219 | " \n",
220 | " \n",
221 | " \n",
222 | " 94 | \n",
223 | " 3585 | \n",
224 | " Air-Conditioning and Warm Air Heating Equipmen... | \n",
225 | " 358 | \n",
226 | " Refrigeration And Service Industry Machinery | \n",
227 | " 35 | \n",
228 | " Industrial And Commercial Machinery And Comput... | \n",
229 | " D | \n",
230 | " Manufacturing | \n",
231 | " 6 | \n",
232 | " AIR-COND & WARM AIR HEATG EQUIP & COMM & INDL ... | \n",
233 | "
\n",
234 | " \n",
235 | " 176 | \n",
236 | " 5072 | \n",
237 | " Hardware | \n",
238 | " 507 | \n",
239 | " Hardware, And Plumbing And Heating Equipment | \n",
240 | " 50 | \n",
241 | " Wholesale Trade-durable Goods | \n",
242 | " F | \n",
243 | " Wholesale Trade | \n",
244 | " 6 | \n",
245 | " WHOLESALE-HARDWARE | \n",
246 | "
\n",
247 | " \n",
248 | "
\n",
249 | "
"
250 | ],
251 | "text/plain": [
252 | " SIC4_cd SIC4_desc ind_cd \\\n",
253 | "94 3585 Air-Conditioning and Warm Air Heating Equipmen... 358 \n",
254 | "176 5072 Hardware 507 \n",
255 | "\n",
256 | " ind_desc maj_cd \\\n",
257 | "94 Refrigeration And Service Industry Machinery 35 \n",
258 | "176 Hardware, And Plumbing And Heating Equipment 50 \n",
259 | "\n",
260 | " maj_desc div_cd \\\n",
261 | "94 Industrial And Commercial Machinery And Comput... D \n",
262 | "176 Wholesale Trade-durable Goods F \n",
263 | "\n",
264 | " div_desc AD_office \\\n",
265 | "94 Manufacturing 6 \n",
266 | "176 Wholesale Trade 6 \n",
267 | "\n",
268 | " industry_title \n",
269 | "94 AIR-COND & WARM AIR HEATG EQUIP & COMM & INDL ... \n",
270 | "176 WHOLESALE-HARDWARE "
271 | ]
272 | },
273 | "execution_count": 5,
274 | "metadata": {},
275 | "output_type": "execute_result"
276 | }
277 | ],
278 | "source": [
279 | "# Identify specific mismatches\n",
280 | "inner[[not(m) for m in match]]"
281 | ]
282 | },
283 | {
284 | "cell_type": "markdown",
285 | "metadata": {},
286 | "source": [
287 | "## Compare OSHA to benchmark\n",
288 | "\n",
289 | "### Clean and merge data"
290 | ]
291 | },
292 | {
293 | "cell_type": "code",
294 | "execution_count": 6,
295 | "metadata": {
296 | "collapsed": false,
297 | "scrolled": true
298 | },
299 | "outputs": [],
300 | "source": [
301 | "benchmark = pd.read_csv(path.join(path_tests, 'ref_list.csv'))\n",
302 | "benchmark.columns = ['SIC4_cd', 'SIC4_desciption']"
303 | ]
304 | },
305 | {
306 | "cell_type": "markdown",
307 | "metadata": {},
308 | "source": [
309 | "### Compare descriptions for each four-digit SIC code in common"
310 | ]
311 | },
312 | {
313 | "cell_type": "code",
314 | "execution_count": 7,
315 | "metadata": {
316 | "collapsed": false
317 | },
318 | "outputs": [],
319 | "source": [
320 | "# Merge OSHA and benchmark data\n",
321 | "inner = osha.merge(benchmark, how='inner', on='SIC4_cd')\n",
322 | "osha_desc = list(inner.SIC4_desc.str.lower().str.strip())\n",
323 | "benchmark_desc = list(inner.SIC4_desciption.str.lower().str.strip())\n",
324 | "\n",
325 | "match = []\n",
326 | "for i in range(0, len(inner)):\n",
327 | " \n",
328 | " # Count direct matches\n",
329 | " match_ind = benchmark_desc[i] == osha_desc[i]\n",
330 | " if not(match_ind):\n",
331 | " \n",
332 | " # Where not a direct match count the number of indirect matches\n",
333 | " tokens_taged = nltk.pos_tag(nltk.word_tokenize(benchmark_desc[i].replace(', nec', '')))\n",
334 | " osha_words = [word[0] for word in nltk.pos_tag(nltk.word_tokenize(osha_desc[i]))]\n",
335 | " \n",
336 | " word_matches = [word[0] in osha_words for word in tokens_taged if word[1] != 'CC']\n",
337 | " match_rate = sum(word_matches)/len(word_matches)\n",
338 | " if match_rate > 0.3:\n",
339 | " match_ind = True\n",
340 | " match.append(match_ind)"
341 | ]
342 | },
343 | {
344 | "cell_type": "markdown",
345 | "metadata": {},
346 | "source": [
347 | "### Summary\n",
348 | "Nearly all of the shared four-digit SIC codes from the OSHA and SEC lists shared a similar description, on the basis of a direct match or an indirect (30% or more of words in common, excluding coordinating-conjunctions) match. Of mismatches, most can be attributed to punctuation, grammar or syntax (i.e., as opposed to reference to an entirely different industry)."
349 | ]
350 | },
351 | {
352 | "cell_type": "code",
353 | "execution_count": 8,
354 | "metadata": {
355 | "collapsed": false
356 | },
357 | "outputs": [
358 | {
359 | "name": "stdout",
360 | "output_type": "stream",
361 | "text": [
362 | "98.7% match rate\n"
363 | ]
364 | }
365 | ],
366 | "source": [
367 | "# Identify match rate\n",
368 | "print('{:.1f}% match rate'.format(sum(match)/len(inner) * 100))"
369 | ]
370 | },
371 | {
372 | "cell_type": "code",
373 | "execution_count": 9,
374 | "metadata": {
375 | "collapsed": false
376 | },
377 | "outputs": [
378 | {
379 | "data": {
380 | "text/html": [
381 | "\n",
382 | "
\n",
383 | " \n",
384 | " \n",
385 | " | \n",
386 | " SIC4_cd | \n",
387 | " SIC4_desc | \n",
388 | " ind_cd | \n",
389 | " ind_desc | \n",
390 | " maj_cd | \n",
391 | " maj_desc | \n",
392 | " div_cd | \n",
393 | " div_desc | \n",
394 | " SIC4_desciption | \n",
395 | "
\n",
396 | " \n",
397 | " \n",
398 | " \n",
399 | " 89 | \n",
400 | " 1521 | \n",
401 | " General Contractors-Single-Family Houses | \n",
402 | " 152 | \n",
403 | " General Building Contractors-residential | \n",
404 | " 15 | \n",
405 | " Building Construction General Contractors And ... | \n",
406 | " C | \n",
407 | " Construction | \n",
408 | " SINGLE-FAMILY HOUSING CONSTRUCTION | \n",
409 | "
\n",
410 | " \n",
411 | " 90 | \n",
412 | " 1522 | \n",
413 | " General Contractors-Residential Buildings, Oth... | \n",
414 | " 152 | \n",
415 | " General Building Contractors-residential | \n",
416 | " 15 | \n",
417 | " Building Construction General Contractors And ... | \n",
418 | " C | \n",
419 | " Construction | \n",
420 | " RESIDENTIAL CONSTRUCTION, NEC | \n",
421 | "
\n",
422 | " \n",
423 | " 93 | \n",
424 | " 1542 | \n",
425 | " General Contractors-Nonresidential Buildings, ... | \n",
426 | " 154 | \n",
427 | " General Building Contractors-nonresidential | \n",
428 | " 15 | \n",
429 | " Building Construction General Contractors And ... | \n",
430 | " C | \n",
431 | " Construction | \n",
432 | " NONRESIDENTIAL CONSTRUCTION, NEC | \n",
433 | "
\n",
434 | " \n",
435 | " 179 | \n",
436 | " 2261 | \n",
437 | " Finishers of Broadwoven Fabrics of Cotton | \n",
438 | " 226 | \n",
439 | " Dyeing And Finishing Textiles, Except Wool Fab... | \n",
440 | " 22 | \n",
441 | " Textile Mill Products | \n",
442 | " D | \n",
443 | " Manufacturing | \n",
444 | " FINISHING PLANTS, COTTON | \n",
445 | "
\n",
446 | " \n",
447 | " 180 | \n",
448 | " 2262 | \n",
449 | " Finishers of Broadwoven Fabrics of Manmade Fib... | \n",
450 | " 226 | \n",
451 | " Dyeing And Finishing Textiles, Except Wool Fab... | \n",
452 | " 22 | \n",
453 | " Textile Mill Products | \n",
454 | " D | \n",
455 | " Manufacturing | \n",
456 | " FINISHING PLANTS, MANMADE | \n",
457 | "
\n",
458 | " \n",
459 | " 181 | \n",
460 | " 2269 | \n",
461 | " Finishers of Textiles, Not elsewhere Classified | \n",
462 | " 226 | \n",
463 | " Dyeing And Finishing Textiles, Except Wool Fab... | \n",
464 | " 22 | \n",
465 | " Textile Mill Products | \n",
466 | " D | \n",
467 | " Manufacturing | \n",
468 | " FINISHING PLANTS, NEC | \n",
469 | "
\n",
470 | " \n",
471 | " 215 | \n",
472 | " 2392 | \n",
473 | " House furnishing, Except Curtains and Draperies | \n",
474 | " 239 | \n",
475 | " Miscellaneous Fabricated Textile Products | \n",
476 | " 23 | \n",
477 | " Apparel And Other Finished Products Made From ... | \n",
478 | " D | \n",
479 | " Manufacturing | \n",
480 | " HOUSEHOLD FURNISHINGS, NEC | \n",
481 | "
\n",
482 | " \n",
483 | " 291 | \n",
484 | " 2833 | \n",
485 | " Medicinal Chemicals and Botanical Products | \n",
486 | " 283 | \n",
487 | " Drugs | \n",
488 | " 28 | \n",
489 | " Chemicals And Allied Products | \n",
490 | " D | \n",
491 | " Manufacturing | \n",
492 | " MEDICINALS AND BOTANICALS | \n",
493 | "
\n",
494 | " \n",
495 | " 371 | \n",
496 | " 3315 | \n",
497 | " Steel Wiredrawing and Steel Nails and Spikes | \n",
498 | " 331 | \n",
499 | " Steel Works, Blast Furnaces, And Rolling And F... | \n",
500 | " 33 | \n",
501 | " Primary Metal Industries | \n",
502 | " D | \n",
503 | " Manufacturing | \n",
504 | " STEEL WIRE AND RELATED PRODUCTS | \n",
505 | "
\n",
506 | " \n",
507 | " 372 | \n",
508 | " 3316 | \n",
509 | " Cold-Rolled Steel Sheet, Strip, and Bars | \n",
510 | " 331 | \n",
511 | " Steel Works, Blast Furnaces, And Rolling And F... | \n",
512 | " 33 | \n",
513 | " Primary Metal Industries | \n",
514 | " D | \n",
515 | " Manufacturing | \n",
516 | " COLD FINISHING OF STEEL SHAPES | \n",
517 | "
\n",
518 | " \n",
519 | " 646 | \n",
520 | " 5023 | \n",
521 | " Home furnishings | \n",
522 | " 502 | \n",
523 | " Furniture And Home Furnishings | \n",
524 | " 50 | \n",
525 | " Wholesale Trade-durable Goods | \n",
526 | " F | \n",
527 | " Wholesale Trade | \n",
528 | " HOMEFURNISHINGS | \n",
529 | "
\n",
530 | " \n",
531 | " 797 | \n",
532 | " 6289 | \n",
533 | " Services Allied With the Exchange of Securitie... | \n",
534 | " 628 | \n",
535 | " Services Allied With The Exchange Of Securities | \n",
536 | " 62 | \n",
537 | " Security And Commodity Brokers, Dealers, Excha... | \n",
538 | " H | \n",
539 | " Finance, Insurance, And Real Estate | \n",
540 | " SECURITY AND COMMODITY SERVICE | \n",
541 | "
\n",
542 | " \n",
543 | " 809 | \n",
544 | " 6514 | \n",
545 | " Operators of Dwellings Other Than Apartment Bu... | \n",
546 | " 651 | \n",
547 | " Real Estate Operators (except Developers) And ... | \n",
548 | " 65 | \n",
549 | " Real Estate | \n",
550 | " H | \n",
551 | " Finance, Insurance, And Real Estate | \n",
552 | " DWELLING OPERATORS, EXCEPT APARTMENTS | \n",
553 | "
\n",
554 | " \n",
555 | "
\n",
556 | "
"
557 | ],
558 | "text/plain": [
559 | " SIC4_cd SIC4_desc ind_cd \\\n",
560 | "89 1521 General Contractors-Single-Family Houses 152 \n",
561 | "90 1522 General Contractors-Residential Buildings, Oth... 152 \n",
562 | "93 1542 General Contractors-Nonresidential Buildings, ... 154 \n",
563 | "179 2261 Finishers of Broadwoven Fabrics of Cotton 226 \n",
564 | "180 2262 Finishers of Broadwoven Fabrics of Manmade Fib... 226 \n",
565 | "181 2269 Finishers of Textiles, Not elsewhere Classified 226 \n",
566 | "215 2392 House furnishing, Except Curtains and Draperies 239 \n",
567 | "291 2833 Medicinal Chemicals and Botanical Products 283 \n",
568 | "371 3315 Steel Wiredrawing and Steel Nails and Spikes 331 \n",
569 | "372 3316 Cold-Rolled Steel Sheet, Strip, and Bars 331 \n",
570 | "646 5023 Home furnishings 502 \n",
571 | "797 6289 Services Allied With the Exchange of Securitie... 628 \n",
572 | "809 6514 Operators of Dwellings Other Than Apartment Bu... 651 \n",
573 | "\n",
574 | " ind_desc maj_cd \\\n",
575 | "89 General Building Contractors-residential 15 \n",
576 | "90 General Building Contractors-residential 15 \n",
577 | "93 General Building Contractors-nonresidential 15 \n",
578 | "179 Dyeing And Finishing Textiles, Except Wool Fab... 22 \n",
579 | "180 Dyeing And Finishing Textiles, Except Wool Fab... 22 \n",
580 | "181 Dyeing And Finishing Textiles, Except Wool Fab... 22 \n",
581 | "215 Miscellaneous Fabricated Textile Products 23 \n",
582 | "291 Drugs 28 \n",
583 | "371 Steel Works, Blast Furnaces, And Rolling And F... 33 \n",
584 | "372 Steel Works, Blast Furnaces, And Rolling And F... 33 \n",
585 | "646 Furniture And Home Furnishings 50 \n",
586 | "797 Services Allied With The Exchange Of Securities 62 \n",
587 | "809 Real Estate Operators (except Developers) And ... 65 \n",
588 | "\n",
589 | " maj_desc div_cd \\\n",
590 | "89 Building Construction General Contractors And ... C \n",
591 | "90 Building Construction General Contractors And ... C \n",
592 | "93 Building Construction General Contractors And ... C \n",
593 | "179 Textile Mill Products D \n",
594 | "180 Textile Mill Products D \n",
595 | "181 Textile Mill Products D \n",
596 | "215 Apparel And Other Finished Products Made From ... D \n",
597 | "291 Chemicals And Allied Products D \n",
598 | "371 Primary Metal Industries D \n",
599 | "372 Primary Metal Industries D \n",
600 | "646 Wholesale Trade-durable Goods F \n",
601 | "797 Security And Commodity Brokers, Dealers, Excha... H \n",
602 | "809 Real Estate H \n",
603 | "\n",
604 | " div_desc \\\n",
605 | "89 Construction \n",
606 | "90 Construction \n",
607 | "93 Construction \n",
608 | "179 Manufacturing \n",
609 | "180 Manufacturing \n",
610 | "181 Manufacturing \n",
611 | "215 Manufacturing \n",
612 | "291 Manufacturing \n",
613 | "371 Manufacturing \n",
614 | "372 Manufacturing \n",
615 | "646 Wholesale Trade \n",
616 | "797 Finance, Insurance, And Real Estate \n",
617 | "809 Finance, Insurance, And Real Estate \n",
618 | "\n",
619 | " SIC4_desciption \n",
620 | "89 SINGLE-FAMILY HOUSING CONSTRUCTION \n",
621 | "90 RESIDENTIAL CONSTRUCTION, NEC \n",
622 | "93 NONRESIDENTIAL CONSTRUCTION, NEC \n",
623 | "179 FINISHING PLANTS, COTTON \n",
624 | "180 FINISHING PLANTS, MANMADE \n",
625 | "181 FINISHING PLANTS, NEC \n",
626 | "215 HOUSEHOLD FURNISHINGS, NEC \n",
627 | "291 MEDICINALS AND BOTANICALS \n",
628 | "371 STEEL WIRE AND RELATED PRODUCTS \n",
629 | "372 COLD FINISHING OF STEEL SHAPES \n",
630 | "646 HOMEFURNISHINGS \n",
631 | "797 SECURITY AND COMMODITY SERVICE \n",
632 | "809 DWELLING OPERATORS, EXCEPT APARTMENTS "
633 | ]
634 | },
635 | "execution_count": 9,
636 | "metadata": {},
637 | "output_type": "execute_result"
638 | }
639 | ],
640 | "source": [
641 | "# Identify specific mismatches\n",
642 | "inner[[not(m) for m in match]]"
643 | ]
644 | }
645 | ],
646 | "metadata": {
647 | "anaconda-cloud": {},
648 | "kernelspec": {
649 | "display_name": "Python [default]",
650 | "language": "python",
651 | "name": "python2"
652 | },
653 | "language_info": {
654 | "codemirror_mode": {
655 | "name": "ipython",
656 | "version": 2
657 | },
658 | "file_extension": ".py",
659 | "mimetype": "text/x-python",
660 | "name": "python",
661 | "nbconvert_exporter": "python",
662 | "pygments_lexer": "ipython2",
663 | "version": "2.7.12"
664 | }
665 | },
666 | "nbformat": 4,
667 | "nbformat_minor": 0
668 | }
669 |
--------------------------------------------------------------------------------
/reference/SicCodesAllLevels.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtlee9/SIC-list/bb4b535f421320b1dfa57bc58163e2a17f9b6a4c/reference/SicCodesAllLevels.xls
--------------------------------------------------------------------------------
/reference/download.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | wget -O SicCodesAllLevels.xls http://www.stssamples.com/xls/SicCodesAllLevels.xls
4 | python to_csv.py
5 | mv ref_list.csv ../tests/
6 |
--------------------------------------------------------------------------------
/reference/to_csv.py:
--------------------------------------------------------------------------------
1 | import xlrd
2 | import csv
3 |
4 |
5 | def Excel2CSV(ExcelFile='SicCodesAllLevels.xls',
6 | SheetName='SIC4', CSVFile='ref_list.csv'):
7 | workbook = xlrd.open_workbook(ExcelFile)
8 | worksheet = workbook.sheet_by_name(SheetName)
9 | csvfile = open(CSVFile, 'wb')
10 | wr = csv.writer(csvfile, quoting=csv.QUOTE_ALL)
11 |
12 | for rownum in xrange(worksheet.nrows):
13 | wr.writerow(
14 | list(x.encode('utf-8')
15 | for x in worksheet.row_values(rownum)))
16 |
17 | csvfile.close()
18 |
19 | Excel2CSV()
20 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | astroid==1.4.8
2 | backports.functools-lru-cache==1.2.1
3 | beautifulsoup4==4.5.1
4 | codeclimate-test-reporter==0.1.2
5 | configparser==3.5.0
6 | coverage==4.2
7 | enum34==1.1.6
8 | flake8==3.0.4
9 | html5lib==0.999999999
10 | isort==4.2.5
11 | lazy-object-proxy==1.2.2
12 | lxml==3.6.1
13 | mccabe==0.5.2
14 | nltk==3.2.1
15 | numpy==1.11.1
16 | pandas==0.18.1
17 | py==1.4.31
18 | pycodestyle==2.0.0
19 | pyflakes==1.2.3
20 | pylint==1.6.4
21 | pytest==2.9.2
22 | pytest-cov==2.3.1
23 | pytest-flake8==0.6
24 | python-dateutil==2.5.3
25 | pytz==2016.6.1
26 | requests==2.11.1
27 | six==1.10.0
28 | webencodings==0.5
29 | wrapt==1.10.8
30 | xlrd==1.0.0
31 |
--------------------------------------------------------------------------------
/src/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtlee9/SIC-list/bb4b535f421320b1dfa57bc58163e2a17f9b6a4c/src/__init__.py
--------------------------------------------------------------------------------
/src/config.py:
--------------------------------------------------------------------------------
1 | from os import path
2 |
3 | path_src = path.dirname(path.abspath(__file__))
4 | path_base = path.dirname(path_src)
5 | path_data = path.join(path_base, 'data')
6 |
7 | html_lib = 'html5lib'
8 | OSHA_base_url = 'https://www.osha.gov/pls/imis/'
9 | OSHA_columns = (
10 | 'SIC4_cd', 'SIC4_desc', 'ind_cd', 'ind_desc',
11 | 'maj_cd', 'maj_desc', 'div_cd', 'div_desc')
12 |
13 | SEC_base_url = 'https://www.sec.gov/info/edgar/siccodes.htm'
14 | SEC_expected_columns = ['SICCode', 'A/D \xc2\xa0Office', 'Industry Title']
15 | SEC_columns = ['SIC4_cd', 'AD_office', 'industry_title']
16 |
--------------------------------------------------------------------------------
/src/main.py:
--------------------------------------------------------------------------------
1 | from os import path
2 |
3 | import config
4 | import scrape_sic_osha as osha
5 | import scrape_sic_sec as sec
6 |
7 | osha.get_sic_all(out_fname=path.join(config.path_data, 'osha_combined'))
8 | sec.save_sic_sec(path.join(config.path_data, 'sec_combined.csv'))
9 |
--------------------------------------------------------------------------------
/src/scrape_sic_osha.py:
--------------------------------------------------------------------------------
1 | from os import path
2 | import pickle
3 | import csv
4 |
5 | import config
6 | from type import ind_group
7 | from soup import get_soup
8 |
9 |
10 | def clean_desc(full_desc):
11 | """Parse full OSHA industry description into industry code, type and description
12 | """
13 |
14 | # OSHA descriptions are delimated by colons
15 | full_desc_split = full_desc.split(': ')
16 |
17 | # Check for errors
18 | if len(full_desc_split) < 2:
19 | # Check for case when no delimiter found
20 | raise Exception('No \':\' delimiter found:\n' + full_desc)
21 | elif len(full_desc_split) > 2:
22 | # If more than one delimiter found then assume latter delimiters
23 | # are part of the description
24 | new_list = []
25 | new_list.append(full_desc_split[0])
26 | new_list.append(': '.join(full_desc_split[1:]))
27 | full_desc_split = new_list
28 |
29 | # Assign full description components
30 | code_split = full_desc_split[0].split(' ')
31 | code = code_split[len(code_split) - 1]
32 | code_type = ' '.join(code_split[:-1])
33 | code_desc = full_desc_split[1]
34 |
35 | return [code, code_type, code_desc]
36 |
37 |
38 | def get_parent(running_list, i, this_type, parent_type):
39 | """Get the description of an industry group's parent
40 | OSHA industry decriptions are provided in ordered lists;
41 | this function identifies the parent industry group based
42 | on information provided by the groups preceeding it
43 | """
44 |
45 | prior = running_list[i - 1]
46 |
47 | if clean_desc(prior.full_desc)[1] == parent_type:
48 | # If the type of the previous group is a parent type then set the
49 | # parent description to previous element's description
50 | parent_desc = str(prior.full_desc)
51 | elif clean_desc(prior.full_desc)[1] == this_type:
52 | # Else if the previous group is the more granular type then set the
53 | # parent description to previous element's parent description
54 | parent_desc = str(prior.parent_desc)
55 | else:
56 | # Otherwise raise a value error
57 | err_msg = 'Unexpected code type: ' + prior
58 | raise ValueError(err_msg)
59 |
60 | return parent_desc
61 |
62 | def get_divisions():
63 | """Scrape the list of divisions and major groups from the OSHA website
64 | Divisions are the broadest grouping of SIC codes provided by OSHA
65 | Major groups are the second broadest grouping of SIC codes provided by OSHA
66 | """
67 |
68 | # Read site
69 | soup = get_soup(config.OSHA_base_url + 'sic_manual.html')
70 |
71 | # Find content
72 | container = soup.select('div#maincontain')[0]
73 | master_list = container.find('div').find('ol')
74 | all_links = master_list.find_all('a')
75 |
76 | # Store cleaned descriptions, from aref elements
77 | divisions = []
78 | for i in range(0, len(all_links)):
79 |
80 | # Store full desciption provided by site and keep the associated link
81 | l = all_links[i]
82 | full_desc = str(l.contents[0]).strip().encode("utf-8")
83 | link = l.get('href').encode("utf-8")
84 |
85 | # Get the description of the parent group
86 | if (i > 0) & (clean_desc(full_desc)[1] == 'Major Group'):
87 | parent_desc = get_parent(divisions, i, 'Major Group', 'Division')
88 | else:
89 | parent_desc = str(None)
90 |
91 | # Add to running list of named tuples
92 | divisions.append(ind_group(full_desc, parent_desc, link))
93 |
94 | return divisions
95 |
96 |
97 | def get_major(url_ext):
98 | """Scrape the list of major groups, industry groups and SIC four-digit SIC codes
99 | from the OSHA website
100 | Major groups are the second broadest grouping of SIC codes provided by OSHA
101 | Industry groups are the third broadest grouping (least granular) of SIC
102 | codes provided by OSHA
103 | """
104 |
105 | # Read site
106 | soup = get_soup(config.OSHA_base_url + url_ext)
107 |
108 | # Isolate relevant content
109 | container = soup.select('div#maincontain')[0]
110 | groups = container.find_all(['strong', 'li'])
111 | major_desc = str(container.find_all('h2')[0].contents[0])
112 |
113 | # Store cleaned descriptions, from strong and li elements
114 | majors = []
115 | for i in range(0, len(groups)):
116 |
117 | g = groups[i]
118 |
119 | # Get description of SIC and industry groups
120 | if g.name == 'strong':
121 | # Get industry group descriptions
122 | full_desc = g.contents[0].strip().encode("utf-8")
123 | link = None
124 | elif g.name == 'li':
125 | # Get four-digit SIC code descriptions
126 | full_desc = 'SIC4 ' + str(g.contents[0]).strip() + \
127 | ': ' + str(g.contents[1].contents[0]).strip()
128 | link = g.contents[1].get('href').encode("utf-8")
129 | else:
130 | # Otherwise raise a value error
131 | raise ValueError('Unexpected element type: ' + g.name)
132 |
133 | # Get the description of the parent group
134 | if (i > 0) & (clean_desc(full_desc)[1] == 'SIC4'):
135 | parent_desc = get_parent(majors, i, 'SIC4', 'Industry Group')
136 | else:
137 | parent_desc = major_desc
138 |
139 | # Add to running list of named tuples
140 | majors.append(ind_group(full_desc, parent_desc, link))
141 |
142 | return majors
143 |
144 |
145 | def get_all_majors():
146 | """Get and append descriptions for SIC codes and industry groups for all
147 | major groups; links to the individual pages can be found from the manual
148 | landing page
149 | """
150 |
151 | # Get a links to more granular descriptions from the landing page
152 | divisions = get_divisions()
153 |
154 | # Find the children descriptions for each major group
155 | majors_all = []
156 | for d in divisions:
157 | desc = clean_desc(d.full_desc)
158 | if desc[1] == 'Major Group':
159 | majors = get_major(d.link)
160 | majors_all.extend(majors)
161 |
162 | # Return a single running list of named tuples
163 | return majors_all
164 |
165 |
166 | def save_divisions(fname='divisions_raw.pkl'):
167 | """Save a pickled copy of the division (high-level) descriptions,
168 | and return the raw data
169 | """
170 | divisions = get_divisions()
171 | with open(fname, 'w') as f:
172 | pickle.dump(divisions, f)
173 | return divisions
174 |
175 |
176 | def save_majors(url, fname='majors_raw.pkl'):
177 | """Save a pickled copy of the descriptions for children of a given major group;
178 | major group must be identified by a url, and return the raw data
179 | """
180 | majors = get_major(url)
181 | with open(fname, 'w') as f:
182 | pickle.dump(majors, f)
183 | return majors
184 |
185 |
186 | def save_all_majors(fname_prepend='Maj_'):
187 | """Save pickled copies of the descriptions for children of all major groups,
188 | and return a list of all saved files
189 | """
190 |
191 | # Get a links to more granular descriptions from the landing page
192 | divisions = get_divisions()
193 |
194 | # Find and save the children descriptions for each major group
195 | file_list = []
196 | for d in divisions:
197 | desc = clean_desc(d.full_desc)
198 | if desc[1] == 'Major Group':
199 | filename = fname_prepend + desc[0] + '.pkl'
200 | save_majors(d.link, fname=filename)
201 | file_list.append(filename)
202 |
203 | # Return list of names of saved files
204 | return file_list
205 |
206 |
207 | def clean_out(unit):
208 | """Helper function: return a list of the industry code and description,
209 | given a full description
210 | """
211 | fdesc = clean_desc(unit.full_desc)
212 | cd = fdesc[0]
213 | desc = fdesc[2]
214 | return [cd, desc]
215 |
216 |
217 | def combine_sic_all(divisions, majors_all):
218 | """Combine all datasets into a single, wide data table
219 | """
220 |
221 | # Create combined table, long format
222 | combined = list(majors_all)
223 | combined.extend(divisions)
224 |
225 | # Save to dictionary for future lookup
226 | d_combined = {c.full_desc: c for c in combined}
227 |
228 | # Reshape table: long to wide
229 | wide = []
230 | for sic in combined:
231 | sic_fdesc = clean_desc(sic.full_desc)
232 | if sic_fdesc[1] == 'SIC4':
233 |
234 | # Find parents
235 | ind = d_combined[sic.parent_desc.strip()]
236 | maj = d_combined[ind.parent_desc.strip()]
237 | div = d_combined[maj.parent_desc.strip()]
238 |
239 | # Store cleaned codes and descriptions
240 | cols = clean_out(sic)
241 | cols.extend(clean_out(ind))
242 | cols.extend(clean_out(maj))
243 | cols.extend(clean_out(div))
244 |
245 | wide.append(cols)
246 |
247 | return wide
248 |
249 |
250 | def get_sic_all(div_fname=None, maj_fnames=None, out_fname='osha_combined'):
251 | """Combine all levels of SIC codes into a single flat file and save to disk
252 | """
253 |
254 | # Get divisions if file not provided
255 | if div_fname:
256 | with open(div_fname, 'rb') as f:
257 | divisions = pickle.load(f)
258 | else:
259 | divisions = get_divisions()
260 |
261 | # Get major lists if files not provided
262 | if maj_fnames:
263 | majors_all = []
264 | for f in maj_fnames:
265 | with open(f, 'rb') as f:
266 | majors_all.extend(pickle.load(f))
267 | else:
268 | majors_all = get_all_majors()
269 |
270 | wide = combine_sic_all(divisions, majors_all)
271 |
272 | # Save data in pickled format
273 | with open(out_fname + '.pkl', 'w') as f:
274 | pickle.dump(wide, f)
275 |
276 | # Save data in csv format
277 | with open(out_fname + '.csv', 'w') as f:
278 | writer = csv.writer(f)
279 | writer.writerow(config.OSHA_columns)
280 | writer.writerows(wide)
281 |
282 | # Return success confirmation
283 | return True
284 |
285 | if __name__ == '__main__':
286 | get_sic_all(out_fname=path.join(config.path_data, 'osha_combined'))
287 |
--------------------------------------------------------------------------------
/src/scrape_sic_sec.py:
--------------------------------------------------------------------------------
1 | from os import path
2 | import csv
3 | import warnings
4 |
5 | import config
6 | from soup import get_soup
7 |
8 |
9 | def get_sic_sec():
10 | """Scrape SIC codes from SEC website
11 | """
12 |
13 | # Setup
14 | soup = get_soup(config.SEC_base_url)
15 | table = soup.find_all('table')[3]
16 |
17 | # Convert HTML to nested list
18 | data = []
19 | for row in table.find_all('tr'):
20 | cols = row.find_all('td')
21 | cols = [ele.text.strip().replace(' ', ' ') for ele in cols]
22 | if (len(cols) > 1):
23 | data.append([ele.encode('utf-8') for ele in cols if ele])
24 |
25 | # Clean headers
26 | if data[0] != config.SEC_expected_columns:
27 | warnings.warn(
28 | 'Warning: column names have changed in URL ' + config.SEC_base_url)
29 | data[0] = config.SEC_columns
30 |
31 | return data
32 |
33 |
34 | def save_sic_sec(out_fname='sec_combined.csv'):
35 | """Save scraped SIC codes to local machine
36 | """
37 | data = get_sic_sec()
38 | with open(out_fname, 'wb') as myfile:
39 | wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
40 | wr.writerows(data)
41 | return data
42 |
43 | if __name__ == '__main__':
44 | save_sic_sec(path.join(config.path_data, 'sec_combined.csv'))
45 |
--------------------------------------------------------------------------------
/src/soup.py:
--------------------------------------------------------------------------------
1 | from bs4 import BeautifulSoup
2 | import urllib2
3 |
4 | import config
5 |
6 | def get_soup(url):
7 | """Return a soup object for scraping based on provided URL
8 | """
9 | page = urllib2.urlopen(url).read()
10 | return BeautifulSoup(page, config.html_lib)
11 |
--------------------------------------------------------------------------------
/src/type.py:
--------------------------------------------------------------------------------
1 | from collections import namedtuple
2 |
3 | # Create named tuple to store scraped data
4 | ind_group = namedtuple('ind_group', [
5 | 'full_desc', 'parent_desc', 'link'])
6 |
--------------------------------------------------------------------------------
/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtlee9/SIC-list/bb4b535f421320b1dfa57bc58163e2a17f9b6a4c/tests/__init__.py
--------------------------------------------------------------------------------
/tests/context.py:
--------------------------------------------------------------------------------
1 | import sys
2 | from os import path
3 | sys.path.insert(0, path.join(path.dirname(path.dirname(__file__)), 'src'))
4 |
5 | import scrape_sic_sec
6 | import scrape_sic_osha
7 | path_test = path.dirname(path.abspath(__file__))
8 |
--------------------------------------------------------------------------------
/tests/ref_list.csv:
--------------------------------------------------------------------------------
1 | "4 DIGIT CODE","4 DIGIT DESCRIPTION"
2 | "0111","WHEAT"
3 | "0112","RICE"
4 | "0115","CORN"
5 | "0116","SOYBEANS"
6 | "0119","CASH GRAINS, NEC"
7 | "0131","COTTON"
8 | "0132","TOBACCO"
9 | "0133","SUGARCANE AND SUGAR BEETS"
10 | "0134","IRISH POTATOES"
11 | "0139","FIELD CROPS, EXCEPT CASH GRAIN"
12 | "0161","VEGETABLES AND MELONS"
13 | "0171","BERRY CROPS"
14 | "0172","GRAPES"
15 | "0173","TREE NUTS"
16 | "0174","CITRUS FRUITS"
17 | "0175","DECIDUOUS TREE FRUITS"
18 | "0179","FRUITS AND TREE NUTS, NEC"
19 | "0181","ORNAMENTAL NURSERY PRODUCTS"
20 | "0182","FOOD CROPS GROWN UNDER COVER"
21 | "0191","GENERAL FARMS, PRIMARILY CROP"
22 | "0211","BEEF CATTLE FEEDLOTS"
23 | "0212","BEEF CATTLE, EXCEPT FEEDLOTS"
24 | "0213","HOGS"
25 | "0214","SHEEP AND GOATS"
26 | "0219","GENERAL LIVESTOCK, NEC"
27 | "0241","DAIRY FARMS"
28 | "0251","BROILER, FRYER, AND ROASTER CHICKENS"
29 | "0252","CHICKEN EGGS"
30 | "0253","TURKEYS AND TURKEY EGGS"
31 | "0254","POULTRY HATCHERIES"
32 | "0259","POULTRY AND EGGS, NEC"
33 | "0271","FUR-BEARING ANIMALS AND RABBITS"
34 | "0272","HORSES AND OTHER EQUINES"
35 | "0273","ANIMAL AQUACULTURE"
36 | "0279","ANIMAL SPECIALTIES, NEC"
37 | "0291","GENERAL FARMS, PRIMARILY ANIMALS"
38 | "0711","SOIL PREPARATION SERVICES"
39 | "0721","CROP PLANTING AND PROTECTION"
40 | "0722","CROP HARVESTING"
41 | "0723","CROP PREPARATION SERVICES FOR MARKET"
42 | "0724","COTTON GINNING"
43 | "0741","VETERINARY SERVICES FOR LIVESTOCK"
44 | "0742","VETERINARY SERVICES, SPECIALTIES"
45 | "0751","LIVESTOCK SERVICES, EXCEPT VETERINARY"
46 | "0752","ANIMAL SPECIALTY SERVICES"
47 | "0761","FARM LABOR CONTRACTORS"
48 | "0762","FARM MANAGEMENT SERVICES"
49 | "0781","LANDSCAPE COUNSELING AND PLANNING"
50 | "0782","LAWN AND GARDEN SERVICES"
51 | "0783","ORNAMENTAL SHRUB AND TREE SERVICES"
52 | "0811","TIMBER TRACTS"
53 | "0831","FOREST PRODUCTS"
54 | "0851","FORESTRY SERVICES"
55 | "0912","FINFISH"
56 | "0913","SHELLFISH"
57 | "0919","MISCELLANEOUS MARINE PRODUCTS"
58 | "0921","FISH HATCHERIES AND PRESERVES"
59 | "0971","HUNTING, TRAPPING, GAME PROPAGATION"
60 | "1011","IRON ORES"
61 | "1021","COPPER ORES"
62 | "1031","LEAD AND ZINC ORES"
63 | "1041","GOLD ORES"
64 | "1044","SILVER ORES"
65 | "1061","FERROALLOY ORES, EXCEPT VANADIUM"
66 | "1081","METAL MINING SERVICES"
67 | "1094","URANIUM-RADIUM-VANADIUM ORES"
68 | "1099","METAL ORES, NEC"
69 | "1221","BITUMINOUS COAL AND LIGNITE-SURFACE MINING"
70 | "1222","BITUMINOUS COAL-UNDERGROUND MINING"
71 | "1231","ANTHRACITE MINING"
72 | "1241","COAL MINING SERVICES"
73 | "1311","CRUDE PETROLEUM AND NATURAL GAS"
74 | "1321","NATURAL GAS LIQUIDS"
75 | "1381","DRILLING OIL AND GAS WELLS"
76 | "1382","OIL AND GAS EXPLORATION SERVICES"
77 | "1389","OIL AND GAS FIELD SERVICES, NEC"
78 | "1411","DIMENSION STONE"
79 | "1422","CRUSHED AND BROKEN LIMESTONE"
80 | "1423","CRUSHED AND BROKEN GRANITE"
81 | "1429","CRUSHED AND BROKEN STONE, NEC"
82 | "1442","CONSTRUCTION SAND AND GRAVEL"
83 | "1446","INDUSTRIAL SAND"
84 | "1455","KAOLIN AND BALL CLAY"
85 | "1459","CLAY AND RELATED MINERALS, NEC"
86 | "1474","POTASH, SODA, AND BORATE MINERALS"
87 | "1475","PHOSPHATE ROCK"
88 | "1479","CHEMICAL AND FERTILIZER MINING"
89 | "1481","NONMETALLIC MINERAL SERVICES"
90 | "1499","MISCELLANEOUS NONMETALLIC MINING"
91 | "1521","SINGLE-FAMILY HOUSING CONSTRUCTION"
92 | "1522","RESIDENTIAL CONSTRUCTION, NEC"
93 | "1531","OPERATIVE BUILDERS"
94 | "1541","INDUSTRIAL BUILDINGS AND WAREHOUSES"
95 | "1542","NONRESIDENTIAL CONSTRUCTION, NEC"
96 | "1611","HIGHWAY AND STREET CONSTRUCTION"
97 | "1622","BRIDGE, TUNNEL, AND ELEVATED HIGHWAY"
98 | "1623","WATER, SEWER, AND UTILITY LINES"
99 | "1629","HEAVY CONSTRUCTION, NEC"
100 | "1711","PLUMBING, HEATING, AIR-CONDITIONING"
101 | "1721","PAINTING AND PAPER HANGING"
102 | "1731","ELECTRICAL WORK"
103 | "1741","MASONRY AND OTHER STONEWORK"
104 | "1742","PLASTERING, DRYWALL, AND INSULATION"
105 | "1743","TERRAZZO, TILE, MARBLE, MOSAIC WORK"
106 | "1751","CARPENTRY WORK"
107 | "1752","FLOOR LAYING AND FLOOR WORK, NEC"
108 | "1761","ROOFING, SIDING, AND SHEETMETAL WORK"
109 | "1771","CONCRETE WORK"
110 | "1781","WATER WELL DRILLING"
111 | "1791","STRUCTURAL STEEL ERECTION"
112 | "1793","GLASS AND GLAZING WORK"
113 | "1794","EXCAVATION WORK"
114 | "1795","WRECKING AND DEMOLITION WORK"
115 | "1796","INSTALLING BUILDING EQUIPMENT"
116 | "1799","SPECIAL TRADE CONTRACTORS, NEC"
117 | "2011","MEAT PACKING PLANTS"
118 | "2013","SAUSAGES AND OTHER PREPARED MEATS"
119 | "2015","POULTRY SLAUGHTERING AND PROCESSING"
120 | "2021","CREAMERY BUTTER"
121 | "2022","CHEESE; NATURAL AND PROCESSED"
122 | "2023","DRY, CONDENSED, EVAPORATED PRODUCTS"
123 | "2024","ICE CREAM AND FROZEN DESERTS"
124 | "2026","FLUID MILK"
125 | "2032","CANNED SPECIALTIES"
126 | "2033","CANNED FRUITS AND SPECIALTIES"
127 | "2034","DEHYDRATED FRUITS, VEGETABLES, SOUPS"
128 | "2035","PICKLES, SAUCES, AND SALAD DRESSINGS"
129 | "2037","FROZEN FRUITS AND VEGETABLES"
130 | "2038","FROZEN SPECIALTIES, NEC"
131 | "2041","FLOUR AND OTHER GRAIN MILL PRODUCTS"
132 | "2043","CEREAL BREAKFAST FOODS"
133 | "2044","RICE MILLING"
134 | "2045","PREPARED FLOUR MIXES AND DOUGHS"
135 | "2046","WET CORN MILLING"
136 | "2047","DOG AND CAT FOOD"
137 | "2048","PREPARED FEEDS, NEC"
138 | "2051","BREAD, CAKE, AND RELATED PRODUCTS"
139 | "2052","COOKIES AND CRACKERS"
140 | "2053","FROZEN BAKERY PRODUCTS, EXCEPT BREAD"
141 | "2061","RAW CANE SUGAR"
142 | "2062","CANE SUGAR REFINING"
143 | "2063","BEET SUGAR"
144 | "2064","CANDY AND OTHER CONFECTIONERY PRODUCTS"
145 | "2066","CHOCOLATE AND COCOA PRODUCTS"
146 | "2067","CHEWING GUM"
147 | "2068","SALTED AND ROASTED NUTS AND SEEDS"
148 | "2074","COTTONSEED OIL MILLS"
149 | "2075","SOYBEAN OIL MILLS"
150 | "2076","VEGETABLE OIL MILLS, NEC"
151 | "2077","ANIMAL AND MARINE FATS AND OILS"
152 | "2079","EDIBLE FATS AND OILS"
153 | "2082","MALT BEVERAGES"
154 | "2083","MALT"
155 | "2084","WINES, BRANDY, AND BRANDY SPIRITS"
156 | "2085","DISTILLED AND BLENDED LIQUORS"
157 | "2086","BOTTLED AND CANNED SOFT DRINKS"
158 | "2087","FLAVORING EXTRACTS AND SYRUPS, NEC"
159 | "2091","CANNED AND CURED FISH AND SEAFOODS"
160 | "2092","FRESH OR FROZEN PACKAGED FISH"
161 | "2095","ROASTED COFFEE"
162 | "2096","POTATO CHIPS AND SIMILAR SNACKS"
163 | "2097","MANUFACTURED ICE"
164 | "2098","MACARONI AND SPAGHETTI"
165 | "2099","FOOD PREPARATIONS, NEC"
166 | "2111","CIGARETTES"
167 | "2121","CIGARS"
168 | "2131","CHEWING AND SMOKING TOBACCO"
169 | "2141","TOBACCO STEMMING AND REDRYING"
170 | "2211","BROADWOVEN FABRIC MILLS, COTTON"
171 | "2221","BROADWOVEN FABRIC MILLS, MANMADE"
172 | "2231","BROADWOVEN FABRIC MILLS, WOOL"
173 | "2241","NARROW FABRIC MILLS"
174 | "2251","WOMEN'S HOSIERY, EXCEPT SOCKS"
175 | "2252","HOSIERY, NEC"
176 | "2253","KNIT OUTERWEAR MILLS"
177 | "2254","KNIT UNDERWEAR MILLS"
178 | "2257","WEFT KNIT FABRIC MILLS"
179 | "2258","LACE AND WARP KNIT FABRIC MILLS"
180 | "2259","KNITTING MILLS, NEC"
181 | "2261","FINISHING PLANTS, COTTON"
182 | "2262","FINISHING PLANTS, MANMADE"
183 | "2269","FINISHING PLANTS, NEC"
184 | "2273","CARPETS AND RUGS"
185 | "2281","YARN SPINNING MILLS"
186 | "2282","THROWING AND WINDING MILLS"
187 | "2284","THREAD MILLS"
188 | "2295","COATED FABRICS, NOT RUBBERIZED"
189 | "2296","TIRE CORD AND FABRICS"
190 | "2297","NONWOVEN FABRICS"
191 | "2298","CORDAGE AND TWINE"
192 | "2299","TEXTILE GOODS, NEC"
193 | "2311","MEN'S AND BOY'S SUITS AND COATS"
194 | "2321","MEN'S AND BOY'S FURNISHINGS"
195 | "2322","MEN'S AND BOY'S UNDERWEAR AND NIGHTWEAR"
196 | "2323","MEN'S AND BOY'S NECKWEAR"
197 | "2325","MEN'S AND BOY'S TROUSERS AND SLACKS"
198 | "2326","MEN'S AND BOY'S WORK CLOTHING"
199 | "2329","MEN'S AND BOY'S CLOTHING, NEC"
200 | "2331","WOMEN'S AND MISSES' BLOUSES AND SHIRTS"
201 | "2335","WOMEN'S, JUNIOR'S, AND MISSES' DRESSES"
202 | "2337","WOMEN'S AND MISSES' SUITS AND COATS"
203 | "2339","WOMEN'S AND MISSES' OUTERWEAR, NEC"
204 | "2341","WOMEN'S AND CHILDREN'S UNDERWEAR"
205 | "2342","BRAS, GIRDLES, AND ALLIED GARMENTS"
206 | "2353","HATS, CAPS, AND MILLINERY"
207 | "2361","GIRL'S AND CHILDREN'S DRESSES, BLOUSES"
208 | "2369","GIRL'S AND CHILDREN'S OUTERWEAR, NEC"
209 | "2371","FUR GOODS"
210 | "2381","FABRIC DRESS AND WORK GLOVES"
211 | "2384","ROBES AND DRESSING GOWNS"
212 | "2385","WATERPROOF OUTERWEAR"
213 | "2386","LEATHER AND SHEEP-LINED CLOTHING"
214 | "2387","APPAREL BELTS"
215 | "2389","APPAREL AND ACCESSORIES, NEC"
216 | "2391","CURTAINS AND DRAPERIES"
217 | "2392","HOUSEHOLD FURNISHINGS, NEC"
218 | "2393","TEXTILE BAGS"
219 | "2394","CANVAS AND RELATED PRODUCTS"
220 | "2395","PLEATING AND STITCHING"
221 | "2396","AUTOMOTIVE AND APPAREL TRIMMINGS"
222 | "2397","SCHIFFLI MACHINE EMBROIDERIES"
223 | "2399","FABRICATED TEXTILE PRODUCTS, NEC"
224 | "2411","LOGGING"
225 | "2421","SAWMILLS AND PLANING MILLS, GENERAL"
226 | "2426","HARDWOOD DIMENSION AND FLOORING MILLS"
227 | "2429","SPECIAL PRODUCT SAWMILLS, NEC"
228 | "2431","MILLWORK"
229 | "2434","WOOD KITCHEN CABINETS"
230 | "2435","HARDWOOD VENEER AND PLYWOOD"
231 | "2436","SOFTWOOD VENEER AND PLYWOOD"
232 | "2439","STRUCTURAL WOOD MEMBERS, NEC"
233 | "2441","NAILED WOOD BOXES AND SHOOK"
234 | "2448","WOOD PALLETS AND SKIDS"
235 | "2449","WOOD CONTAINERS, NEC"
236 | "2451","MOBILE HOMES"
237 | "2452","PREFABRICATED WOOD BUILDINGS"
238 | "2491","WOOD PRESERVING"
239 | "2493","RECONSTITUTED WOOD PRODUCTS"
240 | "2499","WOOD PRODUCTS, NEC"
241 | "2511","WOOD HOUSEHOLD FURNITURE"
242 | "2512","UPHOLSTERED HOUSEHOLD FURNITURE"
243 | "2514","METAL HOUSEHOLD FURNITURE"
244 | "2515","MATTRESSES AND BEDSPRINGS"
245 | "2517","WOOD TELEVISION AND RADIO CABINETS"
246 | "2519","HOUSEHOLD FURNITURE, NEC"
247 | "2521","WOOD OFFICE FURNITURE"
248 | "2522","OFFICE FURNITURE, EXCEPT WOOD"
249 | "2531","PUBLIC BUILDING AND RELATED FURNITURE"
250 | "2541","WOOD PARTITIONS AND FIXTURES"
251 | "2542","PARTITIONS AND FIXTURES, EXCEPT WOOD"
252 | "2591","DRAPERY HARDWARE AND BLINDS AND SHADES"
253 | "2599","FURNITURE AND FIXTURES, NEC"
254 | "2611","PULP MILLS"
255 | "2621","PAPER MILLS"
256 | "2631","PAPERBOARD MILLS"
257 | "2652","SETUP PAPERBOARD BOXES"
258 | "2653","CORRUGATED AND SOLID FIBER BOXES"
259 | "2655","FIBER CANS, DRUMS, AND SIMILAR PRODUCTS"
260 | "2656","SANITARY FOOD CONTAINERS"
261 | "2657","FOLDING PAPERBOARD BOXES"
262 | "2671","PAPER; COATED AND LAMINATED PACKAGING"
263 | "2672","PAPER; COATED AND LAMINATED, NEC"
264 | "2673","BAGS: PLASTIC, LAMINATED, AND COATED"
265 | "2674","BAGS: UNCOATED PAPER AND MULTIWALL"
266 | "2675","DIE-CUT PAPER AND BOARD"
267 | "2676","SANITARY PAPER PRODUCTS"
268 | "2677","ENVELOPES"
269 | "2678","STATIONERY PRODUCTS"
270 | "2679","CONVERTED PAPER PRODUCTS, NEC"
271 | "2711","NEWSPAPERS"
272 | "2721","PERIODICALS"
273 | "2731","BOOK PUBLISHING"
274 | "2732","BOOK PRINTING"
275 | "2741","MISCELLANEOUS PUBLISHING"
276 | "2752","COMMERCIAL PRINTING, LITHOGRAPHIC"
277 | "2754","COMMERCIAL PRINTING, GRAVURE"
278 | "2759","COMMERCIAL PRINTING, NEC"
279 | "2761","MANIFOLD BUSINESS FORMS"
280 | "2771","GREETING CARDS"
281 | "2782","BLANKBOOKS AND LOOSELEAF BINDERS"
282 | "2789","BOOKBINDING AND RELATED WORK"
283 | "2791","TYPESETTING"
284 | "2796","PLATEMAKING SERVICES"
285 | "2812","ALKALIES AND CHLORINE"
286 | "2813","INDUSTRIAL GASES"
287 | "2816","INORGANIC PIGMENTS"
288 | "2819","INDUSTRIAL INORGANIC CHEMICALS, NEC"
289 | "2821","PLASTICS MATERIALS AND RESINS"
290 | "2822","SYNTHETIC RUBBER"
291 | "2823","CELLULOSIC MANMADE FIBERS"
292 | "2824","ORGANIC FIBERS, NONCELLULOSIC"
293 | "2833","MEDICINALS AND BOTANICALS"
294 | "2834","PHARMACEUTICAL PREPARATIONS"
295 | "2835","DIAGNOSTIC SUBSTANCES"
296 | "2836","BIOLOGICAL PRODUCTS, EXCEPT DIAGNOSTIC"
297 | "2841","SOAP AND OTHER DETERGENTS"
298 | "2842","POLISHES AND SANITATION GOODS"
299 | "2843","SURFACE ACTIVE AGENTS"
300 | "2844","TOILET PREPARATIONS"
301 | "2851","PAINTS AND ALLIED PRODUCTS"
302 | "2861","GUM AND WOOD CHEMICALS"
303 | "2865","CYCLIC CRUDES AND INTERMEDIATES"
304 | "2869","INDUSTRIAL ORGANIC CHEMICALS, NEC"
305 | "2873","NITROGENOUS FERTILIZERS"
306 | "2874","PHOSPHATIC FERTILIZERS"
307 | "2875","FERTILIZERS, MIXING ONLY"
308 | "2879","AGRICULTURAL CHEMICALS, NEC"
309 | "2891","ADHESIVES AND SEALANTS"
310 | "2892","EXPLOSIVES"
311 | "2893","PRINTING INK"
312 | "2895","CARBON BLACK"
313 | "2899","CHEMICAL PREPARATIONS, NEC"
314 | "2911","PETROLEUM REFINING"
315 | "2951","ASPHALT PAVING MIXTURES AND BLOCKS"
316 | "2952","ASPHALT FELTS AND COATINGS"
317 | "2992","LUBRICATING OILS AND GREASES"
318 | "2999","PETROLEUM AND COAL PRODUCTS, NEC"
319 | "3011","TIRES AND INNER TUBES"
320 | "3021","RUBBER AND PLASTICS FOOTWEAR"
321 | "3052","RUBBER AND PLASTICS HOSE AND BELTINGS"
322 | "3053","GASKETS; PACKING AND SEALING DEVICES"
323 | "3061","MECHANICAL RUBBER GOODS"
324 | "3069","FABRICATED RUBBER PRODUCTS, NEC"
325 | "3081","UNSUPPORTED PLASTICS FILM AND SHEET"
326 | "3082","UNSUPPORTED PLASTICS PROFILE SHAPES"
327 | "3083","LAMINATED PLASTICS PLATE AND SHEET"
328 | "3084","PLASTICS PIPE"
329 | "3085","PLASTICS BOTTLES"
330 | "3086","PLASTICS FOAM PRODUCTS"
331 | "3087","CUSTOM COMPOUND PURCHASED RESINS"
332 | "3088","PLASTICS PLUMBING FIXTURES"
333 | "3089","PLASTICS PRODUCTS, NEC"
334 | "3111","LEATHER TANNING AND FINISHING"
335 | "3131","FOOTWEAR CUT STOCK"
336 | "3142","HOUSE SLIPPERS"
337 | "3143","MEN'S FOOTWEAR, EXCEPT ATHLETIC"
338 | "3144","WOMEN'S FOOTWEAR, EXCEPT ATHLETIC"
339 | "3149","FOOTWEAR, EXCEPT RUBBER, NEC"
340 | "3151","LEATHER GLOVES AND MITTENS"
341 | "3161","LUGGAGE"
342 | "3171","WOMEN'S HANDBAGS AND PURSES"
343 | "3172","PERSONAL LEATHER GOODS, NEC"
344 | "3199","LEATHER GOODS, NEC"
345 | "3211","FLAT GLASS"
346 | "3221","GLASS CONTAINERS"
347 | "3229","PRESSED AND BLOWN GLASS, NEC"
348 | "3231","PRODUCTS OF PURCHASED GLASS"
349 | "3241","CEMENT, HYDRAULIC"
350 | "3251","BRICK AND STRUCTURAL CLAY TILE"
351 | "3253","CERAMIC WALL AND FLOOR TILE"
352 | "3255","CLAY REFRACTORIES"
353 | "3259","STRUCTURAL CLAY PRODUCTS, NEC"
354 | "3261","VITREOUS PLUMBING FIXTURES"
355 | "3262","VITREOUS CHINA TABLE AND KITCHENWARE"
356 | "3263","SEMIVITREOUS TABLE AND KITCHENWARE"
357 | "3264","PORCELAIN ELECTRICAL SUPPLIES"
358 | "3269","POTTERY PRODUCTS, NEC"
359 | "3271","CONCRETE BLOCK AND BRICK"
360 | "3272","CONCRETE PRODUCTS, NEC"
361 | "3273","READY-MIXED CONCRETE"
362 | "3274","LIME"
363 | "3275","GYPSUM PRODUCTS"
364 | "3281","CUT STONE AND STONE PRODUCTS"
365 | "3291","ABRASIVE PRODUCTS"
366 | "3292","ASBESTOS PRODUCTS"
367 | "3295","MINERALS, GROUND OR TREATED"
368 | "3296","MINERAL WOOL"
369 | "3297","NONCLAY REFRACTORIES"
370 | "3299","NONMETALLIC MINERAL PRODUCTS,"
371 | "3312","BLAST FURNACES AND STEEL MILLS"
372 | "3313","ELECTROMETALLURGICAL PRODUCTS"
373 | "3315","STEEL WIRE AND RELATED PRODUCTS"
374 | "3316","COLD FINISHING OF STEEL SHAPES"
375 | "3317","STEEL PIPE AND TUBES"
376 | "3321","GRAY AND DUCTILE IRON FOUNDRIES"
377 | "3322","MALLEABLE IRON FOUNDRIES"
378 | "3324","STEEL INVESTMENT FOUNDRIES"
379 | "3325","STEEL FOUNDRIES, NEC"
380 | "3331","PRIMARY COPPER"
381 | "3334","PRIMARY ALUMINUM"
382 | "3339","PRIMARY NONFERROUS METALS, NEC"
383 | "3341","SECONDARY NONFERROUS METALS"
384 | "3351","COPPER ROLLING AND DRAWING"
385 | "3353","ALUMINUM SHEET, PLATE, AND FOIL"
386 | "3354","ALUMINUM EXTRUDED PRODUCTS"
387 | "3355","ALUMINUM ROLLING AND DRAWING, NEC"
388 | "3356","NONFERROUS ROLLING AND DRAWING, NEC"
389 | "3357","NONFERROUS WIREDRAWING AND INSULATING"
390 | "3363","ALUMINUM DIE-CASTINGS"
391 | "3364","NONFERROUS DIE-CASTINGS EXCEPT ALUMINUM"
392 | "3365","ALUMINUM FOUNDRIES"
393 | "3366","COPPER FOUNDRIES"
394 | "3369","NONFERROUS FOUNDRIES, NEC"
395 | "3398","METAL HEAT TREATING"
396 | "3399","PRIMARY METAL PRODUCTS"
397 | "3411","METAL CANS"
398 | "3412","METAL BARRELS, DRUMS, AND PAILS"
399 | "3421","CUTLERY"
400 | "3423","HAND AND EDGE TOOLS, NEC"
401 | "3425","SAW BLADES AND HANDSAWS"
402 | "3429","HARDWARE, NEC"
403 | "3431","METAL SANITARY WARE"
404 | "3432","PLUMBING FIXTURE FITTINGS AND TRIM"
405 | "3433","HEATING EQUIPMENT, EXCEPT ELECTRIC"
406 | "3441","FABRICATED STRUCTURAL METAL"
407 | "3442","METAL DOORS, SASH, AND TRIM"
408 | "3443","FABRICATED PLATE WORK (BOILER SHOP)"
409 | "3444","SHEET METALWORK"
410 | "3446","ARCHITECTURAL METALWORK"
411 | "3448","PREFABRICATED METAL BUILDINGS"
412 | "3449","MISCELLANEOUS METALWORK"
413 | "3451","SCREW MACHINE PRODUCTS"
414 | "3452","BOLTS, NUTS, RIVETS, AND WASHERS"
415 | "3462","IRON AND STEEL FORGINGS"
416 | "3463","NONFERROUS FORGINGS"
417 | "3465","AUTOMOTIVE STAMPINGS"
418 | "3466","CROWNS AND CLOSURES"
419 | "3469","METAL STAMPINGS, NEC"
420 | "3471","PLATING AND POLISHING"
421 | "3479","METAL COATING AND ALLIED SERVICES"
422 | "3482","SMALL ARMS AMMUNITION"
423 | "3483","AMMUNITION, EXCEPT FOR SMALL ARMS, NEC"
424 | "3484","SMALL ARMS"
425 | "3489","ORDNANCE AND ACCESSORIES, NEC"
426 | "3491","INDUSTRIAL VALVES"
427 | "3492","FLUID POWER VALVES AND HOSE FITTINGS"
428 | "3493","STEEL SPRINGS, EXCEPT WIRE"
429 | "3494","VALVES AND PIPE FITTINGS, NEC"
430 | "3495","WIRE SPRINGS"
431 | "3496","MISCELLANEOUS FABRICATED WIRE PRODUCTS"
432 | "3497","METAL FOIL AND LEAF"
433 | "3498","FABRICATED PIPE AND FITTINGS"
434 | "3499","FABRICATED METAL PRODUCTS, NEC"
435 | "3511","TURBINES AND TURBINE GENERATOR SETS"
436 | "3519","INTERNAL COMBUSTION ENGINES, NEC"
437 | "3523","FARM MACHINERY AND EQUIPMENT"
438 | "3524","LAWN AND GARDEN EQUIPMENT"
439 | "3531","CONSTRUCTION MACHINERY"
440 | "3532","MINING MACHINERY"
441 | "3533","OIL AND GAS FIELD MACHINERY"
442 | "3534","ELEVATORS AND MOVING STAIRWAYS"
443 | "3535","CONVEYORS AND CONVEYING EQUIPMENT"
444 | "3536","HOISTS, CRANES, AND MONORAILS"
445 | "3537","INDUSTRIAL TRUCKS AND TRACTORS"
446 | "3541","MACHINE TOOLS, METAL CUTTING TYPE"
447 | "3542","MACHINE TOOLS, METAL FORMING TYPE"
448 | "3543","INDUSTRIAL PATTERNS"
449 | "3544","SPECIAL DIES, TOOLS, JIGS, AND FIXTURES"
450 | "3545","MACHINE TOOL ACCESSORIES"
451 | "3546","POWER-DRIVEN HANDTOOLS"
452 | "3547","ROLLING MILL MACHINERY"
453 | "3548","WELDING APPARATUS"
454 | "3549","METALWORKING MACHINERY, NEC"
455 | "3552","TEXTILE MACHINERY"
456 | "3553","WOODWORKING MACHINERY"
457 | "3554","PAPER INDUSTRIES MACHINERY"
458 | "3555","PRINTING TRADES MACHINERY"
459 | "3556","FOOD PRODUCTS MACHINERY"
460 | "3559","SPECIAL INDUSTRY MACHINERY, NEC"
461 | "3561","PUMPS AND PUMPING EQUIPMENT"
462 | "3562","BALL AND ROLLER BEARINGS"
463 | "3563","AIR AND GAS COMPRESSORS"
464 | "3564","BLOWERS AND FANS"
465 | "3565","PACKAGING MACHINERY"
466 | "3566","SPEED CHANGERS, DRIVES, AND GEARS"
467 | "3567","INDUSTRIAL FURNACES AND OVENS"
468 | "3568","POWER TRANSMISSION EQUIPMENT, NEC"
469 | "3569","GENERAL INDUSTRIAL MACHINERY,"
470 | "3571","ELECTRONIC COMPUTERS"
471 | "3572","COMPUTER STORAGE DEVICES"
472 | "3575","COMPUTER TERMINALS"
473 | "3577","COMPUTER PERIPHERAL EQUIPMENT, NEC"
474 | "3578","CALCULATING AND ACCOUNTING EQUIPMENT"
475 | "3579","OFFICE MACHINES, NEC"
476 | "3581","AUTOMATIC VENDING MACHINES"
477 | "3582","COMMERCIAL LAUNDRY EQUIPMENT"
478 | "3585","REFRIGERATION AND HEATING EQUIPMENT"
479 | "3586","MEASURING AND DISPENSING PUMPS"
480 | "3589","SERVICE INDUSTRY MACHINERY, NEC"
481 | "3592","CARBURETORS, PISTONS, RINGS, VALVES"
482 | "3593","FLUID POWER CYLINDERS AND ACTUATORS"
483 | "3594","FLUID POWER PUMPS AND MOTORS"
484 | "3596","SCALES AND BALANCES, EXCEPT LABORATORY"
485 | "3599","INDUSTRIAL MACHINERY, NEC"
486 | "3612","POWER, DISTRIBUTION AND SPECIALTY TRANSFORMERS"
487 | "3613","SWITCHGEAR AND SWITCHBOARD APPARATUS"
488 | "3621","MOTORS AND GENERATORS"
489 | "3624","CARBON AND GRAPHITE PRODUCTS"
490 | "3625","RELAYS AND INDUSTRIAL CONTROLS"
491 | "3629","ELECTRICAL INDUSTRIAL APPARATUS"
492 | "3631","HOUSEHOLD COOKING EQUIPMENT"
493 | "3632","HOUSEHOLD REFRIGERATORS AND FREEZERS"
494 | "3633","HOUSEHOLD LAUNDRY EQUIPMENT"
495 | "3634","ELECTRIC HOUSEWARES AND FANS"
496 | "3635","HOUSEHOLD VACUUM CLEANERS"
497 | "3639","HOUSEHOLD APPLIANCES, NEC"
498 | "3641","ELECTRIC LAMPS"
499 | "3643","CURRENT-CARRYING WIRING DEVICES"
500 | "3644","NONCURRENT-CARRYING WIRING DEVICES"
501 | "3645","RESIDENTIAL LIGHTING FIXTURES"
502 | "3646","COMMERCIAL LIGHTING FIXTURES"
503 | "3647","VEHICULAR LIGHTING EQUIPMENT"
504 | "3648","LIGHTING EQUIPMENT, NEC"
505 | "3651","HOUSEHOLD AUDIO AND VIDEO EQUIPMENT"
506 | "3652","PRERECORDED RECORDS AND TAPES"
507 | "3661","TELEPHONE AND TELEGRAPH APPARATUS"
508 | "3663","RADIO AND T.V. COMMUNICATIONS EQUIPMENT"
509 | "3669","COMMUNICATIONS EQUIPMENT, NEC"
510 | "3671","ELECTRON TUBES"
511 | "3672","PRINTED CIRCUIT BOARDS"
512 | "3674","SEMICONDUCTORS AND RELATED DEVICES"
513 | "3675","ELECTRONIC CAPACITORS"
514 | "3676","ELECTRONIC RESISTORS"
515 | "3677","ELECTRONIC COILS AND TRANSFORMERS"
516 | "3678","ELECTRONIC CONNECTORS"
517 | "3679","ELECTRONIC COMPONENTS, NEC"
518 | "3691","STORAGE BATTERIES"
519 | "3692","PRIMARY BATTERIES, DRY AND WET"
520 | "3694","ENGINE ELECTRICAL EQUIPMENT"
521 | "3695","MAGNETIC AND OPTICAL RECORDING MEDIA"
522 | "3699","ELECTRICAL EQUIPMENT AND SUPPLIES, NEC"
523 | "3711","MOTOR VEHICLES AND CAR BODIES"
524 | "3713","TRUCK AND BUS BODIES"
525 | "3714","MOTOR VEHICLE PARTS AND ACCESSORIES"
526 | "3715","TRUCK TRAILERS"
527 | "3716","MOTOR HOMES"
528 | "3721","AIRCRAFT"
529 | "3724","AIRCRAFT ENGINES AND ENGINE PARTS"
530 | "3728","AIRCRAFT PARTS AND EQUIPMENT, NEC"
531 | "3731","SHIPBUILDING AND REPAIRING"
532 | "3732","BOATBUILDING AND REPAIRING"
533 | "3743","RAILROAD EQUIPMENT"
534 | "3751","MOTORCYCLES, BICYCLES, AND PARTS"
535 | "3761","GUIDED MISSILES AND SPACE VEHICLES"
536 | "3764","SPACE PROPULSION UNITS AND PARTS"
537 | "3769","SPACE VEHICLE EQUIPMENT, NEC"
538 | "3792","TRAVEL TRAILERS AND CAMPERS"
539 | "3795","TANKS AND TANK COMPONENTS"
540 | "3799","TRANSPORTATION EQUIPMENT, NEC"
541 | "3812","SEARCH AND NAVIGATION EQUIPMENT"
542 | "3821","LABORATORY APPARATUS AND FURNITURE"
543 | "3822","ENVIRONMENTAL CONTROLS"
544 | "3823","PROCESS CONTROL INSTRUMENTS"
545 | "3824","FLUID METERS AND COUNTING DEVICES"
546 | "3825","INSTRUMENTS TO MEASURE ELECTRICITY"
547 | "3826","ANALYTICAL INSTRUMENTS"
548 | "3827","OPTICAL INSTRUMENTS AND LENSES"
549 | "3829","MEASURING AND CONTROLLING DEVICES, NEC"
550 | "3841","SURGICAL AND MEDICAL INSTRUMENTS"
551 | "3842","SURGICAL APPLIANCES AND SUPPLIES"
552 | "3843","DENTAL EQUIPMENT AND SUPPLIES"
553 | "3844","X-RAY APPARATUS AND TUBES"
554 | "3845","ELECTROMEDICAL EQUIPMENT"
555 | "3851","OPHTHALMIC GOODS"
556 | "3861","PHOTOGRAPHIC EQUIPMENT AND SUPPLIES"
557 | "3873","WATCHES, CLOCKS, WATCHCASES, AND PARTS"
558 | "3911","JEWELRY, PRECIOUS METAL"
559 | "3914","SILVERWARE AND PLATED WARE"
560 | "3915","JEWELERS' MATERIALS AND LAPIDARY WORK"
561 | "3931","MUSICAL INSTRUMENTS"
562 | "3942","DOLLS AND STUFFED TOYS"
563 | "3944","GAMES, TOYS, AND CHILDREN'S VEHICLES"
564 | "3949","SPORTING AND ATHLETIC GOODS, NEC"
565 | "3951","PENS AND MECHANICAL PENCILS"
566 | "3952","LEAD PENCILS AND ART GOODS"
567 | "3953","MARKING DEVICES"
568 | "3955","CARBON PAPER AND INKED RIBBONS"
569 | "3961","COSTUME JEWELRY"
570 | "3965","FASTENERS, BUTTONS, NEEDLES, AND PINS"
571 | "3991","BROOMS AND BRUSHES"
572 | "3993","SIGNS AND ADVERTISING SPECIALTIES"
573 | "3995","BURIAL CASKETS"
574 | "3996","HARD SURFACE FLOOR COVERINGS, NEC"
575 | "3999","MANUFACTURING INDUSTRIES, NEC"
576 | "4011","RAILROADS, LINE-HAUL OPERATING"
577 | "4013","SWITCHING AND TERMINAL SERVICES"
578 | "4111","LOCAL AND SUBURBAN TRANSIT"
579 | "4119","LOCAL PASSENGER TRANSPORTATION, NEC"
580 | "4121","TAXICABS"
581 | "4131","INTERCITY AND RURAL BUS TRANSPORTATION"
582 | "4141","LOCAL BUS CHARTER SERVICE"
583 | "4142","BUS CHARTER SERVICE, EXCEPT LOCAL"
584 | "4151","SCHOOL BUSES"
585 | "4173","BUS TERMINAL AND SERVICE FACILITIES"
586 | "4212","LOCAL TRUCKING, WITHOUT STORAGE"
587 | "4213","TRUCKING, EXCEPT LOCAL"
588 | "4214","LOCAL TRUCKING WITH STORAGE"
589 | "4215","COURIER SERVICES, EXCEPT BY AIR"
590 | "4221","FARM PRODUCT WAREHOUSING AND STORAGE"
591 | "4222","REFRIGERATED WAREHOUSING AND STORAGE"
592 | "4225","GENERAL WAREHOUSING AND STORAGE"
593 | "4226","SPECIAL WAREHOUSING AND STORAGE, NEC"
594 | "4231","TRUCKING TERMINAL FACILITIES"
595 | "4311","U.S. POSTAL SERVICE"
596 | "4412","DEEP SEA FOREIGN TRANSPORTATION OF FREIGHT"
597 | "4424","DEEP SEA DOMESTIC TRANSPORTATION OF FREIGHT"
598 | "4432","FREIGHT TRANSPORTATION ON THE GREAT LAKES"
599 | "4449","WATER TRANSPORTATION OF FREIGHT"
600 | "4481","DEEP SEA PASSENGER TRANSPORTATION, EXCEPT FERRY"
601 | "4482","FERRIES"
602 | "4489","WATER PASSENGER TRANSPORTATION"
603 | "4491","MARINE CARGO HANDLING"
604 | "4492","TOWING AND TUGBOAT SERVICE"
605 | "4493","MARINAS"
606 | "4499","WATER TRANSPORTATION SERVICES, NEC"
607 | "4512","AIR TRANSPORTATION, SCHEDULED"
608 | "4513","AIR COURIER SERVICES"
609 | "4522","AIR TRANSPORTATION, NONSCHEDULED"
610 | "4581","AIRPORTS, FLYING FIELDS, AND SERVICES"
611 | "4612","CRUDE PETROLEUM PIPELINES"
612 | "4613","REFINED PETROLEUM PIPELINES"
613 | "4619","PIPELINES, NEC"
614 | "4724","TRAVEL AGENCIES"
615 | "4725","TOUR OPERATORS"
616 | "4729","PASSENGER TRANSPORTATION ARRANGEMENT"
617 | "4731","FREIGHT TRANSPORTATION ARRANGEMENT"
618 | "4741","RENTAL OF RAILROAD CARS"
619 | "4783","PACKING AND CRATING"
620 | "4785","INSPECTION AND FIXED FACILITIES"
621 | "4789","TRANSPORTATION SERVICES, NEC"
622 | "4812","RADIOTELEPHONE COMMUNICATION"
623 | "4813","TELEPHONE COMMUNICATION, EXCEPT RADIO"
624 | "4822","TELEGRAPH AND OTHER COMMUNICATIONS"
625 | "4832","RADIO BROADCASTING STATIONS"
626 | "4833","TELEVISION BROADCASTING STATIONS"
627 | "4841","CABLE AND OTHER PAY TELEVISION SERVICES"
628 | "4899","COMMUNICATION SERVICES, NEC"
629 | "4911","ELECTRIC SERVICES"
630 | "4922","NATURAL GAS TRANSMISSION"
631 | "4923","GAS TRANSMISSION AND DISTRIBUTION"
632 | "4924","NATURAL GAS DISTRIBUTION"
633 | "4925","GAS PRODUCTION AND/OR DISTRIBUTION"
634 | "4931","ELECTRIC AND OTHER SERVICES COMBINED"
635 | "4932","GAS AND OTHER SERVICES COMBINED"
636 | "4939","COMBINATION UTILITIES, NEC"
637 | "4941","WATER SUPPLY"
638 | "4952","SEWERAGE SYSTEMS"
639 | "4953","REFUSE SYSTEMS"
640 | "4959","SANITARY SERVICES, NEC"
641 | "4961","STEAM AND AIR-CONDITIONING SUPPLY"
642 | "4971","IRRIGATION SYSTEMS"
643 | "5012","AUTOMOBILES AND OTHER MOTOR VEHICLES"
644 | "5013","MOTOR VEHICLE SUPPLIES AND NEW PARTS"
645 | "5014","TIRES AND TUBES"
646 | "5015","MOTOR VEHICLE PARTS, USED"
647 | "5021","FURNITURE"
648 | "5023","HOMEFURNISHINGS"
649 | "5031","LUMBER, PLYWOOD, AND MILLWORK"
650 | "5032","BRICK, STONE, AND RELATED MATERIAL"
651 | "5033","ROOFING, SIDING, AND INSULATION"
652 | "5039","CONSTRUCTION MATERIALS, NEC"
653 | "5043","PHOTOGRAPHIC EQUIPMENT AND SUPPLIES"
654 | "5044","OFFICE EQUIPMENT"
655 | "5045","COMPUTERS, PERIPHERALS, AND SOFTWARE"
656 | "5046","COMMERCIAL EQUIPMENT, NEC"
657 | "5047","MEDICAL AND HOSPITAL EQUIPMENT"
658 | "5048","OPHTHALMIC GOODS"
659 | "5049","PROFESSIONAL EQUIPMENT, NEC"
660 | "5051","METALS SERVICE CENTERS AND OFFICES"
661 | "5052","COAL AND OTHER MINERALS AND ORES"
662 | "5063","ELECTRICAL APPARATUS AND EQUIPMENT"
663 | "5064","ELECTRICAL APPLIANCES, TELEVISION AND RADIO"
664 | "5065","ELECTRONIC PARTS AND EQUIPMENT, NEC"
665 | "5072","HARDWARE"
666 | "5074","PLUMBING AND HYDRONIC HEATING SUPPLIES"
667 | "5075","WARM AIR HEATING AND AIR CONDITIONING"
668 | "5078","REFRIGERATION EQUIPMENT AND SUPPLIES"
669 | "5082","CONSTRUCTION AND MINING MACHINERY"
670 | "5083","FARM AND GARDEN MACHINERY"
671 | "5084","INDUSTRIAL MACHINERY AND EQUIPMENT"
672 | "5085","INDUSTRIAL SUPPLIES"
673 | "5087","SERVICE ESTABLISHMENT EQUIPMENT"
674 | "5088","TRANSPORTATION EQUIPMENT AND SUPPLIES"
675 | "5091","SPORTING AND RECREATION GOODS"
676 | "5092","TOYS AND HOBBY GOODS AND SUPPLIES"
677 | "5093","SCRAP AND WASTE MATERIALS"
678 | "5094","JEWELRY AND PRECIOUS STONES"
679 | "5099","DURABLE GOODS, NEC"
680 | "5111","PRINTING AND WRITING PAPER"
681 | "5112","STATIONERY AND OFFICE SUPPLIES"
682 | "5113","INDUSTRIAL AND PERSONAL SERVICE PAPER"
683 | "5122","DRUGS, PROPRIETARIES, AND SUNDRIES"
684 | "5131","PIECE GOODS AND NOTIONS"
685 | "5136","MEN'S AND BOY'S CLOTHING"
686 | "5137","WOMEN'S AND CHILDREN'S CLOTHING"
687 | "5139","FOOTWEAR"
688 | "5141","GROCERIES, GENERAL LINE"
689 | "5142","PACKAGED FROZEN GOODS"
690 | "5143","DAIRY PRODUCTS, EXCEPT DRIED OR CANNED"
691 | "5144","POULTRY AND POULTRY PRODUCTS"
692 | "5145","CONFECTIONERY"
693 | "5146","FISH AND SEAFOODS"
694 | "5147","MEATS AND MEAT PRODUCTS"
695 | "5148","FRESH FRUITS AND VEGETABLES"
696 | "5149","GROCERIES AND RELATED PRODUCTS, NEC"
697 | "5153","GRAIN AND FIELD BEANS"
698 | "5154","LIVESTOCK"
699 | "5159","FARM-PRODUCT RAW MATERIALS, NEC"
700 | "5162","PLASTICS MATERIALS AND BASIC SHAPES"
701 | "5169","CHEMICALS AND ALLIED PRODUCTS, NEC"
702 | "5171","PETROLEUM BULK STATIONS AND TERMINALS"
703 | "5172","PETROLEUM PRODUCTS, NEC"
704 | "5181","BEER AND ALE"
705 | "5182","WINE AND DISTILLED BEVERAGES"
706 | "5191","FARM SUPPLIES"
707 | "5192","BOOKS, PERIODICALS, AND NEWSPAPERS"
708 | "5193","FLOWERS AND FLORISTS SUPPLIES"
709 | "5194","TOBACCO AND TOBACCO PRODUCTS"
710 | "5198","PAINTS, VARNISHES, AND SUPPLIES"
711 | "5199","NONDURABLE GOODS, NEC"
712 | "5211","LUMBER AND OTHER BUILDING MATERIALS"
713 | "5231","PAINT, GLASS, AND WALLPAPER STORES"
714 | "5251","HARDWARE STORES"
715 | "5261","RETAIL NURSERIES AND GARDEN STORES"
716 | "5271","MOBILE HOME DEALERS"
717 | "5311","DEPARTMENT STORES"
718 | "5331","VARIETY STORES"
719 | "5399","MISCELLANEOUS GENERAL MERCHANDISE"
720 | "5411","GROCERY STORES"
721 | "5421","MEAT AND FISH MARKETS"
722 | "5431","FRUIT AND VEGETABLE MARKETS"
723 | "5441","CANDY, NUT, AND CONFECTIONERY STORES"
724 | "5451","DAIRY PRODUCTS STORES"
725 | "5461","RETAIL BAKERIES"
726 | "5499","MISCELLANEOUS FOOD STORES"
727 | "5511","NEW AND USED CAR DEALERS"
728 | "5521","USED CAR DEALERS"
729 | "5531","AUTO AND HOME SUPPLY STORES"
730 | "5541","GASOLINE SERVICE STATIONS"
731 | "5551","BOAT DEALERS"
732 | "5561","RECREATIONAL VEHICLE DEALERS"
733 | "5571","MOTORCYCLE DEALERS"
734 | "5599","AUTOMOTIVE DEALERS, NEC"
735 | "5611","MEN'S AND BOYS' CLOTHING STORES"
736 | "5621","WOMEN'S CLOTHING STORES"
737 | "5632","WOMEN'S ACCESSORY AND SPECIALTY STORES"
738 | "5641","CHILDREN'S AND INFANTS' WEAR STORES"
739 | "5651","FAMILY CLOTHING STORES"
740 | "5661","SHOE STORES"
741 | "5699","MISCELLANEOUS APPAREL AND ACCESSORIES"
742 | "5712","FURNITURE STORES"
743 | "5713","FLOOR COVERING STORES"
744 | "5714","DRAPERY AND UPHOLSTERY STORES"
745 | "5719","MISCELLANEOUS HOMEFURNISHINGS"
746 | "5722","HOUSEHOLD APPLIANCE STORES"
747 | "5731","RADIO, TELEVISION, AND ELECTRONIC STORES"
748 | "5734","COMPUTER AND SOFTWARE STORES"
749 | "5735","RECORD AND PRERECORDED TAPE STORES"
750 | "5736","MUSICAL INSTRUMENT STORES"
751 | "5812","EATING PLACES"
752 | "5813","DRINKING PLACES"
753 | "5912","DRUG STORES AND PROPRIETARY STORES"
754 | "5921","LIQUOR STORES"
755 | "5932","USED MERCHANDISE STORES"
756 | "5941","SPORTING GOODS AND BICYCLE SHOPS"
757 | "5942","BOOK STORES"
758 | "5943","STATIONERY STORES"
759 | "5944","JEWELRY STORES"
760 | "5945","HOBBY, TOY, AND GAME SHOPS"
761 | "5946","CAMERA AND PHOTOGRAPHIC SUPPLY STORES"
762 | "5947","GIFT, NOVELTY, AND SOUVENIR SHOP"
763 | "5948","LUGGAGE AND LEATHER GOODS STORES"
764 | "5949","SEWING, NEEDLEWORK, AND PIECE GOODS"
765 | "5961","CATALOG AND MAIL-ORDER HOUSES"
766 | "5962","MERCHANDISING MACHINE OPERATORS"
767 | "5963","DIRECT SELLING ESTABLISHMENTS"
768 | "5983","FUEL OIL DEALERS"
769 | "5984","LIQUEFIED PETROLEUM GAS DEALERS"
770 | "5989","FUEL DEALERS, NEC"
771 | "5992","FLORISTS"
772 | "5993","TOBACCO STORES AND STANDS"
773 | "5994","NEWS DEALERS AND NEWSSTANDS"
774 | "5995","OPTICAL GOODS STORES"
775 | "5999","MISCELLANEOUS RETAIL STORES, NEC"
776 | "6011","FEDERAL RESERVE BANKS"
777 | "6019","CENTRAL RESERVE DEPOSITORY, NEC"
778 | "6021","NATIONAL COMMERCIAL BANKS"
779 | "6022","STATE COMMERCIAL BANKS"
780 | "6029","COMMERCIAL BANKS, NEC"
781 | "6035","FEDERAL SAVINGS INSTITUTIONS"
782 | "6036","SAVINGS INSTITUTIONS, EXCEPT FEDERAL"
783 | "6061","FEDERAL CREDIT UNIONS"
784 | "6062","STATE CREDIT UNIONS"
785 | "6081","FOREIGN BANK AND BRANCHES AND AGENCIES"
786 | "6082","FOREIGN TRADE AND INTERNATIONAL BANKS"
787 | "6091","NONDEPOSIT TRUST FACILITIES"
788 | "6099","FUNCTIONS RELATED TO DEPOSITORY BANKING"
789 | "6111","FEDERAL AND FEDERALLY SPONSORED CREDIT"
790 | "6141","PERSONAL CREDIT INSTITUTIONS"
791 | "6153","SHORT-TERM BUSINESS CREDIT"
792 | "6159","MISCELLANEOUS BUSINESS CREDIT"
793 | "6162","MORTGAGE BANKERS AND CORRESPONDENTS"
794 | "6163","LOAN BROKERS"
795 | "6211","SECURITY BROKERS AND DEALERS"
796 | "6221","COMMODITY CONTRACTS BROKERS, DEALERS"
797 | "6231","SECURITY AND COMMODITY EXCHANGES"
798 | "6282","INVESTMENT ADVICE"
799 | "6289","SECURITY AND COMMODITY SERVICE"
800 | "6311","LIFE INSURANCE"
801 | "6321","ACCIDENT AND HEALTH INSURANCE"
802 | "6324","HOSPITAL AND MEDICAL SERVICE PLANS"
803 | "6331","FIRE, MARINE, AND CASUALTY INSURANCE"
804 | "6351","SURETY INSURANCE"
805 | "6361","TITLE INSURANCE"
806 | "6371","PENSION, HEALTH, AND WELFARE FUNDS"
807 | "6399","INSURANCE CARRIERS, NEC"
808 | "6411","INSURANCE AGENTS, BROKERS, AND SERVICE"
809 | "6512","NONRESIDENTIAL BUILDING OPERATORS"
810 | "6513","APARTMENT BUILDING OPERATORS"
811 | "6514","DWELLING OPERATORS, EXCEPT APARTMENTS"
812 | "6515","MOBILE HOME SITE OPERATORS"
813 | "6517","RAILROAD PROPERTY LESSORS"
814 | "6519","REAL PROPERTY LESSORS, NEC"
815 | "6531","REAL ESTATE AGENTS AND MANAGERS"
816 | "6541","TITLE ABSTRACT OFFICES"
817 | "6552","SUBDIVIDERS AND DEVELOPERS, NEC"
818 | "6553","CEMETERY SUBDIVIDERS AND DEVELOPERS"
819 | "6712","BANK HOLDING COMPANIES"
820 | "6719","HOLDING COMPANIES, NEC"
821 | "6722","MANAGEMENT INVESTMENT, OPEN-ENDED"
822 | "6726","INVESTMENT OFFICES, NEC"
823 | "6732","TRUSTS: EDUCATIONAL, RELIGIOUS, ETC."
824 | "6733","TRUSTS, NEC"
825 | "6792","OIL ROYALTY TRADERS"
826 | "6794","PATENT OWNERS AND LESSORS"
827 | "6798","REAL ESTATE INVESTMENT TRUSTS"
828 | "6799","INVESTORS, NEC"
829 | "7011","HOTELS AND MOTELS"
830 | "7021","ROOMING AND BOARDING HOUSES"
831 | "7032","SPORTING AND RECREATIONAL CAMPS"
832 | "7033","TRAILER PARKS AND CAMPSITES"
833 | "7041","MEMBERSHIP-BASIS ORGANIZATION HOTELS"
834 | "7211","POWER LAUNDRIES, FAMILY AND COMMERCIAL"
835 | "7212","GARMENT PRESSING AND CLEANERS' AGENTS"
836 | "7213","LINEN SUPPLY"
837 | "7215","COIN-OPERATED LAUNDRIES AND CLEANING"
838 | "7216","DRYCLEANING PLANTS, EXCEPT RUGS"
839 | "7217","CARPET AND UPHOLSTERY CLEANING"
840 | "7218","INDUSTRIAL LAUNDERERS"
841 | "7219","LAUNDRY AND GARMENT SERVICES, NEC"
842 | "7221","PHOTOGRAPHIC STUDIOS, PORTRAIT"
843 | "7231","BEAUTY SHOPS"
844 | "7241","BARBER SHOPS"
845 | "7251","SHOE REPAIR AND SHOESHINE PARLORS"
846 | "7261","FUNERAL SERVICE AND CREMATORIES"
847 | "7291","TAX RETURN PREPARATION SERVICES"
848 | "7299","MISCELLANEOUS PERSONAL SERVICES"
849 | "7311","ADVERTISING AGENCIES"
850 | "7312","OUTDOOR ADVERTISING SERVICES"
851 | "7313","RADIO, TELEVISION, PUBLISHER REPRESENTATIVES"
852 | "7319","ADVERTISING, NEC"
853 | "7322","ADJUSTMENT AND COLLECTION SERVICES"
854 | "7323","CREDIT REPORTING SERVICES"
855 | "7331","DIRECT MAIL ADVERTISING SERVICES"
856 | "7334","PHOTOCOPYING AND DUPLICATING SERVICES"
857 | "7335","COMMERCIAL PHOTOGRAPHY"
858 | "7336","COMMERCIAL ART AND GRAPHIC DESIGN"
859 | "7338","SECRETARIAL AND COURT REPORTING"
860 | "7342","DISINFECTING AND PEST CONTROL SERVICES"
861 | "7349","BUILDING MAINTENANCE SERVICES, NEC"
862 | "7352","MEDICAL EQUIPMENT RENTAL"
863 | "7353","HEAVY CONSTRUCTION EQUIPMENT RENTAL"
864 | "7359","EQUIPMENT RENTAL AND LEASING, NEC"
865 | "7361","EMPLOYMENT AGENCIES"
866 | "7363","HELP SUPPLY SERVICES"
867 | "7371","CUSTOM COMPUTER PROGRAMMING SERVICES"
868 | "7372","PREPACKAGED SOFTWARE"
869 | "7373","COMPUTER INTEGRATED SYSTEMS DESIGN"
870 | "7374","DATA PROCESSING AND PREPARATION"
871 | "7375","INFORMATION RETRIEVAL SERVICES"
872 | "7376","COMPUTER FACILITIES MANAGEMENT"
873 | "7377","COMPUTER RENTAL AND LEASING"
874 | "7378","COMPUTER MAINTENANCE AND REPAIR"
875 | "7379","COMPUTER RELATED SERVICES, NEC"
876 | "7381","DETECTIVE AND ARMORED CAR SERVICES"
877 | "7382","SECURITY SYSTEMS SERVICES"
878 | "7383","NEWS SYNDICATES"
879 | "7384","PHOTOFINISH LABORATORIES"
880 | "7389","BUSINESS SERVICES, NEC"
881 | "7513","TRUCK RENTAL AND LEASING, WITHOUT DRIVERS"
882 | "7514","PASSENGER CAR RENTAL"
883 | "7515","PASSENGER CAR LEASING"
884 | "7519","UTILITY TRAILER RENTAL"
885 | "7521","AUTOMOBILE PARKING"
886 | "7532","TOP AND BODY REPAIR AND PAINT SHOPS"
887 | "7533","AUTO EXHAUST SYSTEM REPAIR SHOPS"
888 | "7534","TIRE RETREADING AND REPAIR SHOPS"
889 | "7536","AUTOMOTIVE GLASS REPLACEMENT SHOPS"
890 | "7537","AUTOMOTIVE TRANSMISSION REPAIR SHOPS"
891 | "7538","GENERAL AUTOMOTIVE REPAIR SHOPS"
892 | "7539","AUTOMOTIVE REPAIR SHOPS, NEC"
893 | "7542","CARWASHES"
894 | "7549","AUTOMOTIVE SERVICES, NEC"
895 | "7622","RADIO AND TELEVISION REPAIR"
896 | "7623","REFRIGERATION SERVICE AND REPAIR"
897 | "7629","ELECTRICAL REPAIR SHOPS"
898 | "7631","WATCH, CLOCK, AND JEWELRY REPAIR"
899 | "7641","REUPHOLSTERY AND FURNITURE REPAIR"
900 | "7692","WELDING REPAIR"
901 | "7694","ARMATURE REWINDING SHOPS"
902 | "7699","REPAIR SERVICES, NEC"
903 | "7812","MOTION PICTURE AND VIDEO PRODUCTION"
904 | "7819","SERVICES ALLIED TO MOTION PICTURES"
905 | "7822","MOTION PICTURE AND TAPE DISTRIBUTION"
906 | "7829","MOTION PICTURE DISTRIBUTION SERVICES"
907 | "7832","MOTION PICTURE THEATERS, EXCEPT DRIVE-IN"
908 | "7833","DRIVE-IN MOTION PICTURE THEATERS"
909 | "7841","VIDEO TAPE RENTAL"
910 | "7911","DANCE STUDIOS, SCHOOLS, AND HALLS"
911 | "7922","THEATRICAL PRODUCERS AND SERVICES"
912 | "7929","ENTERTAINERS AND ENTERTAINMENT GROUPS"
913 | "7933","BOWLING CENTERS"
914 | "7941","SPORTS CLUBS, MANAGERS, AND PROMOTERS"
915 | "7948","RACING, INCLUDING TRACK OPERATION"
916 | "7991","PHYSICAL FITNESS FACILITIES"
917 | "7992","PUBLIC GOLF COURSES"
918 | "7993","COIN-OPERATED AMUSEMENT DEVICES"
919 | "7996","AMUSEMENT PARKS"
920 | "7997","MEMBERSHIP SPORTS AND RECREATION CLUBS"
921 | "7999","AMUSEMENT AND RECREATION, NEC"
922 | "8011","OFFICES AND CLINICS OF MEDICAL DOCTORS"
923 | "8021","OFFICES AND CLINICS OF DENTISTS"
924 | "8031","OFFICES AND CLINICS OF OSTEOPATHIC PHYSICIANS"
925 | "8041","OFFICES AND CLINICS OF CHIROPRACTORS"
926 | "8042","OFFICES AND CLINICS OF OPTOMETRISTS"
927 | "8043","OFFICES AND CLINICS OF PODIATRISTS"
928 | "8049","OFFICES OF HEALTH PRACTITIONER"
929 | "8051","SKILLED NURSING CARE FACILITIES"
930 | "8052","INTERMEDIATE CARE FACILITIES"
931 | "8059","NURSING AND PERSONAL CARE, NEC"
932 | "8062","GENERAL MEDICAL AND SURGICAL HOSPITALS"
933 | "8063","PSYCHIATRIC HOSPITALS"
934 | "8069","SPECIALTY HOSPITALS, EXCEPT PSYCHIATRIC"
935 | "8071","MEDICAL LABORATORIES"
936 | "8072","DENTAL LABORATORIES"
937 | "8082","HOME HEALTH CARE SERVICES"
938 | "8092","KIDNEY DIALYSIS CENTERS"
939 | "8093","SPECIALTY OUTPATIENT CLINICS, NEC"
940 | "8099","HEALTH AND ALLIED SERVICES, NEC"
941 | "8111","LEGAL SERVICES"
942 | "8211","ELEMENTARY AND SECONDARY SCHOOLS"
943 | "8221","COLLEGES AND UNIVERSITIES"
944 | "8222","JUNIOR COLLEGES"
945 | "8231","LIBRARIES"
946 | "8243","DATA PROCESSING SCHOOLS"
947 | "8244","BUSINESS AND SECRETARIAL SCHOOLS"
948 | "8249","VOCATIONAL SCHOOLS, NEC"
949 | "8299","SCHOOLS AND EDUCATIONAL SERVICES"
950 | "8322","INDIVIDUAL AND FAMILY SERVICES"
951 | "8331","JOB TRAINING AND RELATED SERVICES"
952 | "8351","CHILD DAY CARE SERVICES"
953 | "8361","RESIDENTIAL CARE"
954 | "8399","SOCIAL SERVICES, NEC"
955 | "8412","MUSEUMS AND ART GALLERIES"
956 | "8422","BOTANICAL AND ZOOLOGICAL GARDENS"
957 | "8611","BUSINESS ASSOCIATIONS"
958 | "8621","PROFESSIONAL ORGANIZATIONS"
959 | "8631","LABOR ORGANIZATIONS"
960 | "8641","CIVIC AND SOCIAL ASSOCIATIONS"
961 | "8651","POLITICAL ORGANIZATIONS"
962 | "8661","RELIGIOUS ORGANIZATIONS"
963 | "8699","MEMBERSHIP ORGANIZATIONS, NEC"
964 | "8711","ENGINEERING SERVICES"
965 | "8712","ARCHITECTURAL SERVICES"
966 | "8713","SURVEYING SERVICES"
967 | "8721","ACCOUNTING, AUDITING, AND BOOKKEEPING"
968 | "8731","COMMERCIAL PHYSICAL RESEARCH"
969 | "8732","COMMERCIAL NONPHYSICAL RESEARCH"
970 | "8733","NONCOMMERCIAL RESEARCH ORGANIZATIONS"
971 | "8734","TESTING LABORATORIES"
972 | "8741","MANAGEMENT SERVICES"
973 | "8742","MANAGEMENT CONSULTING SERVICES"
974 | "8743","PUBLIC RELATIONS SERVICES"
975 | "8744","FACILITIES SUPPORT SERVICES"
976 | "8748","BUSINESS CONSULTING, NEC"
977 | "8811","PRIVATE HOUSEHOLDS"
978 | "8999","SERVICES, NEC"
979 | "9111","EXECUTIVE OFFICES"
980 | "9121","LEGISLATIVE BODIES"
981 | "9131","EXECUTIVE AND LEGISLATIVE COMBINED"
982 | "9199","GENERAL GOVERNMENT, NEC"
983 | "9211","COURTS"
984 | "9221","POLICE PROTECTION"
985 | "9222","LEGAL COUNSEL AND PROSECUTION"
986 | "9223","CORRECTIONAL INSTITUTIONS"
987 | "9224","FIRE PROTECTION"
988 | "9229","PUBLIC ORDER AND SAFETY, NEC"
989 | "9311","FINANCE, TAXATION, AND MONETARY POLICY"
990 | "9411","ADMINISTRATION OF EDUCATIONAL PROGRAMS"
991 | "9431","ADMINISTRATION OF PUBLIC HEALTH PROGRAMS"
992 | "9441","ADMINISTRATION OF SOCIAL AND MANPOWER PROGRAMS"
993 | "9451","ADMINISTRATION OF VETERANS' AFFAIRS"
994 | "9511","AIR, WATER, AND SOLID WASTE MANAGEMENT"
995 | "9512","LAND, MINERAL, AND WILDLIFE CONSERVATION"
996 | "9531","HOUSING PROGRAMS"
997 | "9532","URBAN AND COMMUNITY DEVELOPMENT"
998 | "9611","ADMINISTRATION OF GENERAL ECONOMIC PROGRAMS"
999 | "9621","REGULATION, ADMINISTRATION OF TRANSPORTATION"
1000 | "9631","REGULATION, ADMINISTRATION OF UTILITIES"
1001 | "9641","REGULATION OF AGRICULTURAL MARKETING"
1002 | "9651","REGULATION, MISCELLANEOUS COMMERCIAL SECTORS"
1003 | "9661","SPACE RESEARCH AND TECHNOLOGY"
1004 | "9711","NATIONAL SECURITY"
1005 | "9721","INTERNATIONAL AFFAIRS"
1006 |
--------------------------------------------------------------------------------
/tests/ref_sec_combined.csv:
--------------------------------------------------------------------------------
1 | "SIC4_cd","AD_office","industry_title"
2 | "100","5","AGRICULTURAL PRODUCTION-CROPS"
3 | "200","5","AGRICULTURAL PROD-LIVESTOCK & ANIMAL SPECIALTIES"
4 | "700","5","AGRICULTURAL SERVICES"
5 | "800","5","FORESTRY"
6 | "900","5","FISHING, HUNTING AND TRAPPING"
7 | "1000","9","METAL MINING"
8 | "1040","9","GOLD AND SILVER ORES"
9 | "1090","9","MISCELLANEOUS METAL ORES"
10 | "1220","9","BITUMINOUS COAL & LIGNITE MINING"
11 | "1221","9","BITUMINOUS COAL & LIGNITE SURFACE MINING"
12 | "1311","4","CRUDE PETROLEUM & NATURAL GAS"
13 | "1381","4","DRILLING OIL & GAS WELLS"
14 | "1382","4","OIL & GAS FIELD EXPLORATION SERVICES"
15 | "1389","4","OIL & GAS FIELD SERVICES, NEC"
16 | "1400","9","MINING & QUARRYING OF NONMETALLIC MINERALS (NO FUELS)"
17 | "1520","6","GENERAL BLDG CONTRACTORS - RESIDENTIAL BLDGS"
18 | "1531","6","OPERATIVE BUILDERS"
19 | "1540","6","GENERAL BLDG CONTRACTORS - NONRESIDENTIAL BLDGS"
20 | "1600","6","HEAVY CONSTRUCTION OTHER THAN BLDG CONST - CONTRACTORS"
21 | "1623","6","WATER, SEWER, PIPELINE, COMM & POWER LINE CONSTRUCTION"
22 | "1700","6","CONSTRUCTION - SPECIAL TRADE CONTRACTORS"
23 | "1731","6","ELECTRICAL WORK"
24 | "2000","4","FOOD AND KINDRED PRODUCTS"
25 | "2011","5","MEAT PACKING PLANTS"
26 | "2013","5","SAUSAGES & OTHER PREPARED MEAT PRODUCTS"
27 | "2015","5","POULTRY SLAUGHTERING AND PROCESSING"
28 | "2020","4","DAIRY PRODUCTS"
29 | "2024","4","ICE CREAM & FROZEN DESSERTS"
30 | "2030","4","CANNED, FROZEN & PRESERVD FRUIT, VEG & FOOD SPECIALTIES"
31 | "2033","4","CANNED, FRUITS, VEG, PRESERVES, JAMS & JELLIES"
32 | "2040","4","GRAIN MILL PRODUCTS"
33 | "2050","4","BAKERY PRODUCTS"
34 | "2052","4","COOKIES & CRACKERS"
35 | "2060","4","SUGAR & CONFECTIONERY PRODUCTS"
36 | "2070","4","FATS & OILS"
37 | "2080","9","BEVERAGES"
38 | "2082","9","MALT BEVERAGES"
39 | "2086","9","BOTTLED & CANNED SOFT DRINKS & CARBONATED WATERS"
40 | "2090","4","MISCELLANEOUS FOOD PREPARATIONS & KINDRED PRODUCTS"
41 | "2092","4","PREPARED FRESH OR FROZEN FISH & SEAFOODS"
42 | "2100","5","TOBACCO PRODUCTS"
43 | "2111","5","CIGARETTES"
44 | "2200","2","TEXTILE MILL PRODUCTS"
45 | "2211","2","BROADWOVEN FABRIC MILLS, COTTON"
46 | "2221","2","BROADWOVEN FABRIC MILLS, MAN MADE FIBER & SILK"
47 | "2250","2","KNITTING MILLS"
48 | "2253","9","KNIT OUTERWEAR MILLS"
49 | "2273","2","CARPETS & RUGS"
50 | "2300","9","APPAREL & OTHER FINISHD PRODS OF FABRICS & SIMILAR MATL"
51 | "2320","9","MEN'S & BOYS' FURNISHGS, WORK CLOTHG, & ALLIED GARMENTS"
52 | "2330","9","WOMEN'S, MISSES', AND JUNIORS OUTERWEAR"
53 | "2340","9","WOMEN'S, MISSES', CHILDREN'S & INFANTS' UNDERGARMENTS"
54 | "2390","9","MISCELLANEOUS FABRICATED TEXTILE PRODUCTS"
55 | "2400","6","LUMBER & WOOD PRODUCTS (NO FURNITURE)"
56 | "2421","6","SAWMILLS & PLANTING MILLS, GENERAL"
57 | "2430","6","MILLWOOD, VENEER, PLYWOOD, & STRUCTURAL WOOD MEMBERS"
58 | "2451","6","MOBILE HOMES"
59 | "2452","6","PREFABRICATED WOOD BLDGS & COMPONENTS"
60 | "2510","6","HOUSEHOLD FURNITURE"
61 | "2511","6","WOOD HOUSEHOLD FURNITURE, (NO UPHOLSTERED)"
62 | "2520","6","OFFICE FURNITURE"
63 | "2522","6","OFFICE FURNITURE (NO WOOD)"
64 | "2531","6","PUBLIC BLDG & RELATED FURNITURE"
65 | "2540","6","PARTITIONS, SHELVG, LOCKERS, & OFFICE & STORE FIXTURES"
66 | "2590","6","MISCELLANEOUS FURNITURE & FIXTURES"
67 | "2600","4","PAPERS & ALLIED PRODUCTS"
68 | "2611","4","PULP MILLS"
69 | "2621","4","PAPER MILLS"
70 | "2631","4","PAPERBOARD MILLS"
71 | "2650","4","PAPERBOARD CONTAINERS & BOXES"
72 | "2670","4","CONVERTED PAPER & PAPERBOARD PRODS (NO CONTANERS/BOXES)"
73 | "2673","6","PLASTICS, FOIL & COATED PAPER BAGS"
74 | "2711","5","NEWSPAPERS: PUBLISHING OR PUBLISHING & PRINTING"
75 | "2721","5","PERIODICALS: PUBLISHING OR PUBLISHING & PRINTING"
76 | "2731","5","BOOKS: PUBLISHING OR PUBLISHING & PRINTING"
77 | "2732","5","BOOK PRINTING"
78 | "2741","5","MISCELLANEOUS PUBLISHING"
79 | "2750","5","COMMERCIAL PRINTING"
80 | "2761","5","MANIFOLD BUSINESS FORMS"
81 | "2771","5","GREETING CARDS"
82 | "2780","5","BLANKBOOKS, LOOSELEAF BINDERS & BOOKBINDG & RELATD WORK"
83 | "2790","5","SERVICE INDUSTRIES FOR THE PRINTING TRADE"
84 | "2800","6","CHEMICALS & ALLIED PRODUCTS"
85 | "2810","6","INDUSTRIAL INORGANIC CHEMICALS"
86 | "2820","6","PLASTIC MATERIAL, SYNTH RESIN/RUBBER, CELLULOS (NO GLASS)"
87 | "2821","6","PLASTIC MATERIALS, SYNTH RESINS & NONVULCAN ELASTOMERS"
88 | "2833","1","MEDICINAL CHEMICALS & BOTANICAL PRODUCTS"
89 | "2834","1","PHARMACEUTICAL PREPARATIONS"
90 | "2835","1","IN VITRO & IN VIVO DIAGNOSTIC SUBSTANCES"
91 | "2836","1","BIOLOGICAL PRODUCTS, (NO DISGNOSTIC SUBSTANCES)"
92 | "2840","6","SOAP, DETERGENTS, CLEANG PREPARATIONS, PERFUMES, COSMETICS"
93 | "2842","6","SPECIALTY CLEANING, POLISHING AND SANITATION PREPARATIONS"
94 | "2844","6","PERFUMES, COSMETICS & OTHER TOILET PREPARATIONS"
95 | "2851","6","PAINTS, VARNISHES, LACQUERS, ENAMELS & ALLIED PRODS"
96 | "2860","6","INDUSTRIAL ORGANIC CHEMICALS"
97 | "2870","5","AGRICULTURAL CHEMICALS"
98 | "2890","6","MISCELLANEOUS CHEMICAL PRODUCTS"
99 | "2891","6","ADHESIVES & SEALANTS"
100 | "2911","4","PETROLEUM REFINING"
101 | "2950","6","ASPHALT PAVING & ROOFING MATERIALS"
102 | "2990","6","MISCELLANEOUS PRODUCTS OF PETROLEUM & COAL"
103 | "3011","6","TIRES & INNER TUBES"
104 | "3021","6","RUBBER & PLASTICS FOOTWEAR"
105 | "3050","6","GASKETS, PACKG & SEALG DEVICES & RUBBER & PLASTICS HOSE"
106 | "3060","6","FABRICATED RUBBER PRODUCTS, NEC"
107 | "3080","6","MISCELLANEOUS PLASTICS PRODUCTS"
108 | "3081","6","UNSUPPORTED PLASTICS FILM & SHEET"
109 | "3086","6","PLASTICS FOAM PRODUCTS"
110 | "3089","6","PLASTICS PRODUCTS, NEC"
111 | "3100","9","LEATHER & LEATHER PRODUCTS"
112 | "3140","9","FOOTWEAR, (NO RUBBER)"
113 | "3211","6","FLAT GLASS"
114 | "3220","6","GLASS & GLASSWARE, PRESSED OR BLOWN"
115 | "3221","6","GLASS CONTAINERS"
116 | "3231","6","GLASS PRODUCTS, MADE OF PURCHASED GLASS"
117 | "3241","6","CEMENT, HYDRAULIC"
118 | "3250","6","STRUCTURAL CLAY PRODUCTS"
119 | "3260","6","POTTERY & RELATED PRODUCTS"
120 | "3270","6","CONCRETE, GYPSUM & PLASTER PRODUCTS"
121 | "3272","6","CONCRETE PRODUCTS, EXCEPT BLOCK & BRICK"
122 | "3281","6","CUT STONE & STONE PRODUCTS"
123 | "3290","6","ABRASIVE, ASBESTOS & MISC NONMETALLIC MINERAL PRODS"
124 | "3310","6","STEEL WORKS, BLAST FURNACES & ROLLING & FINISHING MILLS"
125 | "3312","6","STEEL WORKS, BLAST FURNACES & ROLLING MILLS (COKE OVENS)"
126 | "3317","6","STEEL PIPE & TUBES"
127 | "3320","6","IRON & STEEL FOUNDRIES"
128 | "3330","9","PRIMARY SMELTING & REFINING OF NONFERROUS METALS"
129 | "3334","9","PRIMARY PRODUCTION OF ALUMINUM"
130 | "3341","6","SECONDARY SMELTING & REFINING OF NONFERROUS METALS"
131 | "3350","6","ROLLING DRAWING & EXTRUDING OF NONFERROUS METALS"
132 | "3357","6","DRAWING & INSULATING OF NONFERROUS WIRE"
133 | "3360","6","NONFERROUS FOUNDRIES (CASTINGS)"
134 | "3390","6","MISCELLANEOUS PRIMARY METAL PRODUCTS"
135 | "3411","6","METAL CANS"
136 | "3412","6","METAL SHIPPING BARRELS, DRUMS, KEGS & PAILS"
137 | "3420","6","CUTLERY, HANDTOOLS & GENERAL HARDWARE"
138 | "3430","6","HEATING EQUIP, EXCEPT ELEC & WARM AIR; & PLUMBING FIXTURES"
139 | "3433","6","HEATING EQUIPMENT, EXCEPT ELECTRIC & WARM AIR FURNACES"
140 | "3440","6","FABRICATED STRUCTURAL METAL PRODUCTS"
141 | "3442","6","METAL DOORS, SASH, FRAMES, MOLDINGS & TRIM"
142 | "3443","6","FABRICATED PLATE WORK (BOILER SHOPS)"
143 | "3444","6","SHEET METAL WORK"
144 | "3448","6","PREFABRICATED METAL BUILDINGS & COMPONENTS"
145 | "3451","6","SCREW MACHINE PRODUCTS"
146 | "3452","6","BOLTS, NUTS, SCREWS, RIVETS & WASHERS"
147 | "3460","6","METAL FORGINGS & STAMPINGS"
148 | "3470","6","COATING, ENGRAVING & ALLIED SERVICES"
149 | "3480","6","ORDNANCE & ACCESSORIES, (NO VEHICLES/GUIDED MISSILES)"
150 | "3490","6","MISCELLANEOUS FABRICATED METAL PRODUCTS"
151 | "3510","10","ENGINES & TURBINES"
152 | "3523","10","FARM MACHINERY & EQUIPMENT"
153 | "3524","10","LAWN & GARDEN TRACTORS & HOME LAWN & GARDENS EQUIP"
154 | "3530","10","CONSTRUCTION, MINING & MATERIALS HANDLING MACHINERY & EQUIP"
155 | "3531","10","CONSTRUCTION MACHINERY & EQUIP"
156 | "3532","10","MINING MACHINERY & EQUIP (NO OIL & GAS FIELD MACH & EQUIP)"
157 | "3533","4","OIL & GAS FIELD MACHINERY & EQUIPMENT"
158 | "3537","10","INDUSTRIAL TRUCKS, TRACTORS, TRAILORS & STACKERS"
159 | "3540","10","METALWORKG MACHINERY & EQUIPMENT"
160 | "3541","10","MACHINE TOOLS, METAL CUTTING TYPES"
161 | "3550","10","SPECIAL INDUSTRY MACHINERY (NO METALWORKING MACHINERY)"
162 | "3555","10","PRINTING TRADES MACHINERY & EQUIPMENT"
163 | "3559","10","SPECIAL INDUSTRY MACHINERY, NEC"
164 | "3560","10","GENERAL INDUSTRIAL MACHINERY & EQUIPMENT"
165 | "3561","10","PUMPS & PUMPING EQUIPMENT"
166 | "3562","6","BALL & ROLLER BEARINGS"
167 | "3564","6","INDUSTRIAL & COMMERCIAL FANS & BLOWERS & AIR PURIFING EQUIP"
168 | "3567","6","INDUSTRIAL PROCESS FURNACES & OVENS"
169 | "3569","6","GENERAL INDUSTRIAL MACHINERY & EQUIPMENT, NEC"
170 | "3570","3","COMPUTER & OFFICE EQUIPMENT"
171 | "3571","3","ELECTRONIC COMPUTERS"
172 | "3572","3","COMPUTER STORAGE DEVICES"
173 | "3575","3","COMPUTER TERMINALS"
174 | "3576","3","COMPUTER COMMUNICATIONS EQUIPMENT"
175 | "3577","3","COMPUTER PERIPHERAL EQUIPMENT, NEC"
176 | "3578","3","CALCULATING & ACCOUNTING MACHINES (NO ELECTRONIC COMPUTERS)"
177 | "3579","3","OFFICE MACHINES, NEC"
178 | "3580","6","REFRIGERATION & SERVICE INDUSTRY MACHINERY"
179 | "3585","6","AIR-COND & WARM AIR HEATG EQUIP & COMM & INDL REFRIG EQUIP"
180 | "3590","6","MISC INDUSTRIAL & COMMERCIAL MACHINERY & EQUIPMENT"
181 | "3600","10","ELECTRONIC & OTHER ELECTRICAL EQUIPMENT (NO COMPUTER EQUIP)"
182 | "3612","10","POWER, DISTRIBUTION & SPECIALTY TRANSFORMERS"
183 | "3613","10","SWITCHGEAR & SWITCHBOARD APPARATUS"
184 | "3620","10","ELECTRICAL INDUSTRIAL APPARATUS"
185 | "3621","10","MOTORS & GENERATORS"
186 | "3630","11","HOUSEHOLD APPLIANCES"
187 | "3634","11","ELECTRIC HOUSEWARES & FANS"
188 | "3640","11","ELECTRIC LIGHTING & WIRING EQUIPMENT"
189 | "3651","11","HOUSEHOLD AUDIO & VIDEO EQUIPMENT"
190 | "3652","11","PHONOGRAPH RECORDS & PRERECORDED AUDIO TAPES & DISKS"
191 | "3661","11","TELEPHONE & TELEGRAPH APPARATUS"
192 | "3663","11","RADIO & TV BROADCASTING & COMMUNICATIONS EQUIPMENT"
193 | "3669","11","COMMUNICATIONS EQUIPMENT, NEC"
194 | "3670","10","ELECTRONIC COMPONENTS & ACCESSORIES"
195 | "3672","3","PRINTED CIRCUIT BOARDS"
196 | "3674","10","SEMICONDUCTORS & RELATED DEVICES"
197 | "3677","10","ELECTRONIC COILS, TRANSFORMERS & OTHER INDUCTORS"
198 | "3678","10","ELECTRONIC CONNECTORS"
199 | "3679","10","ELECTRONIC COMPONENTS, NEC"
200 | "3690","10","MISCELLANEOUS ELECTRICAL MACHINERY, EQUIPMENT & SUPPLIES"
201 | "3695","11","MAGNETIC & OPTICAL RECORDING MEDIA"
202 | "3711","5","MOTOR VEHICLES & PASSENGER CAR BODIES"
203 | "3713","5","TRUCK & BUS BODIES"
204 | "3714","5","MOTOR VEHICLE PARTS & ACCESSORIES"
205 | "3715","5","TRUCK TRAILERS"
206 | "3716","5","MOTOR HOMES"
207 | "3720","5","AIRCRAFT & PARTS"
208 | "3721","5","AIRCRAFT"
209 | "3724","5","AIRCRAFT ENGINES & ENGINE PARTS"
210 | "3728","5","AIRCRAFT PARTS & AUXILIARY EQUIPMENT, NEC"
211 | "3730","5","SHIP & BOAT BUILDING & REPAIRING"
212 | "3743","5","RAILROAD EQUIPMENT"
213 | "3751","5","MOTORCYCLES, BICYCLES & PARTS"
214 | "3760","5","GUIDED MISSILES & SPACE VEHICLES & PARTS"
215 | "3790","5","MISCELLANEOUS TRANSPORTATION EQUIPMENT"
216 | "3812","5","SEARCH, DETECTION, NAVAGATION, GUIDANCE, AERONAUTICAL SYS"
217 | "3821","10","LABORATORY APPARATUS & FURNITURE"
218 | "3822","10","AUTO CONTROLS FOR REGULATING RESIDENTIAL & COMML ENVIRONMENTS"
219 | "3823","10","INDUSTRIAL INSTRUMENTS FOR MEASUREMENT, DISPLAY, AND CONTROL"
220 | "3824","10","TOTALIZING FLUID METERS & COUNTING DEVICES"
221 | "3825","10","INSTRUMENTS FOR MEAS & TESTING OF ELECTRICITY & ELEC SIGNALS"
222 | "3826","10","LABORATORY ANALYTICAL INSTRUMENTS"
223 | "3827","10","OPTICAL INSTRUMENTS & LENSES"
224 | "3829","10","MEASURING & CONTROLLING DEVICES, NEC"
225 | "3841","10","SURGICAL & MEDICAL INSTRUMENTS & APPARATUS"
226 | "3842","10","ORTHOPEDIC, PROSTHETIC & SURGICAL APPLIANCES & SUPPLIES"
227 | "3843","10","DENTAL EQUIPMENT & SUPPLIES"
228 | "3844","10","X-RAY APPARATUS & TUBES & RELATED IRRADIATION APPARATUS"
229 | "3845","10","ELECTROMEDICAL & ELECTROTHERAPEUTIC APPARATUS"
230 | "3851","10","OPHTHALMIC GOODS"
231 | "3861","10","PHOTOGRAPHIC EQUIPMENT & SUPPLIES"
232 | "3873","2","WATCHES, CLOCKS, CLOCKWORK OPERATED DEVICES/PARTS"
233 | "3910","2","JEWELRY, SILVERWARE & PLATED WARE"
234 | "3911","2","JEWELRY, PRECIOUS METAL"
235 | "3931","5","MUSICAL INSTRUMENTS"
236 | "3942","5","DOLLS & STUFFED TOYS"
237 | "3944","5","GAMES, TOYS & CHILDREN'S VEHICLES (NO DOLLS & BICYCLES)"
238 | "3949","5","SPORTING & ATHLETIC GOODS, NEC"
239 | "3950","9","PENS, PENCILS & OTHER ARTISTS' MATERIALS"
240 | "3960","6","COSTUME JEWELRY & NOVELTIES"
241 | "3990","6","MISCELLANEOUS MANUFACTURING INDUSTRIES"
242 | "4011","5","RAILROADS, LINE-HAUL OPERATING"
243 | "4013","5","RAILROAD SWITCHING & TERMINAL ESTABLISHMENTS"
244 | "4100","5","LOCAL & SUBURBAN TRANSIT & INTERURBAN HWY PASSENGER TRANS"
245 | "4210","5","TRUCKING & COURIER SERVICES (NO AIR)"
246 | "4213","5","TRUCKING (NO LOCAL)"
247 | "4220","5","PUBLIC WAREHOUSING & STORAGE"
248 | "4231","5","TERMINAL MAINTENANCE FACILITIES FOR MOTOR FREIGHT TRANSPORT"
249 | "4400","5","WATER TRANSPORTATION"
250 | "4412","5","DEEP SEA FOREIGN TRANSPORTATION OF FREIGHT"
251 | "4512","5","AIR TRANSPORTATION, SCHEDULED"
252 | "4513","5","AIR COURIER SERVICES"
253 | "4522","5","AIR TRANSPORTATION, NONSCHEDULED"
254 | "4581","5","AIRPORTS, FLYING FIELDS & AIRPORT TERMINAL SERVICES"
255 | "4610","4","PIPE LINES (NO NATURAL GAS)"
256 | "4700","5","TRANSPORTATION SERVICES"
257 | "4731","5","ARRANGEMENT OF TRANSPORTATION OF FREIGHT & CARGO"
258 | "4812","11","RADIOTELEPHONE COMMUNICATIONS"
259 | "4813","11","TELEPHONE COMMUNICATIONS (NO RADIOTELEPHONE)"
260 | "4822","11","TELEGRAPH & OTHER MESSAGE COMMUNICATIONS"
261 | "4832","11","RADIO BROADCASTING STATIONS"
262 | "4833","11","TELEVISION BROADCASTING STATIONS"
263 | "4841","11","CABLE & OTHER PAY TELEVISION SERVICES"
264 | "4899","11","COMMUNICATIONS SERVICES, NEC"
265 | "4900","2","ELECTRIC, GAS & SANITARY SERVICES"
266 | "4911","2","ELECTRIC SERVICES"
267 | "4922","2","NATURAL GAS TRANSMISSION"
268 | "4923","2","NATURAL GAS TRANSMISISON & DISTRIBUTION"
269 | "4924","2","NATURAL GAS DISTRIBUTION"
270 | "4931","2","ELECTRIC & OTHER SERVICES COMBINED"
271 | "4932","2","GAS & OTHER SERVICES COMBINED"
272 | "4941","2","WATER SUPPLY"
273 | "4950","6","SANITARY SERVICES"
274 | "4953","6","REFUSE SYSTEMS"
275 | "4955","6","HAZARDOUS WASTE MANAGEMENT"
276 | "4961","2","STEAM & AIR-CONDITIONING SUPPLY"
277 | "4991","2","COGENERATION SERVICES & SMALL POWER PRODUCERS"
278 | "5000","2","WHOLESALE-DURABLE GOODS"
279 | "5010","5","WHOLESALE-MOTOR VEHICLES & MOTOR VEHICLE PARTS & SUPPLIES"
280 | "5013","5","WHOLESALE-MOTOR VEHICLE SUPPLIES & NEW PARTS"
281 | "5020","2","WHOLESALE-FURNITURE & HOME FURNISHINGS"
282 | "5030","6","WHOLESALE-LUMBER & OTHER CONSTRUCTION MATERIALS"
283 | "5031","6","WHOLESALE-LUMBER, PLYWOOD, MILLWORK & WOOD PANELS"
284 | "5040","2","WHOLESALE-PROFESSIONAL & COMMERCIAL EQUIPMENT & SUPPLIES"
285 | "5045","3","WHOLESALE-COMPUTERS & PERIPHERAL EQUIPMENT & SOFTWARE"
286 | "5047","9","WHOLESALE-MEDICAL, DENTAL & HOSPITAL EQUIPMENT & SUPPLIES"
287 | "5050","5","WHOLESALE-METALS & MINERALS (NO PETROLEUM)"
288 | "5051","5","WHOLESALE-METALS SERVICE CENTERS & OFFICES"
289 | "5063","10","WHOLESALE-ELECTRICAL APPARATUS & EQUIPMENT, WIRING SUPPLIES"
290 | "5064","10","WHOLESALE-ELECTRICAL APPLIANCES, TV & RADIO SETS"
291 | "5065","10","WHOLESALE-ELECTRONIC PARTS & EQUIPMENT, NEC"
292 | "5070","6","WHOLESALE-HARDWARE & PLUMBING & HEATING EQUIPMENT & SUPPLIES"
293 | "5072","6","WHOLESALE-HARDWARE"
294 | "5080","6","WHOLESALE-MACHINERY, EQUIPMENT & SUPPLIES"
295 | "5082","6","WHOLESALE-CONSTRUCTION & MINING (NO PETRO) MACHINERY & EQUIP"
296 | "5084","6","WHOLESALE-INDUSTRIAL MACHINERY & EQUIPMENT"
297 | "5090","2","WHOLESALE-MISC DURABLE GOODS"
298 | "5094","2","WHOLESALE-JEWELRY, WATCHES, PRECIOUS STONES & METALS"
299 | "5099","2","WHOLESALE-DURABLE GOODS, NEC"
300 | "5110","4","WHOLESALE-PAPER & PAPER PRODUCTS"
301 | "5122","9","WHOLESALE-DRUGS, PROPRIETARIES & DRUGGISTS' SUNDRIES"
302 | "5130","9","WHOLESALE-APPAREL, PIECE GOODS & NOTIONS"
303 | "5140","2","WHOLESALE-GROCERIES & RELATED PRODUCTS"
304 | "5141","2","WHOLESALE-GROCERIES, GENERAL LINE"
305 | "5150","5","WHOLESALE-FARM PRODUCT RAW MATERIALS"
306 | "5160","6","WHOLESALE-CHEMICALS & ALLIED PRODUCTS"
307 | "5171","4","WHOLESALE-PETROLEUM BULK STATIONS & TERMINALS"
308 | "5172","4","WHOLESALE-PETROLEUM & PETROLEUM PRODUCTS (NO BULK STATIONS)"
309 | "5180","9","WHOLESALE-BEER, WINE & DISTILLED ALCOHOLIC BEVERAGES"
310 | "5190","2","WHOLESALE-MISCELLANEOUS NONDURABLE GOODS"
311 | "5200","6","RETAIL-BUILDING MATERIALS, HARDWARE, GARDEN SUPPLY"
312 | "5211","6","RETAIL-LUMBER & OTHER BUILDING MATERIALS DEALERS"
313 | "5271","2","RETAIL-MOBILE HOME DEALERS"
314 | "5311","2","RETAIL-DEPARTMENT STORES"
315 | "5331","2","RETAIL-VARIETY STORES"
316 | "5399","2","RETAIL-MISC GENERAL MERCHANDISE STORES"
317 | "5400","2","RETAIL-FOOD STORES"
318 | "5411","2","RETAIL-GROCERY STORES"
319 | "5412","2","RETAIL-CONVENIENCE STORES"
320 | "5500","2","RETAIL-AUTO DEALERS & GASOLINE STATIONS"
321 | "5531","2","RETAIL-AUTO & HOME SUPPLY STORES"
322 | "5600","9","RETAIL-APPAREL & ACCESSORY STORES"
323 | "5621","9","RETAIL-WOMEN'S CLOTHING STORES"
324 | "5651","9","RETAIL-FAMILY CLOTHING STORES"
325 | "5661","9","RETAIL-SHOE STORES"
326 | "5700","2","RETAIL-HOME FURNITURE, FURNISHINGS & EQUIPMENT STORES"
327 | "5712","2","RETAIL-FURNITURE STORES"
328 | "5731","2","RETAIL-RADIO, TV & CONSUMER ELECTRONICS STORES"
329 | "5734","2","RETAIL-COMPUTER & COMPUTER SOFTWARE STORES"
330 | "5735","2","RETAIL-RECORD & PRERECORDED TAPE STORES"
331 | "5810","5","RETAIL-EATING & DRINKING PLACES"
332 | "5812","5","RETAIL-EATING PLACES"
333 | "5900","2","RETAIL-MISCELLANEOUS RETAIL"
334 | "5912","9","RETAIL-DRUG STORES AND PROPRIETARY STORES"
335 | "5940","2","RETAIL-MISCELLANEOUS SHOPPING GOODS STORES"
336 | "5944","2","RETAIL-JEWELRY STORES"
337 | "5945","2","RETAIL-HOBBY, TOY & GAME SHOPS"
338 | "5960","2","RETAIL-NONSTORE RETAILERS"
339 | "5961","2","RETAIL-CATALOG & MAIL-ORDER HOUSES"
340 | "5990","2","RETAIL-RETAIL STORES, NEC"
341 | "6021","7","NATIONAL COMMERCIAL BANKS"
342 | "6022","7","STATE COMMERCIAL BANKS"
343 | "6029","7","COMMERCIAL BANKS, NEC"
344 | "6035","7","SAVINGS INSTITUTION, FEDERALLY CHARTERED"
345 | "6036","7","SAVINGS INSTITUTIONS, NOT FEDERALLY CHARTERED"
346 | "6099","7","FUNCTIONS RELATED TO DEPOSITORY BANKING, NEC"
347 | "6111","7","FEDERAL & FEDERALLY-SPONSORED CREDIT AGENCIES"
348 | "6141","7","PERSONAL CREDIT INSTITUTIONS"
349 | "6153","7","SHORT-TERM BUSINESS CREDIT INSTITUTIONS"
350 | "6159","7","MISCELLANEOUS BUSINESS CREDIT INSTITUTION"
351 | "6162","7","MORTGAGE BANKERS & LOAN CORRESPONDENTS"
352 | "6163","7","LOAN BROKERS"
353 | "6172","7","FINANCE LESSORS"
354 | "6189","OSF","ASSET-BACKED SECURITIES"
355 | "6199","7","FINANCE SERVICES"
356 | "6200","7","SECURITY & COMMODITY BROKERS, DEALERS, EXCHANGES & SERVICES"
357 | "6211","7","SECURITY BROKERS, DEALERS & FLOTATION COMPANIES"
358 | "6221","8","COMMODITY CONTRACTS BROKERS & DEALERS"
359 | "6282","7","INVESTMENT ADVICE"
360 | "6311","1","LIFE INSURANCE"
361 | "6321","1","ACCIDENT & HEALTH INSURANCE"
362 | "6324","1","HOSPITAL & MEDICAL SERVICE PLANS"
363 | "6331","1","FIRE, MARINE & CASUALTY INSURANCE"
364 | "6351","1","SURETY INSURANCE"
365 | "6361","1","TITLE INSURANCE"
366 | "6399","1","INSURANCE CARRIERS, NEC"
367 | "6411","1","INSURANCE AGENTS, BROKERS & SERVICE"
368 | "6500","8","REAL ESTATE"
369 | "6510","8","REAL ESTATE OPERATORS (NO DEVELOPERS) & LESSORS"
370 | "6512","8","OPERATORS OF NONRESIDENTIAL BUILDINGS"
371 | "6513","8","OPERATORS OF APARTMENT BUILDINGS"
372 | "6519","8","LESSORS OF REAL PROPERTY, NEC"
373 | "6531","8","REAL ESTATE AGENTS & MANAGERS (FOR OTHERS)"
374 | "6532","8","REAL ESTATE DEALERS (FOR THEIR OWN ACCOUNT)"
375 | "6552","8","LAND SUBDIVIDERS & DEVELOPERS (NO CEMETERIES)"
376 | "6770","All","BLANK CHECKS"
377 | "6792","4","OIL ROYALTY TRADERS"
378 | "6794","3","PATENT OWNERS & LESSORS"
379 | "6795","9","MINERAL ROYALTY TRADERS"
380 | "6798","8","REAL ESTATE INVESTMENT TRUSTS"
381 | "6799","8","INVESTORS, NEC"
382 | "7000","8","HOTELS, ROOMING HOUSES, CAMPS & OTHER LODGING PLACES"
383 | "7011","8","HOTELS & MOTELS"
384 | "7200","11","SERVICES-PERSONAL SERVICES"
385 | "7310","11","SERVICES-ADVERTISING"
386 | "7311","11","SERVICES-ADVERTISING AGENCIES"
387 | "7320","11","SERVICES-CONSUMER CREDIT REPORTING, COLLECTION AGENCIES"
388 | "7330","11","SERVICES-MAILING, REPRODUCTION, COMMERCIAL ART & PHOTOGRAPHY"
389 | "7331","11","SERVICES-DIRECT MAIL ADVERTISING SERVICES"
390 | "7340","8","SERVICES-TO DWELLINGS & OTHER BUILDINGS"
391 | "7350","6","SERVICES-MISCELLANEOUS EQUIPMENT RENTAL & LEASING"
392 | "7359","6","SERVICES-EQUIPMENT RENTAL & LEASING, NEC"
393 | "7361","8","SERVICES-EMPLOYMENT AGENCIES"
394 | "7363","11","SERVICES-HELP SUPPLY SERVICES"
395 | "7370","3","SERVICES-COMPUTER PROGRAMMING, DATA PROCESSING, ETC."
396 | "7371","3","SERVICES-COMPUTER PROGRAMMING SERVICES"
397 | "7372","3","SERVICES-PREPACKAGED SOFTWARE"
398 | "7373","3","SERVICES-COMPUTER INTEGRATED SYSTEMS DESIGN"
399 | "7374","3","SERVICES-COMPUTER PROCESSING & DATA PREPARATION"
400 | "7377","3","SERVICES-COMPUTER RENTAL & LEASING"
401 | "7380","11","SERVICES-MISCELLANEOUS BUSINESS SERVICES"
402 | "7381","11","SERVICES-DETECTIVE, GUARD & ARMORED CAR SERVICES"
403 | "7384","11","SERVICES-PHOTOFINISHING LABORATORIES"
404 | "7385","11","SERVICES-TELEPHONE INTERCONNECT SYSTEMS"
405 | "7389","2 & 3","SERVICES-BUSINESS SERVICES, NEC"
406 | "7500","5","SERVICES-AUTOMOTIVE REPAIR, SERVICES & PARKING"
407 | "7510","5","SERVICES-AUTO RENTAL & LEASING (NO DRIVERS)"
408 | "7600","11","SERVICES-MISCELLANEOUS REPAIR SERVICES"
409 | "7812","5","SERVICES-MOTION PICTURE & VIDEO TAPE PRODUCTION"
410 | "7819","5","SERVICES-ALLIED TO MOTION PICTURE PRODUCTION"
411 | "7822","5","SERVICES-MOTION PICTURE & VIDEO TAPE DISTRIBUTION"
412 | "7829","5","SERVICES-ALLIED TO MOTION PICTURE DISTRIBUTION"
413 | "7830","5","SERVICES-MOTION PICTURE THEATERS"
414 | "7841","5","SERVICES-VIDEO TAPE RENTAL"
415 | "7900","5","SERVICES-AMUSEMENT & RECREATION SERVICES"
416 | "7948","5","SERVICES-RACING, INCLUDING TRACK OPERATION"
417 | "7990","5","SERVICES-MISCELLANEOUS AMUSEMENT & RECREATION"
418 | "7997","5","SERVICES-MEMBERSHIP SPORTS & RECREATION CLUBS"
419 | "8000","9","SERVICES-HEALTH SERVICES"
420 | "8011","11","SERVICES-OFFICES & CLINICS OF DOCTORS OF MEDICINE"
421 | "8050","11","SERVICES-NURSING & PERSONAL CARE FACILITIES"
422 | "8051","11","SERVICES-SKILLED NURSING CARE FACILITIES"
423 | "8060","11","SERVICES-HOSPITALS"
424 | "8062","11","SERVICES-GENERAL MEDICAL & SURGICAL HOSPITALS, NEC"
425 | "8071","9","SERVICES-MEDICAL LABORATORIES"
426 | "8082","9","SERVICES-HOME HEALTH CARE SERVICES"
427 | "8090","9","SERVICES-MISC HEALTH & ALLIED SERVICES, NEC"
428 | "8093","11","SERVICES-SPECIALTY OUTPATIENT FACILITIES, NEC"
429 | "8111","11","SERVICES-LEGAL SERVICES"
430 | "8200","11","SERVICES-EDUCATIONAL SERVICES"
431 | "8300","9","SERVICES-SOCIAL SERVICES"
432 | "8351","9","SERVICES-CHILD DAY CARE SERVICES"
433 | "8600","5","SERVICES-MEMBERSHIP ORGANIZATIONS"
434 | "8700","6","SERVICES-ENGINEERING, ACCOUNTING, RESEARCH, MANAGEMENT"
435 | "8711","6","SERVICES-ENGINEERING SERVICES"
436 | "8731","9","SERVICES-COMMERCIAL PHYSICAL & BIOLOGICAL RESEARCH"
437 | "8734","9","SERVICES-TESTING LABORATORIES"
438 | "8741","8","SERVICES-MANAGEMENT SERVICES"
439 | "8742","8","SERVICES-MANAGEMENT CONSULTING SERVICES"
440 | "8744","6","SERVICES-FACILITIES SUPPORT MANAGEMENT SERVICES"
441 | "8880","99","AMERICAN DEPOSITARY RECEIPTS"
442 | "8888","99","FOREIGN GOVERNMENTS"
443 | "8900","11","SERVICES-SERVICES, NEC"
444 | "9721","99","INTERNATIONAL AFFAIRS"
445 | "9995","All","NON-OPERATING ESTABLISHMENTS"
446 |
--------------------------------------------------------------------------------
/tests/test_clean_desc.py:
--------------------------------------------------------------------------------
1 | # Test clean_desc() helper function
2 | import pytest
3 | from .context import scrape_sic_osha as scrape
4 |
5 |
6 | class TestClass:
7 |
8 | def test_none(self):
9 | with pytest.raises(AttributeError):
10 | scrape.clean_desc(None)
11 |
12 | def test_nospace(self):
13 | with pytest.raises(Exception):
14 | scrape.clean_desc('thistaghasnospace')
15 |
16 | def test_multcol(self):
17 | mult_str = 'Industry Group 271: Newspapers: Publishing, ' + \
18 | 'Or Publishing And Printing'
19 | clean = scrape.clean_desc(mult_str)
20 | assert clean[0] == '271'
21 | assert clean[1] == 'Industry Group'
22 | assert clean[2] == 'Newspapers: Publishing, Or Publishing And Printing'
23 |
24 | def test_division(self):
25 | clean = scrape.clean_desc(
26 | 'Division I: Services')
27 | assert clean[0] == 'I'
28 | assert clean[1] == 'Division'
29 | assert clean[2] == 'Services'
30 |
31 | def test_major(self):
32 | clean = scrape.clean_desc(
33 | 'Major Group 86: Membership Organizations')
34 | assert clean[0] == '86'
35 | assert clean[1] == 'Major Group'
36 | assert clean[2] == 'Membership Organizations'
37 |
38 | def test_industry(self):
39 | clean = scrape.clean_desc(
40 | 'Industry Group 019: General Farms, Primarily Crop')
41 | assert clean[0] == '019'
42 | assert clean[1] == 'Industry Group'
43 | assert clean[2] == 'General Farms, Primarily Crop'
44 |
--------------------------------------------------------------------------------
/tests/test_clean_out.py:
--------------------------------------------------------------------------------
1 | # Test clean_out() helper function
2 | from .context import scrape_sic_osha as scrape
3 |
4 |
5 | class TestClass:
6 |
7 | def test_forestry(self):
8 | test_unit = scrape.ind_group(
9 | full_desc='Major Group 08: Forestry',
10 | parent_desc='Division A: Agriculture, Forestry, And Fishing',
11 | link='sic_manual.display?id=4&tab=group')
12 | cleaned = scrape.clean_out(test_unit)
13 | assert isinstance(cleaned, list)
14 | assert cleaned[0] == '08'
15 | assert cleaned[1] == 'Forestry'
16 |
17 | def test_dfirst(self):
18 | test_unit = scrape.ind_group(
19 | full_desc='Division A: Agriculture, Forestry, And Fishing',
20 | parent_desc='None', link='sic_manual.display?id=1&tab=division')
21 | cleaned = scrape.clean_out(test_unit)
22 | assert isinstance(cleaned, list)
23 | assert cleaned[0] == 'A'
24 | assert cleaned[1] == 'Agriculture, Forestry, And Fishing'
25 |
26 | def test_dlast(self):
27 | test_unit = scrape.ind_group(
28 | full_desc='Major Group 99: Nonclassifiable Establishments',
29 | parent_desc='Division J: Public Administration',
30 | link='sic_manual.display?id=82&tab=group')
31 | cleaned = scrape.clean_out(test_unit)
32 | assert isinstance(cleaned, list)
33 | assert cleaned[0] == '99'
34 | assert cleaned[1] == 'Nonclassifiable Establishments'
35 |
36 | def test_grapes(self):
37 | test_unit = scrape.ind_group(
38 | full_desc='SIC4 0172: Grapes',
39 | parent_desc='Industry Group 017: Fruits And Tree Nuts',
40 | link='sic_manual.display?id=322&tab=description')
41 | cleaned = scrape.clean_out(test_unit)
42 | assert isinstance(cleaned, list)
43 | assert cleaned[0] == '0172'
44 | assert cleaned[1] == 'Grapes'
45 |
46 | def test_mfirst(self):
47 | test_unit = scrape.ind_group(
48 | full_desc='Industry Group 011: Cash Grains',
49 | parent_desc='Major Group 01: Agricultural Production Crops',
50 | link=None)
51 | cleaned = scrape.clean_out(test_unit)
52 | assert isinstance(cleaned, list)
53 | assert cleaned[0] == '011'
54 | assert cleaned[1] == 'Cash Grains'
55 |
56 | def test_mlast(self):
57 | test_unit = scrape.ind_group(
58 | full_desc='SIC4 0191: General Farms, Primarily Crop',
59 | parent_desc='Industry Group 019: General Farms, Primarily Crop',
60 | link='sic_manual.display?id=329&tab=description')
61 | cleaned = scrape.clean_out(test_unit)
62 | assert isinstance(cleaned, list)
63 | assert cleaned[0] == '0191'
64 | assert cleaned[1] == 'General Farms, Primarily Crop'
65 |
--------------------------------------------------------------------------------
/tests/test_compare.py:
--------------------------------------------------------------------------------
1 | # Test output by comparing SIC descriptions across sources
2 | from __future__ import division
3 | import pandas as pd
4 | import nltk
5 | from os import path, remove
6 |
7 | from .context import scrape_sic_osha as scrape_osha
8 | from .context import scrape_sic_sec as scrape_sec
9 | from .context import path_test
10 |
11 | nltk.download('punkt')
12 | nltk.download('averaged_perceptron_tagger')
13 |
14 | # Read OSHA data
15 | osha_fname = path.join(path_test, 'osha_combined')
16 | if path.isfile(osha_fname + '.csv'):
17 | osha = pd.read_csv(osha_fname + '.csv')
18 | else:
19 | scrape_osha.get_sic_all(out_fname=osha_fname)
20 | osha = pd.read_csv(osha_fname + '.csv')
21 | len(osha)
22 |
23 | # Read SEC data
24 | sec_fname = path.join(path_test, 'sec_combined.csv')
25 | if path.isfile(sec_fname):
26 | sec = pd.read_csv(sec_fname)
27 | else:
28 | scrape_sec.save_sic_sec(sec_fname)
29 | sec = pd.read_csv(sec_fname)
30 | len(sec)
31 |
32 | # Read benchmark data
33 | benchmark = pd.read_csv(path.join(path_test, 'ref_list.csv'))
34 | benchmark.columns = ['SIC4_cd', 'SIC4_desciption']
35 | benchmark_osha = pd.read_csv(path.join(path_test, 'ref_osha_combined.csv'))
36 | benchmark_sec = pd.read_csv(path.join(path_test, 'ref_sec_combined.csv'))
37 |
38 |
39 | class TestClass:
40 |
41 | def test_compare_osha_sec(self):
42 |
43 | # Merge OSHA and SEC data
44 | inner = osha.merge(sec, how='inner', on='SIC4_cd')
45 | len(inner)
46 | osha_desc = list(inner.SIC4_desc.str.lower().str.strip())
47 | sec_desc = list(inner.industry_title.str.lower().str.strip())
48 |
49 | match = []
50 | for i in range(0, len(inner)):
51 | match_ind = sec_desc[i] == osha_desc[i]
52 | if not(match_ind):
53 |
54 | tokens_taged = nltk.pos_tag(nltk.word_tokenize(osha_desc[i]))
55 | sec_words = [word[0] for word in nltk.pos_tag(
56 | nltk.word_tokenize(sec_desc[i]))]
57 |
58 | word_matches = [word[0] in sec_words for word in tokens_taged
59 | if word[1] != 'CC']
60 | match_rate = sum(word_matches) / len(word_matches)
61 | if match_rate > 0.3:
62 | match_ind = True
63 | match.append(match_ind)
64 |
65 | assert sum(match) / len(inner) > .98
66 |
67 | def test_compare_osha_benchmark(self):
68 |
69 | # Merge OSHA and benchmark data
70 | inner = osha.merge(benchmark, how='inner', on='SIC4_cd')
71 | len(inner)
72 | osha_desc = list(inner.SIC4_desc.str.lower().str.strip())
73 | benchmark_desc = list(inner.SIC4_desciption.str.lower().str.strip())
74 |
75 | match = []
76 | for i in range(0, len(inner)):
77 | match_ind = benchmark_desc[i] == osha_desc[i]
78 | if not(match_ind):
79 |
80 | tokens_taged = nltk.pos_tag(
81 | nltk.word_tokenize(benchmark_desc[i]))
82 | osha_words = [word[0] for word in nltk.pos_tag(
83 | nltk.word_tokenize(osha_desc[i]))]
84 |
85 | word_matches = [word[0] in osha_words for word
86 | in tokens_taged if word[1] != 'CC']
87 | match_rate = sum(word_matches) / len(word_matches)
88 | if match_rate > 0.3:
89 | match_ind = True
90 | match.append(match_ind)
91 |
92 | assert sum(match) / len(inner) > .98
93 |
94 | def test_compare_orig(self):
95 | assert osha.equals(benchmark_osha)
96 | assert sec.equals(benchmark_sec)
97 |
98 | remove(osha_fname + '.csv')
99 | remove(osha_fname + '.pkl')
100 | remove(sec_fname)
101 |
--------------------------------------------------------------------------------
/tests/test_get_all.py:
--------------------------------------------------------------------------------
1 | # Test get_sic_all() function
2 | import pandas as pd
3 | import pickle
4 | from os import remove, path
5 |
6 | from .context import scrape_sic_osha as scrape
7 | from .context import path_test
8 |
9 |
10 | class TestClass:
11 |
12 | filename = path.join(path_test, 'test')
13 | success = scrape.get_sic_all(out_fname=filename)
14 | with open(filename + '.pkl', 'rb') as f:
15 | out_pick = pickle.load(f)
16 | out_csv = pd.read_csv(filename + '.csv')
17 |
18 | def test_script_success(self):
19 | assert self.success
20 |
21 | def files_found(self):
22 | assert self.out_pick is not None
23 | assert self.out_csv is not None
24 |
25 | def test_equal_len(self):
26 | assert len(self.out_pick) == len(self.out_csv)
27 |
28 | def test_first(self):
29 |
30 | assert self.out_pick[0] == [
31 | '0111',
32 | 'Wheat',
33 | '011',
34 | 'Cash Grains',
35 | '01',
36 | 'Agricultural Production Crops',
37 | 'A',
38 | 'Agriculture, Forestry, And Fishing']
39 |
40 | assert list(self.out_csv.iloc[0]) == [
41 | 111,
42 | 'Wheat',
43 | 11,
44 | 'Cash Grains',
45 | 1,
46 | 'Agricultural Production Crops',
47 | 'A',
48 | 'Agriculture, Forestry, And Fishing']
49 |
50 | def test_5812(self):
51 |
52 | assert self.out_pick[749] == [
53 | '5812',
54 | 'Eating Places',
55 | '581',
56 | 'Eating And Drinking Places',
57 | '58',
58 | 'Eating And Drinking Places',
59 | 'G',
60 | 'Retail Trade']
61 |
62 | assert list(self.out_csv[self.out_csv.SIC4_cd == 5812].iloc[0]) == [
63 | 5812,
64 | 'Eating Places',
65 | 581,
66 | 'Eating And Drinking Places',
67 | 58,
68 | 'Eating And Drinking Places',
69 | 'G',
70 | 'Retail Trade']
71 |
72 | def test_last(self):
73 |
74 | assert self.out_pick[len(self.out_pick) - 1] == [
75 | '9999',
76 | 'Nonclassifiable Establishments',
77 | '999',
78 | 'Nonclassifiable Establishments',
79 | '99',
80 | 'Nonclassifiable Establishments',
81 | 'J',
82 | 'Public Administration']
83 |
84 | assert list(self.out_csv.iloc[len(self.out_csv) - 1]) == [
85 | 9999,
86 | 'Nonclassifiable Establishments',
87 | 999,
88 | 'Nonclassifiable Establishments',
89 | 99,
90 | 'Nonclassifiable Establishments',
91 | 'J',
92 | 'Public Administration']
93 |
94 | remove(filename + '.csv')
95 | remove(filename + '.pkl')
96 |
--------------------------------------------------------------------------------
/tests/test_get_divisions.py:
--------------------------------------------------------------------------------
1 | # Test get_divisions() function
2 | from .context import scrape_sic_osha as scrape
3 |
4 |
5 | class TestClass:
6 |
7 | divisions = scrape.get_divisions()
8 |
9 | def test_len(self):
10 | assert len(self.divisions) > 1
11 |
12 | def test_forestry(self):
13 | assert self.divisions[4].full_desc == \
14 | 'Major Group 08: Forestry'
15 | assert self.divisions[4].parent_desc == \
16 | 'Division A: Agriculture, Forestry, And Fishing'
17 |
18 | def test_first(self):
19 | assert self.divisions[0].full_desc == \
20 | 'Division A: Agriculture, Forestry, And Fishing'
21 | assert self.divisions[0].parent_desc == \
22 | 'None'
23 |
24 | def test_last(self):
25 | assert self.divisions[len(self.divisions) - 1].full_desc == \
26 | 'Major Group 99: Nonclassifiable Establishments'
27 | assert self.divisions[len(self.divisions) - 1].parent_desc == \
28 | 'Division J: Public Administration'
29 |
--------------------------------------------------------------------------------
/tests/test_get_major.py:
--------------------------------------------------------------------------------
1 | # Test get_major() function
2 | from .context import scrape_sic_osha as scrape
3 |
4 |
5 | class TestClass:
6 |
7 | url = 'sic_manual.display?id=1&tab=group'
8 | major = scrape.get_major(url)
9 |
10 | def test_len(self):
11 | assert len(self.major) > 1
12 |
13 | def test_grapes(self):
14 | assert self.major[16].full_desc == \
15 | 'SIC4 0172: Grapes'
16 | assert self.major[16].parent_desc == \
17 | 'Industry Group 017: Fruits And Tree Nuts'
18 |
19 | def test_first(self):
20 | assert self.major[0].full_desc == \
21 | 'Industry Group 011: Cash Grains'
22 | assert self.major[0].parent_desc == \
23 | 'Major Group 01: Agricultural Production Crops'
24 |
25 | def test_last(self):
26 | assert self.major[len(self.major) - 1].full_desc == \
27 | 'SIC4 0191: General Farms, Primarily Crop'
28 | assert self.major[len(self.major) - 1].parent_desc == \
29 | 'Industry Group 019: General Farms, Primarily Crop'
30 |
--------------------------------------------------------------------------------
/tests/test_osha_save.py:
--------------------------------------------------------------------------------
1 | # Test save_divisions() and save_majors() functions
2 | from os import path, remove
3 |
4 | from .context import scrape_sic_osha as scrape
5 | from .context import path_test
6 |
7 |
8 | class TestClass:
9 |
10 | def test_save_div(self):
11 | test_fname = path.join(path_test, 'test_div.pkl')
12 | assert scrape.save_divisions(test_fname)
13 | assert path.isfile(test_fname)
14 | remove(test_fname)
15 | assert not(path.isfile(test_fname))
16 |
17 | def test_save_maj(self):
18 | url = 'sic_manual.display?id=1&tab=group'
19 | test_fname = path.join(path_test, 'test_maj.pkl')
20 | assert scrape.save_majors(url, test_fname)
21 | assert path.isfile(test_fname)
22 | remove(test_fname)
23 | assert not(path.isfile(test_fname))
24 |
--------------------------------------------------------------------------------
/tests/test_save_all.py:
--------------------------------------------------------------------------------
1 | # Test save_all_majors() function
2 | from os import path, remove
3 |
4 | from .context import scrape_sic_osha as scrape
5 |
6 |
7 | class TestClass:
8 |
9 | def test_unamed(self):
10 | file_list = scrape.save_all_majors()
11 | assert all([path.isfile(s) for s in file_list])
12 | assert all([s.split('_')[0] == 'Maj' for s in file_list])
13 | assert all([remove(s) is None for s in file_list])
14 |
15 | def test_named(self):
16 | file_list = scrape.save_all_majors('test_')
17 | assert all([s.split('_')[0] == 'test' for s in file_list])
18 | assert all([path.isfile(s) for s in file_list])
19 | assert all([remove(s) is None for s in file_list])
20 |
--------------------------------------------------------------------------------
/tests/test_sic_sec.py:
--------------------------------------------------------------------------------
1 | # Test SEC scraping functions
2 | from os import remove, path
3 | import pandas as pd
4 |
5 | from .context import scrape_sic_sec as scrape
6 | from .context import path_test
7 |
8 |
9 | class TestClass:
10 |
11 | out_name = path.join(path_test, 'test.csv')
12 | data = scrape.save_sic_sec(out_name)
13 | output_read = pd.read_csv(out_name)
14 | df = pd.DataFrame(data)
15 | df.columns = df.iloc[0]
16 |
17 | def test_export(self):
18 | assert len(self.data) - len(self.output_read) == 1
19 |
20 | def test_headers(self):
21 | assert self.data[0] == ['SIC4_cd', 'AD_office', 'industry_title']
22 |
23 | def test_df_headers(self):
24 | assert list(self.df.columns.values) == \
25 | ['SIC4_cd', 'AD_office', 'industry_title']
26 |
27 | def test_5122(self):
28 | assert self.df[pd.to_numeric(
29 | self.df.SIC4_cd, errors='coerce') == 8071].\
30 | industry_title.iloc[0] == 'SERVICES-MEDICAL LABORATORIES'
31 |
32 | def test_0800(self):
33 | assert self.df[pd.to_numeric(
34 | self.df.SIC4_cd, errors='coerce') == 800].\
35 | industry_title.iloc[0] == 'FORESTRY'
36 |
37 | def test_3540(self):
38 | assert self.df[pd.to_numeric(
39 | self.df.SIC4_cd, errors='coerce') == 3540].\
40 | industry_title.iloc[0] == 'METALWORKG MACHINERY & EQUIPMENT'
41 |
42 | # Clean up
43 | remove(out_name)
44 |
--------------------------------------------------------------------------------