This Product Service Code (PSC) prediction service is a public implementation of machine learning models developed by researchers at the Naval Postgraduate School and the Air Force Installation Contracting Center. It is intended to improve personnel efficiency and consistency in selecting Product Service Codes, leading to better data for improving public procurement.


The Federal Government requires agencies to classify their acquisitions of products and services using the PSC taxonomy (48 C.F.R. §§ 4.1005). This taxonomy dates back to the 1970s, and is jointly maintained by the General Services Administration (GSA) and the Defense Logistics Agency. It utilizes a 4-digit coding scheme (e.g., J015), with more than 2,000 codes to achieve near-complete coverage over the product and service domain. While the PSC taxonomy is a government-created and government-maintained standard (c.f., industry standard) with nearly 50 years of history, it is not widely adopted outside of the government and interoperability with competing taxonomies such as the United Nations Standard Product and Service Code (UNSPSC) taxonomy is low.

Product and service categorization is good practice—accurate classification is valuable. Leading private-sector organizations use (and leverage) some form of hierarchical classification schema to identify and organize products and services (e.g., those purchased, those sold, those produced, those held in inventories) for marketing, analysis and decision-making. The government is no different. Agencies use PSCs to trace, segment and analyze expenditures; to advertise contract requirements; for financial auditing; for public reporting; and to inform program and policy decisions. Accurate PSC classification is critical to government transparency in the use of public funds and leads to more effective Federal spend/category management. That’s important!

This application performs hierarchical classification through the use of artificial neural networks, specifically character-level convolution neural networks. Aritifical neural networks seek to mimic certain biological processes (those that occur naturally in our brains) to process information and perform tasks, such as prediction and classification.


This is not a U.S. Government website. The appearance of hyperlinks on this site does not constitute endorsement by the Naval Postgraduate School, the Air Force Installation Contracting Center or the U.S. Department of Defense. Further, mention of any specific commercial products, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government. Any views and opinions expressed herein should not be assumed to reflect those of the United States Government.

Privacy Notice

This site only collects information on its visitors as is needed to provide the information, services, and/or assistance that are requested. Collected information includes information on vistors sent to the site by web browsers, such as internet protocol addresses, the date and time that site resources are requested, the content of queries, browser type and referrer information. Collected information is used in aggregate to help maintain and improve the site (e.g., to determine the number of visitors to different sections of the site, to ensure the site is working properly, to make the site more accessible and more useful to vistors). You may opt out of information collection by not using the site.


This site relies on several first and third-party libraries. They party together. Thanks for the CSS animations, Animate.css (MIT). Thanks for the CSS framework, Bulma (MIT). Thanks for the SVG icons, Feather (MIT). Thanks for the SVG icons, Font Awesome (CC BY 4.0). Thanks for the lightweight, idiomatic and composable router for building Go HTTP services, chi (MIT). Thanks for minifying web formats, Minify (MIT). Thanks for validating documents against JSON Schema, gojsonschema (Apache 2.0). Thanks for pretty printing things, go-spew (ISC). Thanks for the Go SQLite3 driver, go-sqlite3 (MIT). Thanks for the globally unique identifiers, xid (MIT). Thanks for the machine learning framework, TensorFlow (Apache 2.0).

Copyright and related rights in this work are waived under CC0 1.0 Universal Public Doman Dedication This work is in the public domain in the United States. Several components of this site are available under CC0 1.0 or the MIT License; these and can be found at github.com/wamuir.