├── .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 | [![Build Status](https://travis-ci.org/rtlee9/SIC-list.svg?branch=master)](https://travis-ci.org/rtlee9/SIC-list) 4 | [![Coverage Status](https://coveralls.io/repos/github/rtlee9/SIC-list/badge.svg?branch=)](https://coveralls.io/github/rtlee9/SIC-list?branch=) 5 | [![Code Climate](https://codeclimate.com/github/rtlee9/SIC-list/badges/gpa.svg)](https://codeclimate.com/github/rtlee9/SIC-list) 6 | [![license](https://img.shields.io/badge/license-Apache_2.0-blue.svg)](LICENSE) 7 | [![PyPI](https://img.shields.io/badge/python-2.7-blue.svg)](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 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | "
SIC4_cdSIC4_descind_cdind_descmaj_cdmaj_descdiv_cddiv_descAD_officeindustry_title
943585Air-Conditioning and Warm Air Heating Equipmen...358Refrigeration And Service Industry Machinery35Industrial And Commercial Machinery And Comput...DManufacturing6AIR-COND & WARM AIR HEATG EQUIP & COMM & INDL ...
1765072Hardware507Hardware, And Plumbing And Heating Equipment50Wholesale Trade-durable GoodsFWholesale Trade6WHOLESALE-HARDWARE
\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 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | " \n", 424 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | " \n", 430 | " \n", 431 | " \n", 432 | " \n", 433 | " \n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | " \n", 438 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | " \n", 487 | " \n", 488 | " \n", 489 | " \n", 490 | " \n", 491 | " \n", 492 | " \n", 493 | " \n", 494 | " \n", 495 | " \n", 496 | " \n", 497 | " \n", 498 | " \n", 499 | " \n", 500 | " \n", 501 | " \n", 502 | " \n", 503 | " \n", 504 | " \n", 505 | " \n", 506 | " \n", 507 | " \n", 508 | " \n", 509 | " \n", 510 | " \n", 511 | " \n", 512 | " \n", 513 | " \n", 514 | " \n", 515 | " \n", 516 | " \n", 517 | " \n", 518 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | " \n", 531 | " \n", 532 | " \n", 533 | " \n", 534 | " \n", 535 | " \n", 536 | " \n", 537 | " \n", 538 | " \n", 539 | " \n", 540 | " \n", 541 | " \n", 542 | " \n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | " \n", 551 | " \n", 552 | " \n", 553 | " \n", 554 | " \n", 555 | "
SIC4_cdSIC4_descind_cdind_descmaj_cdmaj_descdiv_cddiv_descSIC4_desciption
891521General Contractors-Single-Family Houses152General Building Contractors-residential15Building Construction General Contractors And ...CConstructionSINGLE-FAMILY HOUSING CONSTRUCTION
901522General Contractors-Residential Buildings, Oth...152General Building Contractors-residential15Building Construction General Contractors And ...CConstructionRESIDENTIAL CONSTRUCTION, NEC
931542General Contractors-Nonresidential Buildings, ...154General Building Contractors-nonresidential15Building Construction General Contractors And ...CConstructionNONRESIDENTIAL CONSTRUCTION, NEC
1792261Finishers of Broadwoven Fabrics of Cotton226Dyeing And Finishing Textiles, Except Wool Fab...22Textile Mill ProductsDManufacturingFINISHING PLANTS, COTTON
1802262Finishers of Broadwoven Fabrics of Manmade Fib...226Dyeing And Finishing Textiles, Except Wool Fab...22Textile Mill ProductsDManufacturingFINISHING PLANTS, MANMADE
1812269Finishers of Textiles, Not elsewhere Classified226Dyeing And Finishing Textiles, Except Wool Fab...22Textile Mill ProductsDManufacturingFINISHING PLANTS, NEC
2152392House furnishing, Except Curtains and Draperies239Miscellaneous Fabricated Textile Products23Apparel And Other Finished Products Made From ...DManufacturingHOUSEHOLD FURNISHINGS, NEC
2912833Medicinal Chemicals and Botanical Products283Drugs28Chemicals And Allied ProductsDManufacturingMEDICINALS AND BOTANICALS
3713315Steel Wiredrawing and Steel Nails and Spikes331Steel Works, Blast Furnaces, And Rolling And F...33Primary Metal IndustriesDManufacturingSTEEL WIRE AND RELATED PRODUCTS
3723316Cold-Rolled Steel Sheet, Strip, and Bars331Steel Works, Blast Furnaces, And Rolling And F...33Primary Metal IndustriesDManufacturingCOLD FINISHING OF STEEL SHAPES
6465023Home furnishings502Furniture And Home Furnishings50Wholesale Trade-durable GoodsFWholesale TradeHOMEFURNISHINGS
7976289Services Allied With the Exchange of Securitie...628Services Allied With The Exchange Of Securities62Security And Commodity Brokers, Dealers, Excha...HFinance, Insurance, And Real EstateSECURITY AND COMMODITY SERVICE
8096514Operators of Dwellings Other Than Apartment Bu...651Real Estate Operators (except Developers) And ...65Real EstateHFinance, Insurance, And Real EstateDWELLING OPERATORS, EXCEPT APARTMENTS
\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 | --------------------------------------------------------------------------------