Repository: antontarasenko/gpq Branch: master Commit: bfa7e1c7198c Files: 13 Total size: 363.9 KB Directory structure: gitextract_f9a20iw4/ ├── .gitignore ├── LICENSE ├── README.md ├── data/ │ ├── README.md │ └── contracts.raw.md ├── notebooks/ │ ├── contracts_for_vendors.ipynb │ └── contracts_intro.ipynb └── queries/ ├── most-popular-products.sql ├── search-in-descriptions.sql ├── smb-friendly-agencies.sql ├── studying-competitors.sql ├── studying-industry.sql └── what-agencies-buy.sql ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ .idea/ ================================================ FILE: LICENSE ================================================ Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: README.md ================================================ # Government Procurement Queries A collection of SQL queries that help - Selling to the government - Learning about competitors - Monitoring government spending The quickest way to find out what it means exactly: * [Introduction to US Federal Government Contracts](/notebooks/contracts_intro.ipynb) ## Usage ### Data * [`data`](/data) The data is collected from government websites and loaded to [Google BigQuery](https://cloud.google.com/bigquery/): Data | BigQuery dataset | Source --- | --- | --- US Federal Government contracts (2000–2016) | [gpqueries:contracts](https://bigquery.cloud.google.com/dataset/gpqueries:contracts) | [USASpending.gov](https://www.usaspending.gov/DownloadCenter/Pages/dataarchives.aspx) For the codebooks, see [`data`](/data). ### Queries * [`queries`](/queries) All queries are written for the BigQuery SQL dialect and stored in `.sql` files. Each file contains comments about its purpose and usage. You can execute queries with: - [BigQuery Web GUI](https://bigquery.cloud.google.com/dataset/) - [Google Datalab](https://datalab.cloud.google.com/) - [Google Cloud Platform SDK](https://cloud.google.com/sdk/): `bq` tool (see `bq help query` for details) All methods require a Google Account and a Google Cloud Project. Both are free. The first-time setup takes a couple of minutes. Web GUI is the easiest to start with. *See also:* [Accessing BigQuery](https://github.com/antontarasenko/smq#usage) ### Notebooks * [`notebooks`](/notebooks) Jupyter (IPython) notebooks with replication code and comments: * [Introduction to US Federal Government Contracts](/notebooks/contracts_intro.ipynb) * [Finding Government Clients in Procurement History](/notebooks/contracts_for_vendors.ipynb) ### Reports * [`reports`](/reports) Extracts that highlight particular findings, usually from notebooks. ## Coming soon - More federal coverage: federal grands, loans, and other assistance - Subnational coverage: states and large cities - Notebooks for business intelligence and finding government customers To receive updates, press "Watch" in the top right corner. ## Related - [Social Media Queries](https://github.com/antontarasenko/smq) - A collection of SQL queries to social media datasets. ## Contacts Anton Tarasenko * * ================================================ FILE: data/README.md ================================================ # Government Procurement Datasets * *The datasets are stored on BigQuery. See [README.md](../README.md) for details.* The files in this this directory describe the variables used in the datasets. The files are named after the datasets: `..md`. For example, to find the description of the original variables used in US federal government contracts, open [`contracts.raw.md`](contracts.raw.md). ================================================ FILE: data/contracts.raw.md ================================================ # US Federal Government Contracts: Raw Data The official codebook is available at USAspending.gov: * [USAspending.govDownloadsDataDictionary.pdf](https://www.usaspending.gov/DownloadCenter/Documents/USAspending.govDownloadsDataDictionary.pdf) Also, the list of variables (225) with comments (numbers indicate the column number of the variable): ## Transaction 1: unique_transaction_id 2: transaction_status 3: dollarsobligated # The net dollar amount that is obligated or de-obligated by this transaction. If the net is a de-obligation, the amount will be negative. 4: baseandexercisedoptionsvalue 5: baseandalloptionsvalue ## Buyer (agency) The agency name consists of two parts: 4-digit numerical identificator and text title. An example: "9700: DEPT OF DEFENSE". Text name may vary, but the number identifies an agency uniquely. 95: agencyid # A code for the governmental agency or bureau that executed or is otherwise responsible for the transaction. 96: piid # The unique identifier for each contract, agreement or order. 97: modnumber 98: transactionnumber 99: fiscal_year # The federal government fiscal year (starting October 1), determined by the “Signed Date” provided by FPDS. 100: idvagencyid 101: idvpiid 102: idvmodificationnumber 6: maj_agency_cat 7: mod_agency 8: maj_fund_agency_cat 9: contractingofficeagencyid 10: contractingofficeid 11: fundingrequestingagencyid 12: fundingrequestingofficeid 13: fundedbyforeignentity ## Dates Format is `MM/DD/YYYY`. For some fields, missing data is encoded as "01/01/1900". 14: signeddate 15: effectivedate 16: currentcompletiondate 17: ultimatecompletiondate 18: lastdatetoorder 225: last_modified_date ## Contract 19: contractactiontype # Types of awards include Purchase Orders (PO), Delivery Orders (DO), BPA Calls and Definitive Contracts. 20: reasonformodification 21: typeofcontractpricing 22: priceevaluationpercentdifference 23: subcontractplan 24: lettercontract 25: multiyearcontract 26: performancebasedservicecontract 27: majorprogramcode 28: contingencyhumanitarianpeacekeepingoperation 29: contractfinancing # Type of financing used to effect payment (progress payments, advance payments, etc.). 30: costorpricingdata 31: costaccountingstandardsclause 32: descriptionofcontractrequirement 33: purchasecardaspaymentmethod 34: numberofactions 35: nationalinterestactioncode 36: progsourceagency 37: progsourceaccount 38: progsourcesubacct 39: account_title 40: rec_flag 41: typeofidc 42: multipleorsingleawardidc 43: programacronym ## Vendor (winner, contractor, seller) 44: vendorname 45: vendoralternatename 46: vendorlegalorganizationname 47: vendordoingasbusinessname 48: divisionname 49: divisionnumberorofficecode 50: vendorenabled 51: vendorlocationdisableflag 52: ccrexception 53: streetaddress 54: streetaddress2 55: streetaddress3 56: city 57: state 58: zipcode 59: vendorcountrycode 60: vendor_state_code 61: vendor_cd 62: congressionaldistrict 63: vendorsitecode 64: vendoralternatesitecode 65: dunsnumber 66: parentdunsnumber 67: phoneno 68: faxno 69: registrationdate 70: renewaldate 71: mod_parent 72: locationcode # The code from the combined FIPS Pub. 10 and FIPS Pub. 55 that identifies the place where the work is being performed. 73: statecode ## Vendor's details 119: organizationaltype # "SOLE PROPRIETORSHIP" and other types 120: numberofemployees 121: annualrevenue 122: firm8aflag 123: hubzoneflag 124: sdbflag 125: issbacertifiedsmalldisadvantagedbusiness 126: shelteredworkshopflag 127: hbcuflag 128: educationalinstitutionflag 129: womenownedflag 130: veteranownedflag 131: srdvobflag 132: localgovernmentflag 133: minorityinstitutionflag 134: aiobflag 135: stategovernmentflag 136: federalgovernmentflag 137: minorityownedbusinessflag 138: apaobflag 139: tribalgovernmentflag 140: baobflag 141: naobflag 142: saaobflag 143: nonprofitorganizationflag 144: isothernotforprofitorganization 145: isforprofitorganization 146: isfoundation 147: haobflag 148: ishispanicservicinginstitution 149: emergingsmallbusinessflag 150: hospitalflag 151: contractingofficerbusinesssizedetermination 152: is1862landgrantcollege 153: is1890landgrantcollege 154: is1994landgrantcollege 155: isveterinarycollege 156: isveterinaryhospital 157: isprivateuniversityorcollege 158: isschoolofforestry 159: isstatecontrolledinstitutionofhigherlearning 160: isserviceprovider 161: receivescontracts 162: receivesgrants 163: receivescontractsandgrants 164: isairportauthority 165: iscouncilofgovernments 166: ishousingauthoritiespublicortribal 167: isinterstateentity 168: isplanningcommission 169: isportauthority 170: istransitauthority 171: issubchapterscorporation 172: islimitedliabilitycorporation 173: isforeignownedandlocated 174: isarchitectureandengineering 175: isdotcertifieddisadvantagedbusinessenterprise 176: iscitylocalgovernment 177: iscommunitydevelopedcorporationownedfirm 178: iscommunitydevelopmentcorporation 179: isconstructionfirm 180: ismanufacturerofgoods 181: iscorporateentitynottaxexempt 182: iscountylocalgovernment 183: isdomesticshelter 184: isfederalgovernmentagency 185: isfederallyfundedresearchanddevelopmentcorp 186: isforeigngovernment 187: isindiantribe 188: isintermunicipallocalgovernment 189: isinternationalorganization 190: islaborsurplusareafirm 191: islocalgovernmentowned 192: ismunicipalitylocalgovernment 193: isnativehawaiianownedorganizationorfirm 194: isotherbusinessororganization 195: isotherminorityowned 196: ispartnershiporlimitedliabilitypartnership 197: isschooldistrictlocalgovernment 198: issmallagriculturalcooperative 199: issoleproprietorship 200: istownshiplocalgovernment 201: istriballyownedfirm 202: istribalcollege 203: isalaskannativeownedcorporationorfirm 204: iscorporateentitytaxexempt 205: iswomenownedsmallbusiness 206: isecondisadvwomenownedsmallbusiness 207: isjointventurewomenownedsmallbusiness 208: isjointventureecondisadvwomenownedsmallbusiness 209: walshhealyact 210: servicecontractact 211: davisbaconact 212: clingercohenact 213: otherstatutoryauthority ## Vendor's contacts 214: prime_awardee_executive1 215: prime_awardee_executive1_compensation 216: prime_awardee_executive2 217: prime_awardee_executive2_compensation 218: prime_awardee_executive3 219: prime_awardee_executive3_compensation 220: prime_awardee_executive4 221: prime_awardee_executive4_compensation 222: prime_awardee_executive5 223: prime_awardee_executive5_compensation 224: interagencycontractingauthority ## Place of performance 74: PlaceofPerformanceCity 75: pop_state_code # A two-part field "CA: CALIFORNIA". Data entry errors like "CA: MONTANA" happen. 76: placeofperformancecountrycode 77: placeofperformancezipcode 78: pop_cd 79: placeofperformancecongressionaldistrict ## Product 80: psc_cat 81: productorservicecode # Encoded in two parts like "F099: OTHER NAT RES MGMT & CONSERV". Use the 4-symbol part for unique identification. 82: systemequipmentcode 83: claimantprogramcode 84: principalnaicscode # The industry in which the contractor does business. Two-part identification: "115310: SUPPORT ACTIVITIES FOR FORESTRY", where the number refers to NAICS classification. Mostly 6-digit codes. 85: informationtechnologycommercialitemcategory 86: gfe_gfp 87: useofepadesignatedproducts 88: recoveredmaterialclauses 89: seatransportation 90: contractbundling 91: consolidatedcontract 92: countryoforigin 93: placeofmanufacture 94: manufacturingorganizationtype ## RFP, auction, bids 103: solicitationid 104: extentcompeted 105: reasonnotcompeted 106: numberofoffersreceived 107: commercialitemacquisitionprocedures 108: commercialitemtestprogram 109: smallbusinesscompetitivenessdemonstrationprogram 110: a76action 111: competitiveprocedures 112: solicitationprocedures 113: typeofsetaside 114: localareasetaside 115: evaluatedpreference 116: fedbizopps 117: research 118: statutoryexceptiontofairopportunity ================================================ FILE: notebooks/contracts_for_vendors.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Finding Government Clients in Procurement History" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* *This notebook is part of the [Government Procurement Queries](https://github.com/antontarasenko/gpq) project*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finding clients among hundreds of government agencies may be burdensome. The history of government purchases helps narrow search to several agencies that have already bought goods and services like yours. I show how to do it with BigQuery.\n", "\n", "You can re-run these examples with your parameters. Practical results often require specifying your company's industry, location, and size in the `where` clause." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Note:* If you haven't read the [previous part](http://nbviewer.jupyter.org/github/antontarasenko/gpq/blob/master/notebooks/contracts_intro.ipynb) of this series, I strongly recommend starting there. It describes how to re-run the code with your parameters." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import gcp.bigquery as bq\n", "import matplotlib.pyplot as mpl" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Government Agencies" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Depending on the amount, agencies buy immediately or issue solicitations. For solicitations, the bidder may secure large sales with a single contract:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The Top 10 most lucrative contracts" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
agency_idagency_namefirst_signeddatesolicitationidsolicitation_offerssolicitation_transactionssolicitation_sum_dollarsobligatedvendors
9700DEPT OF DEFENSE11/23/2015H9400207R00072.0213835417842914.8\"HEALTH NET FEDERAL SERVICES, INC\",\"HUMANA MILITARY HEALTHCARE SERVICES, INC.\",\"UNITEDHEALTH MILITARY & VETERANS SERVICES, LLC\",\"HEALTH NET FEDERAL SERVICES, LLC\"
8900ENERGY, DEPARTMENT OF02/25/2016DE-RP52-06NA273443.060114123504697.0LAWRENCE LIVERMORE NATIONAL SECURITY LIMITED LIABILITY COMPANY
9700DEPT OF DEFENSE01/20/2016W58RGZ10R00101.030610394971573.2SIKORSKY AIRCRAFT CORPORATION
9700DEPT OF DEFENSE02/23/2007M6785407R500010.0121010256596597.4OSHKOSH TRUCK CORPORATION (0270),INTERNATIONAL MILITARY AND GOVERMENT LIMITED LIABILITY COMPANY,STEWART AND STEVENSON TACTICAL VEHICLE SYSTEMS LIMITED PARTNERSHIP,PROTECTED VEHICLES INCORPORATED,FORCE PROTECTION INDUSTRIES INCORPORATED,GENERAL DYNAMICS LAND SYSTEMS CANADA CORPORATION,BAE SYSTEMS LAND AND ARMAMENTS INCORPORATED (3796)
9700DEPT OF DEFENSE06/01/2006N0002404R22051.0106710000633404.7NORTHROP GRUMMAN SHIP SYSTEMS INCORPORATED,HUNTINGTON INGALLS INCORPORATED,\"NORTHROP GRUMMAN SHIP SYSTEMS, INC.\"
9700DEPT OF DEFENSE10/30/2015N0002408R21033.01618402203523.97BECHTEL MARINE PROPULSION CORPORATION
9700DEPT OF DEFENSE01/28/2016N0002410R23012.04797927626649.0\"AUSTAL USA, LLC\",LOCKHEED MARTIN CORPORATION
8900ENERGY, DEPARTMENT OF04/15/2009DE-RP11-08PN380023.01337510173633.38BECHTEL MARINE PROPULSION CORPORATION
9700DEPT OF DEFENSE01/29/2013N0001908R00561.02177221293298.34MCDONNELL DOUGLAS CORPORATION
8900ENERGY, DEPARTMENT OF10/27/2015DE-RP02-06CH113571.07656857171982.04\"UCHICAGO ARGONNE, LLC\",UCHICAGO ARGONNE LIMITED LIABILITY COMPANY
\n", "
(rows: 10, time: 3.1s, 4GB processed, job: job_BoXqJSlrql_LucbV0JuuRKI9ZEA)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_BoXqJSlrql_LucbV0JuuRKI9ZEA" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " substr(agencyid, 1, 4) agency_id,\n", " first(substr(agencyid, 7)) agency_name,\n", " first(signeddate) first_signeddate,\n", " solicitationid,\n", " avg(numberofoffersreceived) solicitation_offers, # expect all `numberofoffersreceived` to be the same within unique `solicitationid`\n", " count(*) solicitation_transactions,\n", " sum(dollarsobligated) solicitation_sum_dollarsobligated,\n", " group_concat(unique(vendorname)) vendors,\n", "from\n", " gpqueries:contracts.raw\n", "where\n", " length(solicitationid) > 5\n", "group by\n", " agency_id, solicitationid\n", "order by\n", " solicitation_sum_dollarsobligated desc\n", "limit\n", " 10" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But first you need to win a contract.\n", "\n", "One important consideration is competition. As a seller, you'd like fewer competitors. The data allows finding the agencies that issue solicitations attracting fewer offers.\n", "\n", "Now, few offers per solicitation may imply several things:\n", "\n", "- Harsh contract requirements\n", "- Unique goods and services requested\n", "- The agency does not promote its solicitations\n", "\n", "These implications make some agencies more attractive for contractors. Let's find such agencies." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Agencies with less competition at the solicitation stage" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
agency_idagency_nameagency_sum_dollarsobligatedavg_solicitation_offersmedian_solicitation_offerscount_solicitationssum_solicitation_offers
6100CONSUMER PRODUCT SAFETY COMMISSION66289886.111.304347826091161210
9568BROADCASTING BOARD OF GOVERNORS167934458.851.744565217391184321
7523CENTERS FOR DISEASE CONTROL AND PREVENTION31842073031.71.76565777645133375892
12G2FOOD SAFETY AND INSPECTION SERVICE217063936.831.856209150331153284
4900NATIONAL SCIENCE FOUNDATION631997416.941.904411764711136259
4740PUBLIC BUILDINGS SERVICE16321326527.92.061773067981773815954
7526HEALTH RESOURCES AND SERVICES ADMINISTRATION303363614.762.10439560441182383
1524DRUG ENFORCEMENT ADMINISTRATION443825648.972.107142857141140295
3100NUCLEAR REGULATORY COMMISSION553886185.32.152454780361387833
1450BUREAU OF INDIAN AFFAIRS498829922.282.264181523526171397
7524FOOD AND DRUG ADMINISTRATION1143487095.132.357827476041313738
12H2AGRICULTURAL RESEARCH SERVICE268090574.12.3864168618314271019
7527INDIAN HEALTH SERVICE1228071094.82.4525252525314951214
7009U.S. SECRET SERVICE374036083.192.478481012661395979
7008U.S. COAST GUARD4107719713.922.491966759118054498
7555PROGRAM SUPPORT CENTER2343596436.962.515421355
2050INTERNAL REVENUE SERVICE1382296420.742.505714285711350877
6940NATIONAL HIGHWAY TRAFFIC SAFETY ADMINISTRATION157240402.482.536363636362110279
2800SOCIAL SECURITY ADMINISTRATION3828737579.482.55183515776115533963
1443NATIONAL PARK SERVICE2041876324.52.60696095076223566142
6901IMMEDIATE OFFICE OF THE SECRETARY OF TRANSPORTATION188927178.882.615384615381260680
1434GEOLOGICAL SURVEY458412175.682.6202290076325241373
4732FEDERAL ACQUISITION SERVICE12768846013.72.664648910412413011005
1435BUREAU OF OCEAN ENERGY MANAGEMENT141183058.282.666666666672138368
5000SECURITIES AND EXCHANGE COMMISSION605144310.352.689855072462345928
\n", "
(rows: 78, time: 2.5s, 2GB processed, job: job_pk9vPZcYky3wvavy7NQn8YsRKBg)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_pk9vPZcYky3wvavy7NQn8YsRKBg" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " agency_id, agency_name,\n", " # the size of an opportunity\n", " sum(solicitation_sum_dollarsobligated) agency_sum_dollarsobligated,\n", " # summarizing the number of offers\n", " avg(solicitation_offers) avg_solicitation_offers,\n", " nth(11, quantiles(solicitation_offers, 21)) median_solicitation_offers,\n", " count(solicitation_offers) count_solicitations,\n", " sum(solicitation_offers) sum_solicitation_offers,\n", "from (\n", " select\n", " substr(agencyid, 1, 4) agency_id,\n", " first(substr(agencyid, 7)) agency_name,\n", " solicitationid,\n", " first(numberofoffersreceived) solicitation_offers, # expect all `numberofoffersreceived` to be the same within unique `solicitationid`\n", " count(*) solicitation_transactions,\n", " sum(dollarsobligated) solicitation_sum_dollarsobligated,\n", " from\n", " gpqueries:contracts.raw\n", " where\n", " length(solicitationid) > 5\n", " group by\n", " agency_id, solicitationid\n", ")\n", "where\n", " # excluding solicitations that ended up in small sales\n", " solicitation_sum_dollarsobligated > 100000\n", "group by\n", " agency_id, agency_name\n", "having\n", " # excluding agencies that bought a little in your product category\n", " agency_sum_dollarsobligated > 1000000 and\n", " count_solicitations > 100\n", "order by\n", " avg_solicitation_offers asc" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The variable `avg_solicitation_offers` is the mean number of offers received by an agency for all solicitations issued since 2000. It varies in the interval from 1 to 10, so solicitations issued by certain agencies are indeed easier to win than others.\n", "\n", "Tips to make these results more relevant for your business:\n", "\n", "- Specify your industry with variable `principalnaicscode`\n", "- Specify your product or service with `productorservicecode`\n", "- Specify your geography\n", "- Narrow the time range to recent contracts (variable `fiscal_year`)\n", "\n", "See the variables in [`data/contracts.raw.md`](https://github.com/antontarasenko/gpq/blob/master/data/contracts.raw.md)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Agencies buying from your industry" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can find which agency buys most from the industry you work in. I use IT for example:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
agency_idagency_namesum_dollarsobligated
9700DEPT OF DEFENSE85953216539.9
8000NATIONAL AERONAUTICS AND SPACE ADMINISTRATION6630191673.9
3600VETERANS AFFAIRS, DEPARTMENT OF4543307804.78
4735FEDERAL ACQUISITION SERVICE4094123949.54
6920FEDERAL AVIATION ADMINISTRATION3062695172.33
7530CENTERS FOR MEDICARE AND MEDICAID SERVICES2475477427.69
7014U.S. CUSTOMS AND BORDER PROTECTION2315550083.17
1344PATENT AND TRADEMARK OFFICE2229125129.98
1900STATE, DEPARTMENT OF1986148969.6
2050INTERNAL REVENUE SERVICE1753405642.9
\n", "
(rows: 10, time: 0.5s, cached, job: job_f0HB89zbdddRrDtLrUSDzcyEPAA)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_f0HB89zbdddRrDtLrUSDzcyEPAA" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " substr(agencyid, 1, 4) agency_id,\n", " first(substr(agencyid, 7)) agency_name,\n", " sum(dollarsobligated) sum_dollarsobligated,\n", "from\n", " gpqueries:contracts.raw\n", "where\n", " substr(principalnaicscode, 1, 2) = '51' # NAICS code for \"Information\"\n", "group by\n", " agency_id\n", "order by\n", " sum_dollarsobligated desc\n", "limit\n", " 10" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All agencies buy IT and consulting, so you can use other factors to choose the leads. But suppliers in other industries have to find the agency that \"specializes\" in buying their type of products. This is where the above query becomes useful." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Timing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Time is the second important factor to explore.\n", "\n", "One famous case is the September hike in government purchases:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Government purchases hike in September" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%%sql --module gpq\n", "\n", "define query amount_by_month\n", "select\n", " substr(signeddate, 1, 2) month,\n", " count(*) transactions,\n", " sum(dollarsobligated) sum_dollarsobligated,\n", "from\n", " gpqueries:contracts.raw\n", "group by\n", " month\n", "order by\n", " month asc" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeMAAAFzCAYAAAANEWF7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1YlHWi//HPCGSYD6nAaKzRRqcoF9PU1DIUUVFR8IGA\nSq3ICHvcMnO18AFN20yrrWP51NHTE5WhpdRWcs5qedas3VpqV/cqN0UxB4pRUUoUvr8//DkrKs6Q\nI18e3q/r8rqYme985zMzt3xm7vvmvh3GGCMAAGBNM9sBAABo6ihjAAAso4wBALCMMgYAwDLKGAAA\nyyhjAAAso4wBqKioSFFRUaqqqrId5bSioqK0a9cu2zHOWmN5HvA/yhh1Ii8vTykpKerWrZuuv/56\npaam6rXXXrMdy6rnn39ejzzyiO0YHg6Hw3aEGtXnbDUZN26cVq1aVe26hvg8UDcoY5xzL730kubN\nm6c777xTmzZt0qZNmzRr1ix98cUXOnLkSJ3lqKysrLPHqo/q67deXzSWYxM1lucB/6OMcU4dPHhQ\nzz33nGbOnKlBgwapRYsWko6trps/f76CgoI84x555BH16dNHAwYM0AsvvCBJqqioUM+ePfXtt996\n5iwtLdXVV1+t0tJSSdL//u//auTIkerZs6duuukm/fOf//SMHTBggJYuXarExER169ZNlZWVGjBg\ngF566SUlJiaqZ8+eeuihh1RRUSFJ2rJli/r166dly5apT58+uuGGG7R+/Xpt2LBB8fHx6tWrl5Ys\nWeKZ3xijJUuWaNCgQerdu7cefPBBHThwQNK/V/2uWbNGsbGx6tOnj1588UVJ0scff6wXX3xR7733\nnrp166aRI0ee9vUbMGCAlixZooSEBPXq1UvTpk3zZF29erVuvvnmauNPXA06depUzZw5UxkZGerW\nrZs+/fRTHT58WE888YQGDBignj176pZbbvHMZ4zRu+++e0pWSSooKFBaWpp69uypG264QbNnz9bR\no0c9t8+dO1fXXXedunfvrsTERM/7VVFRod///veKjY1V3759NXPmTM/jud1uZWZmqmfPnurVq5fG\njh17xmXpT3/6kwYOHKg+ffroySeflCQdOXJEvXr10jfffFNt+ejatavcbvcpc6xevVo33XST5s2b\np549e2rw4MH661//qtzcXPXv31/XX3+91qxZ4xlf03J54uv/+9//Xtdee60GDhyojz/+WJL09NNP\n6y9/+Ytmz56ta665RnPmzPHcb9OmTYqPj9e1116r7OzsMz5nNCHGoqlTp5o+ffqY4cOHex372Wef\nmVGjRpmrrrrKfPDBB57rt27dalJTU83w4cNNYmKiycvLO5eRUUsbN240nTt3NpWVlWccN3nyZHP3\n3Xeb8vJys3v3bjN48GCzatUqY4wx06ZNM08//bRn7CuvvGImTJhgjDHm73//u+nTp48pKCgwVVVV\nZvXq1SY2NtZUVFQYY4yJjY01I0eONHv37jWHDx/2XHfjjTeakpISs3//fjN06FCTk5NjjDHm008/\nNVdddZVZtGiROXr0qHnzzTdNr169zEMPPWTKy8vNN998Y7p06WJ2795tjDFmxYoVJjU11bhcLlNR\nUWGmT59uHnroIWOMMbt37zZXXHGFycrKMocPHzZbt241v/nNb8z27duNMcY899xzZvLkyWd8XWJj\nY83w4cPN3r17zf79+01aWpp55plnjDHG5Obmmptvvrna+KioKFNYWGiMMeZ3v/ud6dGjh/niiy+M\nMcYcPnzYzJw504wbN84UFxebqqoq88UXX5iKigqvWb/++mvzt7/9zVRVVZmioiIzbNgws3LlSmOM\nMR9//LEZPXq0KSsrM8YYs337dlNSUmKMMebxxx83EydONAcOHDCHDh0ymZmZZuHChcYYYxYsWGBm\nzJhhKisrzdGjR83nn39e4+twxRVXmPHjx5sDBw6Y77//3gwePNi89dZbxhhjZs2aZZ566inP2JUr\nV5rMzMzTzpObm2s6d+5sVq9ebaqqqszTTz9tYmJiTHZ2tqmoqDCffPKJ6datmykvLzfGnHm5PD7X\nW2+9Zaqqqsxrr71m+vbt63mssWPHejKe+DzuuusuU1ZWZvbs2WN69+5tPv744xqfN5oOq9+MR48e\nreXLl/s09qKLLtITTzyhESNGVLs+ODhYTz75pNauXaulS5dq7ty5Onjw4LmIi1/A7XbrwgsvVLNm\n/17Ujn/Duvrqq/X555+rqqpK7733niZNmqTg4GCFh4crPT1d77zzjiRp+PDhysvL89x/3bp1nuXg\nzTffVFpamqKjo+VwODRy5Eidd955+tvf/uYZP378eDmdTp133nnVrgsJCVHr1q0VGxurrVu3em4L\nCgpSZmamAgICNGzYMO3bt0+33XabgoODddlllykyMlLbtm2TJL3xxhv67W9/q7CwMAUFBemee+7R\nBx984Fkl7HA4dO+99+q8885TVFSUoqKiPPf11bhx4+R0OtW6dWtlZmZWey1OZk5aDRoXF6euXbt6\nnldubq4ee+wxhYaGyuFwqGvXrp61E2fK2rlzZ3Xp0kUOh0MXXXSRUlJS9Nlnn0mSAgMDdejQIW3f\nvl3GGF166aUKCQmRJL311luaOnWqWrVqpRYtWigjI0Pr1q3z3K+kpES7d+9WQECAunfvfsbXISMj\nQ61atVKHDh106623el6HpKQkz5yS9M477ygpKanGecLDwzVy5Eg5HA4NGzZMxcXFuueeexQUFKTr\nr79eQUFB2rlzp9fl8vhcycnJcjgcGjVqlEpKSvTjjz+e8XncddddatmypTp27KhevXpVW/bQdAXa\nfPAePXqoqKio2nW7du3SrFmz5Ha7FRwcrNmzZ+vXv/61LrroIkmn7gARERHh+TksLEzt27dXaWmp\nWrZsee6fALy68MILtW/fPlVVVXkKOScnR5LUv39/GWPkdrtVWVnpeY+lYx++XC6XJKlXr176+eef\nVVBQoPbt22vbtm0aOHCgJGnPnj1655139Morr0g6VkZHjx5VcXGxZ64OHTqckqt9+/aen4ODg1VS\nUlIt8/Hl7Pzzzz9l/Pnnn6/y8nLP4997772e52aMUWBgoH744QfP+OPFdPJ9feV0Oj0/h4eHV3tu\n3pz43N1utyoqKtSpU6cax9eUdceOHXriiSf09ddf6+eff1ZlZaU6d+4sSerdu7fGjh2rWbNm6fvv\nv9egQYM0ZcoUHT58WD/99JPGjBnjmbOqqsrzgeGOO+7Q888/r/T0dDkcDt14443KyMjw6bmc+Dpc\nffXVOv/887VlyxaFhIRo165dGjBggM/PUZLatWt3yvP2tlzWNFd5eXm15eVMjx8cHFzr5QGNk9Uy\nPp2srCxlZ2fr4osvVkFBgWbOnKmVK1f6dN+CggIdPXpUF1988TlOCV9169ZNQUFBys/P16BBg6rd\ndvyXctu2bRUYGKiioiJFRkZKOlZyx0uoWbNmGjp0qNatW6eQkBDFxsZ6tj136NBBmZmZuuuuu+rw\nWf1bx44dNXfuXHXr1u2U207+oPlL7d27t9qcYWFhko79Iv/pp588t534geK4Ez+8tm3bVs2bN1dh\nYaGuuOKKWmWYOXOmrrrqKj399NMKDg7WypUr9eGHH3puHzt2rMaOHavS0lI98MADWr58ue677z4F\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df = bq.Query(gpq.amount_by_month).to_dataframe()\n", "plt = df.set_index('month')['sum_dollarsobligated'].plot(kind='bar', title='Government purchases by month')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "September is the last month of a fiscal year. In September, agencies spend the remainder of their annual budget to avoid further budget cuts by the Treasury. It's worth exploring this opportunity in advance because late appearances leave no time for mandatory solicitation procedures." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Seasonal sales in your industry" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%%sql --module gpq\n", "\n", "define query seasonal_sales\n", "select\n", " substr(signeddate, 1, 2) month,\n", " count(*) transactions,\n", " sum(dollarsobligated) sum_dollarsobligated,\n", "from\n", " gpqueries:contracts.raw\n", "where\n", " substr(principalnaicscode, 1, 2) = '11' # NAICS code for agriculture\n", " # principalnaicscode contains 'software' # simpler query\n", "group by\n", " month\n", "order by\n", " month asc\n", "ignore case" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeMAAAFzCAYAAAANEWF7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtcVHXi//E3AiZIeImL5XcfmrZGX1dNBe9JgCiCiJqK\npaTrFmlqN1NXyruVZWatPsxr2z62vtquqZtiabKFm1uRmy61X91NS0mNiwKKkHL7/P7w53zF22CN\nfAZ5PR8PHw9nzpnPec+ZYd4z55yZ42GMMQIAANbUsx0AAIC6jjIGAMAyyhgAAMsoYwAALKOMAQCw\njDIGAMAyyhiw7OjRowoJCVFlZaXtKNfsxIkTGjlypDp37qwXX3zxui9vxYoVmjFjxs8eJyQkRN9/\n/70LElVPUlKS1q9fX2PLu5za/DyrC7xsB8D1l5qaqj/84Q/65ptv5Ovrq//6r/9SQkKCHnjgAdvR\nrFm6dKmysrL00ksv2Y4iSfLw8LAd4Sd55513dMstt+gf//hHjSzvkUcecck4F67v6dOnq1mzZnr8\n8cddMrY7q63Ps7qAT8Y3uDfeeEMvvPCCHn74Ye3atUu7du3SnDlztGfPHpWVldVYjoqKihpblju6\nUT+NHDt2TK1bt66RZbnyOeTK3zqq689tuAZlfAM7ffq0lixZotmzZys6Olq+vr6Szm2iW7hwoby9\nvR3zTZ06Vd27d1dkZKRef/11SVJpaanCwsJ04MABx5j5+fnq0KGD8vPzJUkfffSRBg0apLCwMN1/\n//3697//7Zg3MjJSq1at0sCBA9WxY0dVVFQoMjJSb7zxhgYOHKiwsDA99dRTKi0tlSRlZGQoPDxc\nq1evVvfu3XXPPfdox44dSk9PV79+/dS1a1etXLnSMb4xRitXrlR0dLS6deumJ598UqdOnZL0f5vk\nNm3apIiICHXv3l3Lly+XJP3tb3/T8uXLtXXrVnXs2FGDBg267PqLjIzUypUrFRcXp65duyolJcWR\ndePGjZdsWbhw0+f06dM1e/ZsJScnq2PHjvr888919uxZLViwQJGRkQoLC9PIkSMd4xlj9N57712S\nVZIyMzM1YsQIhYWF6Z577tG8efNUXl7umP7888+rR48e6ty5swYOHOh4vEpLS/Xiiy8qIiJCvXr1\n0uzZsx3LKygo0Lhx4xQWFqauXbtq1KhRV3weffnllxo6dKjCwsI0bNgw7dmzx3EfN23apFWrVqlT\np0769NNPL7ltenq6Bg8erM6dOysiIkJLly6tMn3Tpk2KjIxUt27dtGzZMkVGRjrGWbp0qR577DFN\nmTJFoaGh2rhxo5YuXaopU6Y4br97927HuomIiNCmTZskXbpZ+HKPlyT96U9/0ubNm7V69Wp16tRJ\n48ePv+SxPH9fX3vtNUn/9zxdtWqVevXqpZSUFJ06dUrjxo1T9+7d1bVrV40bN045OTlXXKcXOnv2\nrKZNm6YuXbooLi5Oq1evVnh4uGP6wYMHlZSUpLCwMMXHx+uvf/2rY9qV/nalc28AX3zxRXXr1k3R\n0dH6+OOPqyx3w4YN6tOnjzp16qQ+ffpoy5Yt1cqL68RYNH36dNO9e3czYMAAp/MePXrUjB492sTH\nx5ukpCSTnZ1dAwlrt507d5q2bduaioqKq843ZcoU8+ijj5qSkhJz5MgR07dvX7N+/XpjjDEpKSlm\n8eLFjnnfeust89BDDxljjPnXv/5lunfvbjIzM01lZaXZuHGjiYiIMKWlpcYYYyIiIsygQYNMdna2\nOXv2rOO6YcOGmby8PHPy5EnTv39/s27dOmOMMZ9//rn57//+b7Ns2TJTXl5u/vSnP5muXbuap556\nypSUlJhvvvnGtG/f3hw5csQYY8ybb75pEhMTTU5OjiktLTUzZ840Tz31lDHGmCNHjpg777zTzJgx\nw5w9e9bs27fP/OpXvzIHDx40xhizZMkSM2XKlKuul4iICDNgwACTnZ1tTp48aUaMGGFeffVVY4wx\nGzZsMA888ECV+UNCQkxWVpYxxpjf/va3JjQ01OzZs8cYY8zZs2fN7NmzTVJSksnNzTWVlZVmz549\nprS01GnWr7/+2vzzn/80lZWV5ujRoyY2Ntb84Q9/MMYY87e//c0MGTLEFBUVGWOMOXjwoMnLyzPG\nGPPcc8+Z8ePHm1OnTpni4mIzbtw488orrxhjjFm0aJGZNWuWqaioMOXl5Wb37t2XXQeFhYUmLCzM\nvPfee6aiosJs2bLFhIWFmcLCQsf9PL9OLicjI8P85z//McYY8+9//9v07NnT7NixwxhjzDfffGPu\nvvtu8+WXX5qysjKzYMEC07ZtW/P3v//d8Ri1bdvWpKWlGWOMOXPmTJXH7ciRI6Zjx44mNTXVlJeX\nm8LCQrNv3z5jjDGjRo0yf/7znx05Ln687rzzziqP1cX34cLH8uJ5zj9PFy1aZEpLS83Zs2dNQUGB\n2b59uzl79qwpLi42jz/+uHn00Ucdt784z4UWLlxoRo0aZYqKikx2draJj4834eHhxhhjysrKTHR0\ntFmxYoUpKyszn376qenYsaP57rvvjDFX/9v9n//5H9O/f3/H8zcpKcmEhISYiooKU1JSYjp16mQO\nHTpkjDEmLy/PHDhw4IqPI64/q5+MhwwZojVr1lRr3hdffFGDBw/We++9pwkTJmjRokXXOV3tV1BQ\noMaNG6tevf97mM9/iujQoYN2796tyspKbd26VZMnT5aPj4+aN2+usWPH6i9/+YskacCAAUpNTXXc\nfsuWLYqPj5d07lPFiBEj1K5dO3l4eGjQoEGqX7++/vnPfzrmf/DBBxUcHKz69etXuS4gIED+/v6K\niIjQvn37HNO8vb01btw4eXp6KjY2VoWFhRozZox8fHx0xx13qHXr1tq/f7+kc/srn3jiCQUFBcnb\n21sTJkzQtm3bHJuEPTw8NHHiRNWvX18hISEKCQlx3La6kpKSFBwcLH9/f40bN67KuriYuWjTZ1RU\nlO6++27H/dqwYYOeffZZBQYGysPDQ3fffbdj68TVsrZt21bt27eXh4eHbrvtNg0fPlxffPGFJMnL\ny0vFxcU6ePCgjDFq1aqVAgICJEl//vOfNX36dN18883y9fVVcnKy49OPl5eX8vLydOTIEXl6eqpz\n586XvU8ff/yxWrZsqfj4eNWrV09xcXFq1aqVPvroo2qtv7CwMP3yl7+UJLVp00axsbGO7Nu2bVNk\nZKQ6duwoLy+vy+6z7dixoyIjIyVJN910U5Vpqamp6tmzp2JjY+Xp6alGjRopJCSkWrmcufixvFi9\nevU0adIkeXt7q379+mrcuLGio6NVv359+fr66pFHHtHu3burtawPPvhA48ePl5+fn4KDg5WUlOSY\ntnfvXpWUlCg5OVleXl7q1q2bIiIitGXLFqd/ux988IFGjx7teP5evL/d09NT//nPf3T27FkFBATU\n2O4GXJ7VA7hCQ0N19OjRKtd9//33mjNnjgoKCuTj46N58+bp9ttv18GDB5WSkiJJ6tq1qx599FEb\nkWuVxo0bq7CwUJWVlY5CXrdunSTp3nvvlTFGBQUFqqio0G233ea43W233ebYxNa1a1edOXNGmZmZ\nuuWWW7R//3716dNH0rn9hX/5y1/01ltvSTr3AlZeXq7c3FzHWM2aNbsk1y233OL4v4+Pj/Ly8qpk\nPn+QSYMGDS6Zv0GDBiopKXEsf+LEiY77ZoyRl5eXjh8/7pj/fDFdfNvqCg4Odvy/efPmVe6bMxfe\n94KCApWWluoXv/jFFee/UtZDhw5pwYIF+vrrr3XmzBlVVFSobdu2kqRu3bpp1KhRmjNnjn744QdF\nR0dr2rRpOnv2rH788Ufdd999jjErKysdJfOb3/xGS5cu1dixY+Xh4aFhw4YpOTn5kky5ublVnhtS\n1eeHM5mZmXr55Zf1zTffqKysTGVlZYqJiXGMfeutt1a5z40bN65y+8s9f8774Ycfrro+r6emTZs6\n3khJ0pkzZ/T888/rk08+0alTp2SMUUlJiYwxTg+ays3NrfI8u3CdXLyOpHPrPzc3VwUFBSovL7/i\n325ubm6V9XfhfD4+Plq8eLHWrFmjlJQUde7cWVOnTlWrVq2ucU3AVdxun/GMGTM0c+ZMvfvuu5o6\ndapmz54t6dw+nO3bt0uStm/frpKSEp08edJiUvfXsWNHeXt7Ky0t7ZJp51+UmzRpIi8vrypvio4d\nO+Z4cahXr5769++vLVu2KDU1VREREY59z82aNdO4ceOUkZGhjIwMffHFF9qzZ49iY2Nr4N6de9Fa\ntWpVleXv3btXQUFBLltGdna24/9Hjx51jO3j46Mff/zRMe3CNxTnXfgi3KRJE910003Kysq65gyz\nZ89Wq1at9OGHH2r37t164oknqnxyGzVqlDZs2KDU1FR99913WrNmjZo0aSIfHx9t2bLFsX52797t\nOOq5YcOGmjZtmnbs2KHXX39db775pj777LNLlh0UFHTJG+YLnx/OTJ48WX369NHOnTu1e/duJSYm\nOrIHBgZWWb9nzpxRYWFhldtfrchuvfXWK65PX19fnTlzxnH5co/P1Th7fC/O9cYbb+jQoUNav369\ndu/erbfffltS9Q4UCwoKqvLm5ocffqgy7cLL0rn1HxQU5PRv9+L1e+zYsSrj9OzZU2+88YZ27dql\n22+/3SVfGcNP51ZlXFJSoj179ujxxx/XoEGDNHPmTJ04cUKSNHXqVGVkZGjIkCHavXu3goOD5enp\naTmxe7v55ps1YcIEzZkzR9u2bVNxcbGMMdq3b5/jhapevXqKiYnRq6++quLiYh09elRvvvmmEhIS\nHOMMGDBAW7du1ebNmzVgwADH9cOHD9e6deuUmZkp6dzjl56efs2fPn+qxMREvfLKK44Xmfz8/Cpv\nPK72QhgQEKCjR486fbF8++23lZOTo8LCQq1YscLxRiMkJEQHDhzQ/v37VVpaqqVLl161ODw8PHTf\nffdpwYIFys3NVWVlpfbu3es4ov1qOYqLi+Xn5ycfHx8dPHhQa9eudUz76quvlJmZqfLycjVo0EA3\n3XST6tWr5/i0+/zzzzsOtsvJydEnn3wi6dzm5/NF1rBhQ3l6elbZnXFeeHi4Dh8+rNTUVFVUVGjr\n1q369ttvde+99151vZ1XUlIif39/eXt7KzMzs8pBQjExMfroo48c62HJkiXVGvO8+Ph4ffrpp/rg\ngw9UUVGhwsJCx6b982/ez5w5o8OHD+vdd9+94jgBAQGXfOf4rrvucmwK3rlzp2PT+pUUFxerQYMG\n8vPzU2Fh4TXdl5iYGK1YsUKnTp1STk6Oo8glqUOHDvLx8dGqVatUXl6uzz//XB9//LEGDBigevXq\nKTY29op/u/3799cf//hH5eTk6OTJk1q1apVj3BMnTigtLU0//vijvLy85Ovre9nHHzXHrdZ+ZWWl\n/P39tXHjRm3atEmbNm1y/PEGBQVpyZIl2rBhg5544glJkp+fn824tcJDDz2k3/72t1q9erV69eql\nnj17avbs2Xr66afVsWNHSee2RjRo0EB9+vTRqFGjNHDgwCqbN9u3by9fX1/l5eWpd+/ejut/9atf\nad68eZo7d666dOmifv36aePGjY7plyuna/2e48XzX3h59OjRioqK0tixY9W5c2eNGDHC8cbA2W1j\nYmJkjFHXrl01ZMiQKy5/wIABGjt2rPr27asWLVo4jrZt2bKlJkyYoDFjxqhfv34KDQ11el+mTZum\nNm3aaOjQoeratasWLVrkKOGrZZ02bZo2b96sTp06adasWYqLi3NMO336tJ599ll16dJFUVFRatKk\niX7zm99Ikp5++mm1aNFCw4cPV2hoqMaOHatDhw5JOrfpe8yYMerYsaPuv/9+jRw5Ul26dLkkc+PG\njbV8+XKtWbNG3bp105o1a7RixYpLNidfyaxZs/S73/1OnTt31rJly6psNbnjjjs0Y8YMPfnkk7rn\nnnvk5+enW265pcrxBVdz6623auXKlXrjjTfUpUsXDR482FHGY8aMkbe3t3r27Knp06c7jnO43Pod\nOnSoDhw4oC5dumjixImSpJSUFP31r39VWFiYUlNTHbtmrmT06NH68ccf1bVrV40YMaLK0dAXL+9i\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df = bq.Query(gpq.seasonal_sales).to_dataframe()\n", "plt = df.set_index('month')['sum_dollarsobligated'].plot(kind='bar', title='Government purchases of agricultural goods')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Agriculture has evident seasonality, which makes it a good example for timing. Agencies do shopping in the summer, but the overall volume is small: under $8bn in 17 years." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Trending goods and services" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%%sql --module gpq\n", "\n", "define query trending_psc\n", "select\n", " productorservice_id, productorservice_name,\n", " last(sum_dollarsobligated) / first(sum_dollarsobligated) growth_ratio,\n", " sum(sum_dollarsobligated) total_dollarsobligated\n", "from (\n", " select\n", " fiscal_year,\n", " substr(productorservicecode, 1, 4) productorservice_id,\n", " first(productorservicecode) productorservice_name,\n", " count(*) transactions,\n", " sum(dollarsobligated) sum_dollarsobligated,\n", " from\n", " gpqueries:contracts.raw\n", " where\n", " fiscal_year > 2010 and fiscal_year < 2016\n", " # substr(agencyid, 1, 4) != '9700' # include/exclude DoD\n", " group by\n", " productorservice_id, fiscal_year\n", " order by\n", " productorservice_id, fiscal_year asc\n", ")\n", "group by\n", " productorservice_id, productorservice_name\n", "having\n", " total_dollarsobligated > 10000000 and\n", " first(sum_dollarsobligated) > 1000000\n", "order by\n", " growth_ratio desc" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nNBlRfl0t/tJbEllZWfzxxx/UqVNHJb158+aSrDKZjD59+nDz5k2VSdPb6KzUzcXFhbNnz2qURTmB\n01R+06ZNVSJiDAwMsLe3JyUlhSZNmmBgYCBNFt50Xl2+fFmyq4uLi6SLcsJRWFjIuXPnVOwK4OPj\nw5YtWzROkOvXr8/z58/57bffpAlhcXJzc1XqVH61haLJbLly5UhMTNSory5KajdDQ0OaNWvG9evX\n+eGHH2jTpg2tW7fm+++/58mTJwDS5Esmk+Hu7k5MTAxZWeohziX1x+J13717Vy39zp07av1CSUpK\nilpkSfG+B3/NTqUZK3fu3NEa5aIJfcZOcU6fPq3Wt5RoGjstWrTgzp07anmPHj0qRWMAhIaGSmPK\nz89PLf+jR49IS0ujXr16Upq255kuSqpHSdOmTfn555/V0q9cuUKLFi2Atx/rTZs2JSUlpcQ+VdJz\nqGXLlly6dEm7shRFmxkYGGBpaQkURSiVK1eO8ePHlxhxoJTXzs5Ooy0ARo8ezaBBgxg2bJiUJpfL\n6d27N61bt+bBgweS40SXvv8Emp6V77//Po8fP6Z3797MmzevRPsJBAKBQCAoGbFspIzTpEkT0tPT\niY2NpWvXrnp9NQYwMTFR+bq+f/9+kpOTgaJ19lZWVlSvXp0qVarg7+/Pb7/9RsWKFaUvyG9DREQE\n3333HWZmZqxcuVJK1xamf/nyZQYNGsT9+/cZNmwYjRsXhZw+e/aM+/fvS44aY2NjUlJStE6USotC\nocDAwIAxY8YQHh7Ohx9++NZllbRspDhnzpzhyy+/5Pfff9d7nxFlJIStrS1Hjx5l8uTJ0jVty0aU\nDoZffvmFunXr8vHHH6tcr1u3Lm3atJHC9Isjk8no1asXcrmc69evExwcrNLn3uxXb+Lr68u6deuY\nPn26XvqVhjZt2nD16lVyc3Np06YN9evXJzw8HEtLS7U9CczMzHBxcSEyMlJtSZS+babvWHsbSmun\nf2usaGLUqFG8ePECIyMjvR0FmggJCWH9+vVYWVmxaNEiKV25nORN5HI5iYmJ3L17lxkzZkhLgnQ9\nz3ShrR59efToER06dNB4Td+x/nf1serVq6tEohQnIiKCvXv3cvfuXVavXi05UGbPno2vry/nzp3j\n888/Z9WqVWzduhUTExO1/UT0kVfTshG5XM66desA6NmzJ/Hx8VrL/ifR9qzcv38/ly9f5sKFC0yd\nOpXp06drXX4jEAgEAoGgZITzQoCjoyOhoaFs376d58+f/+XyYmNj+fnnn+nRowcKhYKsrCwSAkuE\nSgAAIABJREFUEhJ0hpTb2NiQlJSEo6OjlPbjjz9Kkygo3UQe/nyhTEtLY9SoUXh6elKzZk3i4+P5\n7bffJPmys7OJjY1lypQpJZZpbm5OhQoVVNb+Q9FXx44dO6rkHTBgABs2bFDRobQ66yNLeno6derU\n4YMPPuCDDz7A19eX/Px8bG1tuXHjhso9CoWCmzdvSpNPZ2dnvL296dChA3Z2dnqFVSsdDLm5uYwZ\nM4ajR4+qre3/5JNPmDx5sppNAPr06cPgwYMZPHiwxr1TdOHg4MCqVau4du1aiXn9/f25efMmNWrU\nYMOGDSW2W7t27di1axd5eXm4u7tjZWVFamoqVlZWGjdUHDVqFC4uLgwePLhUOhSvW9OeKI0bNyYp\nKUnaMLY4tra2JCcn06lTJ5Vy3nQmlMZO8HZjpXHjxmqy6ELfsbN9+3YsLCyYPn06e/bswdPTk507\nd7Jnzx5kMhkbN27E1tZWzUZJSUkqY6e0zgPlXhRJSUlMmTIFV1dXKlSogFwuL/XzrDTcuHFD6944\nysn8Xx3rz5490/rlX5/nkHLvF00on8vHjx9n9erV0t4w586dY9WqVQwZMoTp06czd+5c7t+/L20Q\n/SavX7/m9u3bJdpCye3bt7l37x6enp4A5OfnU7duXdzd3aX+UVynfwOZTMZ7773He++9R5MmTYiO\njhbOi7fEysqcatXUN3P9X+J/Xb+SEPoL/csqZVn3t0E4L8owypfBIUOGUKlSJRo3bqw11PzNF0dt\nX8gUCgUHDx4kNjZWWgt/8eJF1q1bp/Nl393dnWHDhuHk5IS9vT3Pnz9n2bJlTJw4UW89tFG3bl1G\njx7N2rVrmT9/PrGxsWzZskVaD52WloaXl5eK80JXmd7e3ixYsIBVq1ZRvnx5zp07x9WrV5k/f75K\nPiMjI0aPHs2mTZvUNmX8qzor8fHx4YsvvmD58uVYWFigUCjIzc0FoF69ejRv3py1a9dKa+HXrl1L\n8+bNsba2BsDa2hpLS0uWLVumc4lDcZS2KV++PLNnz+bzzz9Xc140atQIGxsbjh07RsuWLVWu1a5d\nm2nTptG5c2etZevC19eXL774QtJBG2+e7lJSu7Vt2xZ/f39q1qwpOXEsLS05duwYq1atUpOxUqVK\n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\nNQCprrKWZzs9PT0CAwOlWTKKs7GxUZvFAYrq8tSpU3+qHrKzs9VeG7p69aratS6r/NbW1vj4+LB2\n7Vppmbu7O6dPnyYhIUEa70KpVJKQkEBcXJz0HbJ27VqNVzZ0MTY2xtPTk2XLlkmfk/3795OTkyPd\nnKvKWq1aNXr06MHevXu1HisuLo7NmzdL5di3bx8KhUJjuxEjRrBr1y61JGjx+sjMzGTBggUMGzas\nzPKnpaURHh6Oj4+P1mMVZ2NjQ40aNVi+fLla8qc02o5Vnu+A0q5v69at8ff3l14ZeZ1eUrr+FryJ\nstqOn58fISEh0qtC2dnZ0uDC2o5VnvO97voLFy6Qk5MDFCUO79y5Q506dco8lyAIgiAIuv1jel5A\n0QjgS5YsYePGjVK3V1UyYujQofz2229kZ2fTpUsXlixZQocOHdSeHH322Wf4+/sTHh7OtWvXyM3N\nlX5Yqp5urlq1iqdPn7Jr1y4WLVqkdv74+Hj8/PzUlrm7u6NQKDQGW3R1dWXNmjVcvnyZFi1a8MUX\nXxAaGkpmZiZ6enq0bt1aZ/fa4mUuz5OvvLw8PD09pRhUU9FNmjSJFStW0KtXLwwNDalSpUq5u80r\nFAqNJ0hubm5MnTqVCRMmqJWrf//+REZGqi1LSEjg0qVLZGdnY2Njw5o1a3Q+gfzqq6+k9+5VU7aW\n5O/vLw1oBzB58mRWrlxJ7969MTU1xdDQEE9PT2m6SV315u/vL42ArxIeHk5kZKR0flWCTBWDavn8\n+fOxsLBQ27f4ddalUqVKeHt7s3TpUmnZ4sWLCQ0Nxc3NjRo1amBkZCTNElGaxo0bExQUxNSpU8nN\nzUUmk0mD0Do7O/PgwQMGDx6Mnp4eJiYmhIeHS7MMFK+Tzp07S9OeQtGrMAsWLACQpt0sa1DZ4sdr\n0qQJ9evXlwZrDA8PJzAwkLy8PAwMDFiyZAmmpqYAb9Qui59r7dq1zJ8/n3Xr1qFUKunUqZPOwRpL\ntptVq1bRvHlzunbtqradg4MDM2bMwN/fn4KCAgwMDJg5c+YbjU1SvKx3795V+2z269ePYcOGqW1j\nYWGBu7s7//73vxkzZozasRYvXsxnn32Gm5sbRkZG1KhRQ2onb1oPSqWSTZs2MX/+fIyMjDA2NiY0\nNFTatjyfx8GDB9O9e3f++OMPateujZmZGU5OTmRkZEhPw5OSkqhduzY1a9aU9vvwww/59ddfefTo\n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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df = bq.Query(gpq.trending_psc).to_dataframe()[:20]\n", "plt = df.set_index('productorservice_name')['growth_ratio'].plot(kind='barh', \\\n", " title='Goods and services sorted by 5-year growth in government purchases')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the recent years, agencies buy more construction services. These service groups grow fast and in large volumes.\n", "\n", "You can re-run the query to see the full list of services sorted by growth rate." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Products" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The variable `productorservicecode` narrowly encodes the products that agencies buy in each transaction. For codes, see [FPDS.gov](https://www.fpds.gov/wiki/index.php/PSC,_NAICS_and_more) (\"PSC Codes\"). I show how to find transactions in a broad group (2-digit PSC code):" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Transactions related to a particular product" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
agencyidsigneddatedollarsobligateddescriptionofcontractrequirement
7200: AGENCY FOR INTERNATIONAL DEVELOPMENT12/14/20127360000.0IGF::CL::IGF - THE PURPOSE OF THIS CONTRACT IS TO STRENGTHEN THE RESILIENCY AND SUSTAINABILITY OF EAST AFRICAN ECONOMIES, TRANS-BOUNDARY FRESHWATER ECOSYSTEMS, AND COMMUNITIES, TARGETING THREE KEY DEVELOPMENT CHALLENGES OF EAST AFRICA THAT ARE LIKEWISE HIGH PRIORITY AREAS FOR THE U.S. GOVERNMENT (USG) AS DESCRIBED IN DETAIL IN SECTION C, STATEMENT OF WORK.
7200: AGENCY FOR INTERNATIONAL DEVELOPMENT07/16/20146030000.0IGF::OT::IGF; USAID ENVIRONMENT&BIODIVERSITY TEAM REQUESTS TO INCREMENTALLY FUND PREPARED CONTRACT WITH $6,030,000.
7200: AGENCY FOR INTERNATIONAL DEVELOPMENT08/13/20153718750.0IGF::OT::IGF - THIS ACTIVITY WILL LEAD TO STRENGTHENING OF THE PUBLIC DEBT MARKET; ENABLING ACCESS TO NEW AND EFFICIENTLY PRICED SOURCES OF FUNDS FOR THE GOP AS WELL AS OTHER BORROWERS; AND IMPROVED FINANCIAL MANAGEMENT PRACTICES WITHIN THE GOP FOR TAPPING DEMESTIC AND INTERNATIONAL DEBT MARKETS. THE TOTAL ESTIMATED COST FOR THE ACTIVITY IS $18,413,012 OVER FOUR YEARS, OF WHICH $3,718,750 WILL BE USED TO INITIATE THIS ACTIVITY.
7200: AGENCY FOR INTERNATIONAL DEVELOPMENT09/01/20153708539.0IGF::OT::IGF; USAID ENVIRONMENT&BIODIVERSITY TEAM REQUESTS RAAO TO INCREMENTALLY FUND TETRA TECH ARD BY $3,708,539 IN SUPPORT OF ONGOING ACTIVITIES UNDER PREPARED PROJECT.
7200: AGENCY FOR INTERNATIONAL DEVELOPMENT09/27/20153249000.0IGF::OT::IGF TASK ORDER NUMBER 2 UNDER THE GROWTH, ENTERPRISE, EMPLOYMENT AND LIVELIHOODS (GEEL) IDIQ.
1630: EMPLOYMENT AND TRAINING ADMINISTRATION04/19/20122762010.0TO PROVIDE COMPREHENSIVE COORDINATION OF GRANTEES CONDUCTING EVALUATIONS OF THEIR WORKFORCE INNOVATION FUND GRANTS AS WELL AS OTHER RELATED ACTIVITIES
7200: AGENCY FOR INTERNATIONAL DEVELOPMENT03/02/20152125000.0IGF::OT::IGF THE PURPOSE OF THIS REQM IS TO INCREMENTALLY FUND THE OBLIGATED AMOUNT BY $2,125,000 FROM $2,000,000 TO $4,125,000.
7200: AGENCY FOR INTERNATIONAL DEVELOPMENT03/14/20142000000.0IGF::OT::IGF THE PURPOSE OF THIS REQUISITION IS TO RESERVE FUNDS OF $2 MILLION FOR PUNJAB ENABLING ENVIRONMENT PROJECT (PEEP) CONTRACT.
1900: STATE, DEPARTMENT OF09/28/20121871242.43TV CO-OPS
2700: FEDERAL COMMUNICATIONS COMMISSION04/03/20151850000.0FCC AUCTIONS - ISAS BIDDING SYSTEM REQUIREMENTS IGF::OT::IGF
1630: EMPLOYMENT AND TRAINING ADMINISTRATION06/30/2011999698.0THIRD TASK ORDER FOR THE EVALAUTION OF STATE DEMONSTRATIONS PROJECTS OF UNEMPLOYMENT INSURANCE AND WIS
1323: BUREAU OF THE CENSUS08/08/2011948519.06FIELD REGIONAL OFFICE STRUCTURE TRANSITION
2044: UNITED STATES MINT10/08/2010798600.0UPGRADE RED OAK KNOWLEDGE BASE SYSTEM IN ACCORDANCE WITH THE SOW AND RED OAKS PROPOSAL DATED APRIL 21, 2008. BASE CONTRACT AWARDED AT $504,000.00, WITH OPTIONS TOTAL VALUE IS $2,476,300.00.
6930: FEDERAL RAILROAD ADMINISTRATION06/09/2011749458.0ADD NEW FUNCTIONALITY TO THE GENERALIZED TRAIN MOVEMENT SIMULATOR (GTMS) ABILITY TO SIMULATE REVERSE TRAIN MOVEMENTS AND MORE COMPLEX OPERATING ENVIRONMENTS UNDER A FULL RANGE OF SIGNALLIG SYSTEMS. DEVELOP 2 CASE STUDIES TO VALIDATE AND VERIFY GTMS OUTPUT METRICS, INCLUDING ONE CASE STUDY ON THE NORTHEAST CORRIDOR.
2700: FEDERAL COMMUNICATIONS COMMISSION06/20/2014700000.0FCC AUCTIONS - ISAS BIDDING SYSTEM REQUIREMENTS IGF::OT::IGF
7530: CENTERS FOR MEDICARE AND MEDICAID SERVICES09/10/2014680700.0ADDITIONAL WORK FOR SECURITY COMPLIANCE
1900: STATE, DEPARTMENT OF09/28/2012637354.36TV CO-OPS
7001: OFFICE OF PROCUREMENT OPERATIONS03/28/2012601991.0DIVISION: EXPLOSIVES THRUST: EXPLOSIVE DETECTION PROGRAM: NEXT GEN PASSENGER CHECKPOINT PROJECT: SHOE SCANNER DETECTION PERFORMER: QUANTUM MAGNETICS (QM) APPROPRIATION YEAR: FY11 (13) BUDGET AUTHORITY: THREE-YEAR FUNDS PROJECT MANAGER: STEVE SURKO, 202-254-6876 LEAD SUPPORT STAFF: MELISSA BABIN. 202-254-6081 ALC: 70-08-1513 TAS: 70130800 DESCRIPTION: THE PURPOSE OF THIS ACTION IS CHANGE THE COTR FOR THIS AWARD FROM STEVE SURKO TO FRED MYERS.
12K2: AGRICULTURAL MARKETING SERVICE09/30/2014544101.95DIGITAL IMAGING PROTOTYPE SYSTEM IGF::OT::IGF
2700: FEDERAL COMMUNICATIONS COMMISSION09/28/2015528000.0FCC AUCTIONS - ISAS BIDDING SYSTEM REQUIREMENTS IGF::OT::IGF
7530: CENTERS FOR MEDICARE AND MEDICAID SERVICES09/16/2015520951.0EXERCISE AND FUND OPTION PERIOD 5
8900: ENERGY, DEPARTMENT OF01/28/2011512063.0TAS::89 0251::TAS ADVANCED REMEDIATION TECHNOLOGY (ART) CONTRACT MODIFICATION TO ADD INCREMENTAL FUNDING
7530: CENTERS FOR MEDICARE AND MEDICAID SERVICES09/26/2012489579.0TAS OFFICE OF INSPECTOR GENERAL HOTLINE
7008: U.S. COAST GUARD09/26/2011464797.0MUSTANG DRYSUITS
3600: VETERANS AFFAIRS, DEPARTMENT OF04/11/2012452833.29PRE PROJECT PLANNER - EXERCISE OPTION YEAR 2
\n", "
(rows: 515, time: 1.3s, 6GB processed, job: job_lGMdhgqpWqMZGbfywbUYOtaCHb0)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_lGMdhgqpWqMZGbfywbUYOtaCHb0" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " agencyid, signeddate, dollarsobligated, descriptionofcontractrequirement\n", "from\n", " gpqueries:contracts.raw\n", "where\n", " fiscal_year > 2010 and fiscal_year < 2016 and\n", " substr(productorservicecode, 1, 2) = 'AE' and # PSC code for \"ECONOMIC GROWTH/PRODUCTIVITY\"\n", " substr(agencyid, 1, 4) != '9700' # exclude DoD, which misclassifies its purchases\n", "order by\n", " dollarsobligated desc" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These are services related to the research in economic growth and productivity.\n", "\n", "Here you can find, for example, the FCC designing its [Integrated Spectrum Auction System](http://wireless.fcc.gov/auctions/default.htm?job=about_isas), which allocates communication frequencies to businesses." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conclusions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This way of browsing government contracts can save many hours of calls and negotiations. It's simple and flexible after you learn a dozen or so variables mentioned here. And it's free.\n", "\n", "Try it yourself with:\n", "\n", "- [The dataset description](https://github.com/antontarasenko/gpq/blob/master/data/contracts.raw.md)\n", "- [GPQ Project](https://github.com/antontarasenko/qpq)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Contacts" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Anton Tarasenko\n", "\n", "- [antontarasenko.com](http://antontarasenko.com)\n", "- [antontarasenko@gmail.com](mailto:antontarasenko@gmail.com)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 } ================================================ FILE: notebooks/contracts_intro.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Introduction to US Federal Government Contracts" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* *This notebook is part of the [Government Procurement Queries](https://github.com/antontarasenko/gpq) project*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The BigQuery dataset (17 years of data, 45mn transactions, $6.7tn worth of goods and services):\n", "\n", "- [gpqueries:contracts](https://bigquery.cloud.google.com/dataset/gpqueries:contracts)\n", "\n", "*Important:* You need a Google account and a Google Cloud project to access the data (both free). Google offers you to create a new project when you open BigQuery. Do it. Then you'll need to follow Google's instructions and enable BigQuery in this project." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Table `gpqueries:contracts.raw`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Table [`gpqueries:contracts.raw`](https://bigquery.cloud.google.com/table/gpqueries:contracts.raw) contains the unmodified data from the [USASpending.gov archives](https://www.usaspending.gov/DownloadCenter/Pages/dataarchives.aspx). It's constructed from `_All_Contracts_Full_20160515.csv.zip` files and includes contracts from 2000 to May 15, 2016.\n", "\n", "Table `gpqueries:contracts.raw` contains 45M rows and 225 columns.\n", "\n", "Each row refers to a transaction (a purchase or refund) made by a federal agency. It may be a pizza or an airplane.\n", "\n", "The columns are grouped into categories:\n", "\n", "- Transaction: `unique_transaction_id`-`baseandalloptionsvalue`\n", "- Buyer (government agency): `maj_agency_cat`-`fundedbyforeignentity`\n", "- Dates: `signeddate`-`lastdatetoorder`, `last_modified_date`\n", "- Contract: `contractactiontype`-`programacronym`\n", "- Contractor (supplier, vendor): `vendorname`-`statecode`\n", "- Place of performance: `PlaceofPerformanceCity`-`placeofperformancecongressionaldistrict`\n", "- Product or service bought: `psc_cat`-`manufacturingorganizationtype`\n", "- General contract information: `agencyid`-`idvmodificationnumber`\n", "- Competitive procedure: `solicitationid`-`statutoryexceptiontofairopportunity`\n", "- Contractor details: `organizationaltype`-`otherstatutoryauthority`\n", "- Contractor's executives: `prime_awardee_executive1`-`interagencycontractingauthority`\n", "\n", "Detailed description for each variable is available in the official codebook:\n", "\n", "- [`USAspending.govDownloadsDataDictionary.pdf`](https://www.usaspending.gov/DownloadCenter/Documents/USAspending.govDownloadsDataDictionary.pdf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Queries" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### BigQuery Web GUI" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can execute queries mentioned here at (press \"Compose query\")." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Datalab" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook was written in Google Datalab. You may need the libraries imported below to replicate it:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import gcp.bigquery as bq" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Within Datalab, you can define queries with [`sql` magic](https://github.com/catherinedevlin/ipython-sql) like this:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%%sql --module gpq\n", "\n", "define query totals\n", "select\n", " count(*) transactions,\n", " sum(dollarsobligated) sum_dollarsobligated,\n", " count(unique(dunsnumber)) vendors,\n", " count(unique(solicitationid)) purchase_procedures\n", "from \n", " gpqueries:contracts.raw" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And execute with `bq` to get a dataframe:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
transactionssum_dollarsobligatedvendorspurchase_procedures
0445009416.653578e+126215322223674
\n", "
" ], "text/plain": [ " transactions sum_dollarsobligated vendors purchase_procedures\n", "0 44500941 6.653578e+12 621532 2223674" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bq.Query(gpq.totals).to_dataframe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Which means we're dealing with 44.5M transactions totalling 6.7 trillion dollars. These purchases came from 622k vendors that won 2.2mn solicitations issued by government agencies." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data Mining Government Clients" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Suppose you want to start selling to the government. While [FBO.gov](http://www.fbo.gov/) publishes government RFPs and you can apply there, government agencies often issue requests when they've already chosen the supplier. Agencies go through FBO.gov because it's a mandatory step for deals north of $25K. But winning at this stage is unlikely if an RFP is already tailored for another supplier.\n", "\n", "Reaching warm leads in advance would increase chances of winning a government contract. The contracts data helps identify the warm leads by looking at purchases in the previous years.\n", "\n", "There're several ways of searching through those years." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Who Buys What You Make" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The goods and services bought in each transaction are encoded in the variable `productorservicecode`. Top ten product categories according to this variable:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
product_idproduct_nametransactionssum_dollarsobligated
1510AIRCRAFT, FIXED WING343732.84778910095e+11
M181OPER OF GOVT R&D GOCO FACILITIES117052.09034830695e+11
R425ENGINEERING AND TECHNICAL SERVICES5401282.01977381246e+11
D399OTHER ADP & TELECOMMUNICATIONS SVCS5440691.79749708292e+11
R499OTHER PROFESSIONAL SERVICES8217881.63569940538e+11
9130LIQUID PROPELLANTS -PETROLEUM BASE1932671.47092818248e+11
Q201GENERAL HEALTH CARE SERVICES1571881.43893967601e+11
6505DRUGS AND BIOLOGICALS18572441.40279701467e+11
R706LOGISTICS SUPPORT SERVICES1472381.17202582504e+11
R408PROGRAM MANAGEMENT/SUPPORT SERVICES27090489610029462.5
\n", "
(rows: 10, time: 0.6s, cached, job: job_5OYeRQNV79dkoo0LffBT7Ba6N2Y)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_5OYeRQNV79dkoo0LffBT7Ba6N2Y" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " substr(productorservicecode, 1, 4) product_id,\n", " first(substr(productorservicecode, 7)) product_name,\n", " count(*) transactions,\n", " sum(dollarsobligated) sum_dollarsobligated\n", "from\n", " gpqueries:contracts.raw\n", "group by\n", " product_id\n", "order by\n", " sum_dollarsobligated desc\n", "limit 10" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can find agencies that buy products like yours. If it's \"software\":" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
agency_idagency_nametransactionssum_dollarsobligated
9700DEPT OF DEFENSE24501531756394755.4
3600VETERANS AFFAIRS, DEPARTMENT OF212233213678011.54
2050INTERNAL REVENUE SERVICE132922625458725.97
2800SOCIAL SECURITY ADMINISTRATION70382383445352.45
4735FEDERAL ACQUISITION SERVICE150642374494872.16
7014U.S. CUSTOMS AND BORDER PROTECTION34561816831446.67
1900STATE, DEPARTMENT OF149641395765461.73
1549FEDERAL BUREAU OF INVESTIGATION46731104923392.94
7001OFFICE OF PROCUREMENT OPERATIONS26041076395157.89
1501OFFICES, BOARDS AND DIVISIONS46171057842936.58
1205USDA, OFFICE OF THE CHIEF FINANCIAL OFFICER7812943296547.34
7529NATIONAL INSTITUTES OF HEALTH8434829980910.42
6800ENVIRONMENTAL PROTECTION AGENCY8291790956089.3
4732FEDERAL ACQUISITION SERVICE3335766033684.66
7013TRANSPORTATION SECURITY ADMINISTRATION2182740364381.42
1406OFFICE OF POLICY, BUDGET AND ADMINISTRATION5080724577419.11
1323BUREAU OF THE CENSUS3101591701336.21
2036BUREAU OF THE FISCAL SERVICE7385582297546.58
1330NATIONAL OCEANIC AND ATMOSPHERIC ADMINISTRATION10758578208631.36
7008U.S. COAST GUARD4265574943946.72
6920FEDERAL AVIATION ADMINISTRATION1491534520819.72
7530CENTERS FOR MEDICARE AND MEDICAID SERVICES926519913926.84
1344PATENT AND TRADEMARK OFFICE3382443011847.34
7012U.S. IMMIGRATION AND CUSTOMS ENFORCEMENT2989441316095.41
8000NATIONAL AERONAUTICS AND SPACE ADMINISTRATION10679430834604.06
\n", "
(rows: 206, time: 0.6s, cached, job: job_1jg_ZQ5tFKg8pHFGX6fnuYGiDaY)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_1jg_ZQ5tFKg8pHFGX6fnuYGiDaY" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " substr(agencyid, 1, 4) agency_id,\n", " first(substr(agencyid, 7)) agency_name,\n", " count(*) transactions,\n", " sum(dollarsobligated) sum_dollarsobligated\n", "from\n", " gpqueries:contracts.raw\n", "where\n", " productorservicecode contains 'software'\n", "group by\n", " agency_id\n", "order by\n", " sum_dollarsobligated desc\n", "ignore case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### What Firms in Your Industry Sell to the Government" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another way to find customers is the variable `principalnaicscode` that encodes the industry in which the vendor does business.\n", "\n", "The list of NAICS codes is available at [Census.gov](http://www.census.gov/cgi-bin/sssd/naics/naicsrch?chart=2012), but you can do text search in the table. Let's find who bought software from distributors in 2015:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
agency_idagency_namenaics_idnaics_nametransactionssum_dollarsobligated
9700DEPT OF DEFENSE511210SOFTWARE PUBLISHERS79071086588808.06
9700DEPT OF DEFENSE443120COMPUTER AND SOFTWARE STORES5313451131013.69
9700DEPT OF DEFENSE423430COMPUTER AND COMPUTER PERIPHERAL EQUIPMENT AND SOFTWARE MERCHANT WHOLESALERS2073246620960.81
7014U.S. CUSTOMS AND BORDER PROTECTION443120COMPUTER AND SOFTWARE STORES294195178029.07
2800SOCIAL SECURITY ADMINISTRATION443120COMPUTER AND SOFTWARE STORES201165682384.14
2050INTERNAL REVENUE SERVICE443120COMPUTER AND SOFTWARE STORES272105303702.28
1549FEDERAL BUREAU OF INVESTIGATION443120COMPUTER AND SOFTWARE STORES14794253371.19
1900STATE, DEPARTMENT OF443120COMPUTER AND SOFTWARE STORES119691138323.46
2800SOCIAL SECURITY ADMINISTRATION511210SOFTWARE PUBLISHERS24489509652.8
3600VETERANS AFFAIRS, DEPARTMENT OF511210SOFTWARE PUBLISHERS63087867702.88
7001OFFICE OF PROCUREMENT OPERATIONS443120COMPUTER AND SOFTWARE STORES11585158432.43
2050INTERNAL REVENUE SERVICE511210SOFTWARE PUBLISHERS32182585967.45
6920FEDERAL AVIATION ADMINISTRATION423430COMPUTER AND COMPUTER PERIPHERAL EQUIPMENT AND SOFTWARE MERCHANT WHOLESALERS32081678563.94
1501OFFICES, BOARDS AND DIVISIONS443120COMPUTER AND SOFTWARE STORES12475303017.16
7013TRANSPORTATION SECURITY ADMINISTRATION443120COMPUTER AND SOFTWARE STORES13072338222.09
1344PATENT AND TRADEMARK OFFICE443120COMPUTER AND SOFTWARE STORES17960555711.83
1900STATE, DEPARTMENT OF423430COMPUTER AND COMPUTER PERIPHERAL EQUIPMENT AND SOFTWARE MERCHANT WHOLESALERS144959498401.27
9700DEPT OF DEFENSE334614SOFTWARE AND OTHER PRERECORDED COMPACT DISC, TAPE, AND RECORD REPRODUCING 84754775397.52
7529NATIONAL INSTITUTES OF HEALTH443120COMPUTER AND SOFTWARE STORES21254773671.43
1900STATE, DEPARTMENT OF511210SOFTWARE PUBLISHERS35739829177.68
6800ENVIRONMENTAL PROTECTION AGENCY443120COMPUTER AND SOFTWARE STORES26039649773.39
7200AGENCY FOR INTERNATIONAL DEVELOPMENT443120COMPUTER AND SOFTWARE STORES6337272308.46
1205USDA, OFFICE OF THE CHIEF FINANCIAL OFFICER443120COMPUTER AND SOFTWARE STORES26335421398.98
3600VETERANS AFFAIRS, DEPARTMENT OF443120COMPUTER AND SOFTWARE STORES47134401225.47
4732FEDERAL ACQUISITION SERVICE443120COMPUTER AND SOFTWARE STORES75734066865.64
\n", "
(rows: 463, time: 1.0s, cached, job: job_tyO5qqBhadXXwwH8p2u9qTutzoA)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_tyO5qqBhadXXwwH8p2u9qTutzoA" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " substr(agencyid, 1, 4) agency_id,\n", " first(substr(agencyid, 7)) agency_name,\n", " substr(principalnaicscode, 1, 6) naics_id,\n", " first(substr(principalnaicscode, 9)) naics_name,\n", " count(*) transactions,\n", " sum(dollarsobligated) sum_dollarsobligated\n", "from\n", " gpqueries:contracts.raw\n", "where\n", " principalnaicscode contains 'software' and\n", " fiscal_year = 2015\n", "group by\n", " agency_id, naics_id\n", "order by\n", " sum_dollarsobligated desc\n", "ignore case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Inspecting Specific Transactions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can learn details from looking at transactions for a specific `(agency, NAICS)` pair. For example, what software does TSA buy?" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
fiscal_yeardollarsobligatedvendornamecitystateannualrevenuenumberofemployeesdescriptionofcontractrequirement
200375480.0INTERNATIONAL BUSINESS MACHINEBETHESDAMD0.00
200364800.0AVAYA INCARLINGTONVA0.00
20160.0IMMIXTECHNOLOGY, INC.MCLEANVA31929440.0162CLOSEOUT SERVICE
20085483.8SPECTRUM SYSTEMS, INC.FAIRFAXVA17000000.025IT SECURITY PR TO FUND ANNUAL LICENSE RENEWAL FOR SPIDYNAMICS WEBINSPECT IN THE AMOUNT OF $4,500 PR AMENDED- TO MATCH LOWEST QUOTE AND TO EXTEND SERVICE THROUGH 12/31/2009.
2007557880.0GTSI CORPORATIONCHANTILLYVA900000000.0850THIS PROCUREMENT REQUEST IS FOR 250 D620 TRACE MACHINES FOR THE FSDS PER THE ATTACHED CONFIGURATION. DELIVERY SCHEDULE AS FOLLOWS: DEC 18 - 25 JAN 8 - 25 JAN 15 - 50 JAN 29 - 50 FEB 12 - 50 FEB 26 - 50
20041640913.0INTERNATIONAL BUSINESS MACHINEBETHESDAMD0.00IT SERVICES
201336372.5IMMIXTECHNOLOGY, INC.MCLEANVA31929440.0162THE PURPOSE OF THIS BPA CALL IS TO PURCHASE A QUANTITY OF 250 POE WITH BATTERY BACKUP (PART # 8602806-001)TERMINAL CLOCK PRODUCTS.
20135373123.87INTERNATIONAL BUSINESS MACHINEBETHESDAMD0.00IGF::OT::IGF SUBJECT: APPLICATION SUPPORT TEAM (AST) - OASIS II WORK ORDER
200816077.46SPRINT COMMUNICATIONS COMPANY L.P.RESTONVA38927998976.056001QSEC AIRTIME FOR A BASE AND TWO ADDITIONAL OPTION PERIODS.
2005100000.0ORACLE CORPORATIONRESTONVA0.00AFSP ORACLE SUPPORT
20160.0INTERNATIONAL BUSINESS MACHINEBETHESDAMD0.00IGF::CT::IGF THE PURPOSE OF MODIFICATION P00004 TO OASIS II TASK ORDER #21 (HSTS03-14-J-SAS001) IS TO REALLOCATE AMONG TWO CLIN 10001 LABOR CATEGORIES FOR THE OPTION PERIOD 1.
20160.0INTERNATIONAL BUSINESS MACHINEBETHESDAMD0.00IGF::CT::IGF THIS PURPOSE OF THIS MODIFICATION IS TO DISASSOCIATE FISCAL YEAR 2015/2016 LINE OF ACCOUNTING (LOA), DEOBLIGATE PERVIOUS CLINS AND ADD NEW SUB-CLINS WITH FISCAL YEAR 2016 LINE OF ACCOUNTING (LOA). THIS IS A TIME AND MATERIALS TASK ORDER ISSUED AGAINST BPA HSTS03-13-A-CIO549 TO PROVIDE SUPPORT AND MAINTENANCE FOR THE AUTOMATED TIME AND ATTENDANCE (T&A) SYSTEM FOR THE TRANSPORTATION SECURITY OFFICER STAFF IN ACCORDANCE WITH THE INCLUDED PERFORMANCE WORK STATEMENT AND TERMS AND CONDITIONS.
2016411498.48INTERNATIONAL BUSINESS MACHINEBETHESDAMD0.00IGF::OT::IGF RAPID APPLICATION DEVELOPMENT (RAD) II CONTINUED SUPPORT SERVICES
2005317680.0INTERNATIONAL BUSINESS MACHINEBETHESDAMD0.00
2005413075.0INTERNATIONAL BUSINESS MACHINEBETHESDAMD0.00IT SERVICES
20081834.02TESSCO INCORPORATEDHUNT VALLEYMD513000000.0592MOBILE AMPLIFIERS
200814906.67NETPRO COMPUTING, INC.PHOENIXAZ9731484.088SOFTWARE MAINTENANCE TO PROVIDE FY08 FUNDING IN THE AMOUNT OF $16,500 FOR IT SOFTWARE MAINTENANCE FOR NETPRO FOR THE PERIOD NOV 22, 2007 TO DEC 31, 2008.
20070.0TALX CORPORATIONSAINT LOUISMO45820000.0878TALX - ADDITIONAL FUNDS TO EXTEND TASK ORDER WITH USDA FOR THE TALX UC EXPESS PROGRAM. FUNDS SHALL COVER 4TH QUARTER OF FY06
20073939.74POLYCOM, INCPLEASANTONCA465959000.01271THE PURPOSE OF THIS PROCUREMENT IS TO EXTEND THE POLYCOM PREMIER PLUS SERVICE MAINTENANCE AGREEMENT ON TWO (2) VIDEO CONFERENCING UNITS FOR AN ADDITIONAL YEAR. PRESENT AGREEMENT EXPIRES ON 3-15-07. THE TOTAL COST OF THIS PROCUREMENT IS $3,939.74.
20165000.0INTERNATIONAL BUSINESS MACHINEBETHESDAMD0.00IGF::OT::IGF THE PURPOSE OF MODIFICATION P00003 TO OASIS II TASK ORDER #38 (HSTS03-14-J-SAS005) IS TO ADD CLIN 10007 TO OPTION PERIOD 1 AND CHANGE THE CONTRACTING OFFICER REPRESENTATIVE FROM DEREK SMITH TO SUNG LEE (VALERIE SANDY AS ALTERNATE CONTRACTING OFFICER REPRESENTATIVE)
20099379.91SYNNEX CORPORATIONGREENVILLESC4000000000.0550LCD MONITORS FOR PUBLIC SERVICE ANNOUNCEMENTS AT THE THREE SPOKE AIRPORTS AND TWO MONITORS FOR THE HUB COORDINATING CENTER. 10 IDENTICAL ITEMS WERE PURCHASED FOR THE HUB LAST YEAR UNDER CONTRACT GS-35F-4076D
20090.0GTSI CORPORATIONCHANTILLYVA900000000.0850PURCHASE OF ADOBE LICENSES FOR THE OFFICE OF THE SPECIAL COUNSELOR
2011415522.0GTSI CORPORATIONCHANTILLYVA900000000.0850MAINTENANCE AND SUPPORT FOR SYMANTEC AND ALTIRIS LICENSES.
2006152880.0GTSI CORPORATIONCHANTILLYVA900000000.0850DELL COMPUTERS
20160.0INTERNATIONAL BUSINESS MACHINEBETHESDAMD0.00IGF::CT::IGF ISHARE AND WORKFLOW APPLICATION DEVELOPMENT SERVICES.
\n", "
(rows: 584, time: 0.7s, cached, job: job_16eFmMJh3axW3zdfW7ioeWdHVE0)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_16eFmMJh3axW3zdfW7ioeWdHVE0" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " fiscal_year,\n", " dollarsobligated,\n", " vendorname, city, state, annualrevenue, numberofemployees,\n", " descriptionofcontractrequirement\n", "from\n", " gpqueries:contracts.raw\n", "where\n", " agencyid contains 'transportation security administration' and\n", " principalnaicscode contains 'computer and software stores'\n", "ignore case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Alternatively, specify vendors your product relates to and check how the government uses it. Top deals in data analytics:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
agencyiddollarsobligatedvendornamedescriptionofcontractrequirement
9700: DEPT OF DEFENSE22401901.14PALANTIR TECHNOLOGIES INCORPORATEDPROCUREMENT OF PALANTIR GOTHAM SOFTWARE AND ASSOCIATED SUPPORT
9700: DEPT OF DEFENSE19243057.44PALANTIR TECHNOLOGIES INCORPORATEDPALANTIR CORE SERVER LICENSES AND HARDWARE
1549: FEDERAL BUREAU OF INVESTIGATION14891225.66PALANTIR TECHNOLOGIES INC.UNLIMITED LICENSE
7012: U.S. IMMIGRATION AND CUSTOMS ENFORCEMENT12472821.2PALANTIR USG, INC.ICE COTS BASED, WEB-ENABLED INVESTIGATIVE CASE MANAGEMENT (ICM) SYSTEM FOR ICE TECS MOD PROGRAM OFFICE. IGF::CT::IGF
9700: DEPT OF DEFENSE11999886.24PALANTIR TECHNOLOGIES INCORPORATEDIGF::OT::IGF EXERCISE OPTION YEAR 1 AND ADD FUNDING
9700: DEPT OF DEFENSE11805943.2PALANTIR TECHNOLOGIES INCORPORATEDPALANTIR SW LICENSE MAINTENANCE SUPPORT RENEWAL.
7012: U.S. IMMIGRATION AND CUSTOMS ENFORCEMENT9900000.0PALANTIR TECHNOLOGIES INC.IGF::OT::IGF FALCON OPERATIONS AND MAINTENANCE (O&M), SYSTEM ENHANCEMENT SUPPORT SERVICES FOR PALANTIR GOVERNMENT
7012: U.S. IMMIGRATION AND CUSTOMS ENFORCEMENT9857193.77PALANTIR USG, INC.ICE COTS BASED, WEB-ENABLED INVESTIGATIVE CASE MANAGEMENT (ICM) SYSTEM FOR ICE TECS MOD PROGRAM OFFICE. IGF::CT::IGF
1501: OFFICES, BOARDS AND DIVISIONS9500000.0PALANTIR TECHNOLOGIES INC.IGF::OT::IGF
9700: DEPT OF DEFENSE9125264.2PALANTIR TECHNOLOGIES INCORPORATEDIFAP
9700: DEPT OF DEFENSE7180568.16PALANTIR TECHNOLOGIES INCORPORATEDPALANTIR SW LICENSE MAINTENANCE SUPPORT RENEWAL.
1501: OFFICES, BOARDS AND DIVISIONS6500000.0PALANTIR TECHNOLOGIES INC.IGF::OT::IGF
5000: SECURITIES AND EXCHANGE COMMISSION5999999.98PALANTIR TECHNOLOGIES INC.IGF::OT::IGF FOR OTHER FUNCTIONS PROVIDE AND IMPLEMENT A COTS SOLUTION FOR THE AGENCY'S ENTERPRISE DATA ANALYTICS
7012: U.S. IMMIGRATION AND CUSTOMS ENFORCEMENT5936000.0PALANTIR TECHNOLOGIES INCORPORATEDPALANTIR SOFTWARE, SERVICE, AND SUPPORT FOR HSI PERSONNEL
9700: DEPT OF DEFENSE5724116.36PALANTIR TECHNOLOGIES INCORPORATEDPALANTIR GOTHAM SERVER LICENSES AND ASSOCIATED FIELD SERVICE REPRESENTATIVE SUPPORT.
9700: DEPT OF DEFENSE5717851.36PALANTIR TECHNOLOGIES INCORPORATEDPALANTIR GOTHAM LICENSES AND FIELD SERVICE REPRESENTATIVE SUPPORT
9700: DEPT OF DEFENSE5646384.24PALANTIR TECHNOLOGIES INCORPORATEDPURCHASE OF PALANTIR SOFTWARE LICENSES&FSR SUPPORT
7012: U.S. IMMIGRATION AND CUSTOMS ENFORCEMENT5038025.59PALANTIR TECHNOLOGIES INC.IGF::OT::IGF FALCON OPERATIONS AND MAINTENANCE (O&M) SUPPORT SERVICES FOR PALANTIR GOVERNMENT, A PROPRIETARY SOFTWARE PRODUCT OF PALANTIR TECHNOLOGIES, INC.
9700: DEPT OF DEFENSE4700000.0PALANTIR TECHNOLOGIES INCORPORATEDNEW WORK MOD
1501: OFFICES, BOARDS AND DIVISIONS4690647.07PALANTIR TECHNOLOGIES INC.IGF::OT::IGF
9700: DEPT OF DEFENSE4661082.38PALANTIR TECHNOLOGIES INCORPORATEDIGF::OT::IGF PALANTIR MARINES IFAP III CORE LICENSES.
1501: OFFICES, BOARDS AND DIVISIONS4579393.0PALANTIR TECHNOLOGIES INC.IGF::OT::IGF,EOUSA PALANTIR
1549: FEDERAL BUREAU OF INVESTIGATION3609995.45PALANTIR TECHNOLOGIES INCORPORATEDCOMPUTER TOOL USAGE LICENSES
9700: DEPT OF DEFENSE3271065.56PALANTIR TECHNOLOGIES INC.IGF::OT::IGF CAG/GMSC FSR SUPPORT
9700: DEPT OF DEFENSE3203190.77PALANTIR TECHNOLOGIES INC.IGF::OT::IGF, TWO (2) 8-CORE PERPETUAL LICENSES
\n", "
(rows: 100, time: 0.8s, cached, job: job_GHwVcGuA_3SqI6q4FiMMI4k9yqY)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_GHwVcGuA_3SqI6q4FiMMI4k9yqY" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " agencyid,\n", " dollarsobligated,\n", " vendorname,\n", " descriptionofcontractrequirement\n", "from\n", " gpqueries:contracts.raw\n", "where\n", " vendorname contains 'tableau' or\n", " vendorname contains 'socrata' or\n", " vendorname contains 'palantir' or\n", " vendorname contains 'revolution analytics' or\n", " vendorname contains 'mathworks' or\n", " vendorname contains 'statacorp' or\n", " vendorname contains 'mathworks'\n", "order by\n", " dollarsobligated desc\n", "limit\n", " 100\n", "ignore case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Searching Through Descriptions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Full-text search and regular expressions for the variable `descriptionofcontractrequirement` narrow results for relevant product groups:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
agencyiddollarsobligateddescriptionofcontractrequirement
9700: DEPT OF DEFENSE5529.0WEARABLE BODY CAMERA
1549: FEDERAL BUREAU OF INVESTIGATION3978.0BODY CAMERAS FOR WARM SPRINGS OFFICERS/DETECTIVES
7008: U.S. COAST GUARD5154.21POLICE BODY CAMERAS
1443: NATIONAL PARK SERVICE12044.42CACO WEARABLE BODY CAMERAS FOR THE LAW ENFORCEMENT RANGERS AT CAPE CODE NATIONAL SEASHORE
9700: DEPT OF DEFENSE4315.0NIKON D3 DIGITAL SLR BODY CAMERA
9700: DEPT OF DEFENSE26285.6BODY CAMERA'S
1443: NATIONAL PARK SERVICE14605.4VIEVU BODY CAMERAS
2036: BUREAU OF THE FISCAL SERVICE23970.0BODY CAMERAS
1443: NATIONAL PARK SERVICE14850.0LARO LE BODY CAMERAS
3600: VETERANS AFFAIRS, DEPARTMENT OF5648.016 BODY CAMERAS FOR POLICE DEPT AT LEXINGTON VAMC
9700: DEPT OF DEFENSE48667.5DES BODY CAMERAS
9700: DEPT OF DEFENSE58290.0NIKON D300S BODY CAMERA
1443: NATIONAL PARK SERVICE4855.03MEVE-TASER AXON BODY CAMERAS
9700: DEPT OF DEFENSE0.0POLICE BODY CAMERA SYSTEM
1448: U.S. FISH AND WILDLIFE SERVICE17133.6RLE-15-0065-BODY CAMERAS
3600: VETERANS AFFAIRS, DEPARTMENT OF7375.0PURCHASE BODY CAMERAS FOR POLICE DEPARTMENT
1443: NATIONAL PARK SERVICE8010.0G: LOWTX, PURCHASE FIRSTVU BODY CAMERA(S)
1443: NATIONAL PARK SERVICE0.0X:NOGRN, WEARABLE BODY CAMERAS, BOSTON NATIONAL HISTORICAL PARK, CHARLESTOWN, MA, 02129
9700: DEPT OF DEFENSE12989.34IN-CAR AND BODY CAMERAS FOR POLICE DEPARTMENT
9700: DEPT OF DEFENSE0.0NIKON D300 BODY CAMERA,
7524: FOOD AND DRUG ADMINISTRATION4420.0IGF::OT::IGF BODY CAMERA
1448: U.S. FISH AND WILDLIFE SERVICE68260.25BODY CAMERAS FOR RLE IGF::OT::IGF
7009: U.S. SECRET SERVICE6959.9611-FSD-PR-NIKON D3X BODY CAMERA FOR USE IN THE FORENSICS SERVICES DIVISION.
9700: DEPT OF DEFENSE22564.15POLICE BODY CAMERA SYSTEM
1443: NATIONAL PARK SERVICE9266.3CANY-TASER BODY CAMERAS
\n", "
(rows: 53, time: 0.9s, cached, job: job_wIUPYZekHe4jwd-oHsy76OSUD4c)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_wIUPYZekHe4jwd-oHsy76OSUD4c" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " agencyid,\n", " dollarsobligated,\n", " descriptionofcontractrequirement\n", "from\n", " gpqueries:contracts.raw\n", "where\n", " descriptionofcontractrequirement contains 'body camera'\n", "limit\n", " 100\n", "ignore case" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Some rows of `descriptionofcontractrequirement` contain codes like \"IGF::CT::IGF\". These codes classify the purchase into three groups of \"[Inherently Governmental Functions](https://www.fpds.gov/fpdsng_cms/index.php/en/newsroom/108-nherently-governmental-functions.html)\" (IGF):\n", "\n", "1. IGF::CT::IGF for Critical Functions\n", "2. IGF::CL::IGF for Closely Associated\n", "3. IGF::OT::IGF for Other Functions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Narrowing Your Geography" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can find local opportunities using variables for vendors (`city`, `state`) and services sold (`PlaceofPerformanceCity`, `pop_state_code`). The states where most contracts are delivered in:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
state_codestate_namesum_dollarsobligated
CA 7.12598903911e+11
VA VIRGINIA6.97817723705e+11
:6.67791793514e+11
TX TEXAS5.12968110673e+11
MD MARYLAND3.51494588833e+11
DC DISTRICT OF COLUMBIA2.58102498463e+11
PA PENNSYLVANIA2.10745481833e+11
FL FLORIDA2.10241041129e+11
MA MASSACHUSETTS1.84166810727e+11
AZ ARIZONA1.68027358301e+11
CT CONNECTICUT1.6160664469e+11
MO MISSOURI1.58477274895e+11
NY NEW YORK1.50885801473e+11
WA WASHINGTON1.45630044425e+11
GA GEORGIA1.40264459673e+11
AL ALABAMA1.39065794738e+11
CO COLORADO1.19793072249e+11
IL ILLINOIS1.19266682187e+11
NM NEW MEXICO1.11178508246e+11
TN TENNESSEE1.08883193392e+11
OH OHIO1.07798459749e+11
NJ NEW JERSEY1.06487949719e+11
SC SOUTH CAROLINA87058229568.8
KY KENTUCKY85713398240.4
MI MICHIGAN81600382916.1
\n", "
(rows: 89, time: 1.5s, cached, job: job_xz8OgI40jd2GPlDk9J5fqZjxTDY)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_xz8OgI40jd2GPlDk9J5fqZjxTDY" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " substr(pop_state_code, 1, 2) state_code,\n", " first(substr(pop_state_code, 4)) state_name,\n", " sum(dollarsobligated) sum_dollarsobligated\n", "from\n", " gpqueries:contracts.raw\n", "group by\n", " state_code\n", "order by\n", " sum_dollarsobligated desc" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Facts about Government Contracting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's check some popular statements about government contracting." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Small Businesses Win Most Contracts" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Contractors had to report their revenue and the number of employees. It makes easy to check if small business is welcomed in government contracting:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%%sql --module gpq\n", "\n", "define query vendor_size_by_agency\n", "select\n", " substr(agencyid, 1, 4) agency_id,\n", " first(substr(agencyid, 7)) agency_name,\n", " nth(11, quantiles(annualrevenue, 21)) vendor_median_annualrevenue,\n", " nth(11, quantiles(numberofemployees, 21)) vendor_median_numberofemployees,\n", " count(*) transactions,\n", " sum(dollarsobligated) sum_dollarsobligated\n", "from\n", " gpqueries:contracts.raw\n", "group by\n", " agency_id\n", "having\n", " transactions > 1000 and\n", " sum_dollarsobligated > 10e6\n", "order by\n", " vendor_median_annualrevenue asc" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
agency_idagency_namevendor_median_annualrevenuevendor_median_numberofemployeestransactionssum_dollarsobligated
01242ANIMAL AND PLANT HEALTH INSPECTION SERVICE0.0012681.418465e+08
11528IMMIGRATION AND NATURALIZATION SERVICE0.0048581.808390e+09
25800FEDERAL EMERGENCY MANAGEMENT AGENCY0.0038577.360614e+08
31900STATE, DEPARTMENT OF1000.0109068359.612514e+10
49568BROADCASTING BOARD OF GOVERNORS1000.01865801.719051e+09
57200AGENCY FOR INTERNATIONAL DEVELOPMENT1000.0101129035.683631e+10
62800SOCIAL SECURITY ADMINISTRATION81000.011406691.636968e+10
71226FOREST SERVICE100000.02246861.554254e+09
812E3RURAL HOUSING SERVICE110000.02876591.124532e+09
92028U.S. SECRET SERVICE110000.0211441.870609e+08
102001DEPARTMENTAL OFFICES128000.05175142.408785e+09
114500EQUAL EMPLOYMENT OPPORTUNITY COMMISSION150000.03323097.296316e+08
129524NATIONAL MEDIATION BOARD150000.0215781.539304e+07
131560ATF ACQUISITION AND PROPERTY MGMT DIV500000.07432682.834267e+09
141227SOIL CONSERVATION SERVICE600000.01012022.188730e+08
152026FINANCIAL CRIME ENFORCEMENT NETWORK700000.01055551.951988e+09
162022ALCOHOL AND TOBACCO TAX AND TRADE BUREAU757000.01118503.831141e+08
1712C2FOREST SERVICE850000.0104315211.722469e+10
187520PUBLIC HEALTH SERVICE890000.011107751.076623e+09
196950UNITED STATES COAST GUARD1100000.015257502.632710e+09
201422BUREAU OF LAND MANAGEMENT1100000.0121735464.997679e+09
212024FEDERAL LAW ENFORCEMENT TRAINING CENTER1100000.02032272.085935e+08
226100CONSUMER PRODUCT SAFETY COMMISSION1100000.026115332.786294e+08
231438OFFICE OF SURFACE MINING, RECLAMATION AND ENFO...1100000.010111081.894074e+08
241153UNITED STATES TRADE AND DEVELOPMENT AGENCY1183519.01020321.256019e+08
251230AGRICULTURAL RESEARCH SERVICE1300000.01231713.087970e+08
262046OFFICE OF THE COMPTROLLER OF THE CURRENCY1400000.022148981.668664e+09
271603OFFICE OF THE SOLICITOR1440000.02117485.414278e+07
284740PUBLIC BUILDINGS SERVICE1573150.0714887119.933295e+10
2912C3NATURAL RESOURCES CONSERVATION SERVICE1631681.020447051.585386e+09
.....................
1212044UNITED STATES MINT10000000.050535743.109847e+10
1222700FEDERAL COMMUNICATIONS COMMISSION10000000.013099541.160409e+09
1239507COMMODITY FUTURES TRADING COMMISSION10500000.014055595.247360e+08
1244705OFFICE OF THE ADMINISTRATOR(ACMD)11000000.09158941.319038e+09
1257529NATIONAL INSTITUTES OF HEALTH11000000.01154016096.319064e+10
1261540FEDERAL PRISON SYSTEM11000000.07010194293.446292e+10
1271665PENSION BENEFIT GUARANTY CORPORATION11000000.0200126473.141358e+09
1287003U.S. CITIZENSHIP AND IMMIGRATION SERVICES11000000.072378328.801395e+09
1291344PATENT AND TRADEMARK OFFICE11000645.088300128.576179e+09
1303355NATIONAL GALLERY OF ART11500000.05240343.882365e+08
1316000RAILROAD RETIREMENT BOARD12000000.013054832.725028e+08
13219BMINTERNATIONAL BOUNDARY AND WATER COMMISSION: U...13209362.09748326.288717e+08
1338961FEDERAL ENERGY REGULATORY COMMISSION14996000.05856785.596401e+08
1344704OFFICE OF INSPECTOR GENERAL15000000.07011343.663729e+07
1353600VETERANS AFFAIRS, DEPARTMENT OF15000000.014952852402.059998e+11
1364732FEDERAL ACQUISITION SERVICE15000000.05714138732.911922e+10
1378000NATIONAL AERONAUTICS AND SPACE ADMINISTRATION18000000.01804469632.112742e+11
1381549FEDERAL BUREAU OF INVESTIGATION18000000.0100728151.711656e+10
13912D2FARM SERVICE AGENCY18000000.0100357221.874517e+10
1406940NATIONAL HIGHWAY TRAFFIC SAFETY ADMINISTRATION19000000.0120122521.890718e+09
1416930FEDERAL RAILROAD ADMINISTRATION20000000.0579124448.030557e+08
1420559GAO, EXCEPT COMPTROLLER GENERAL20201548.018927284.145613e+08
1437001OFFICE OF PROCUREMENT OPERATIONS20828724.0383717282.463028e+10
1447505OFFICE OF ASSISTANT SECRETARY FOR ADMINISTRATI...26106972.030451811.413397e+10
1459000SELECTIVE SERVICE SYSTEM30457000.030011412.356269e+07
1467528AGENCY FOR HEALTHCARE RESEARCH AND QUALITY32800000.0120067192.759358e+09
1471436BUREAU OF SAFETY AND ENVIRONMENTAL ENFORCEMENT32850550.014129582.827946e+08
1481524DRUG ENFORCEMENT ADMINISTRATION40000000.03502617966.429977e+09
14912K2AGRICULTURAL MARKETING SERVICE50000000.0296228351.623015e+10
1501544U.S. MARSHALS SERVICE120000000.02000784417.840888e+09
\n", "

151 rows × 6 columns

\n", "
" ], "text/plain": [ " agency_id agency_name \\\n", "0 1242 ANIMAL AND PLANT HEALTH INSPECTION SERVICE \n", "1 1528 IMMIGRATION AND NATURALIZATION SERVICE \n", "2 5800 FEDERAL EMERGENCY MANAGEMENT AGENCY \n", "3 1900 STATE, DEPARTMENT OF \n", "4 9568 BROADCASTING BOARD OF GOVERNORS \n", "5 7200 AGENCY FOR INTERNATIONAL DEVELOPMENT \n", "6 2800 SOCIAL SECURITY ADMINISTRATION \n", "7 1226 FOREST SERVICE \n", "8 12E3 RURAL HOUSING SERVICE \n", "9 2028 U.S. SECRET SERVICE \n", "10 2001 DEPARTMENTAL OFFICES \n", "11 4500 EQUAL EMPLOYMENT OPPORTUNITY COMMISSION \n", "12 9524 NATIONAL MEDIATION BOARD \n", "13 1560 ATF ACQUISITION AND PROPERTY MGMT DIV \n", "14 1227 SOIL CONSERVATION SERVICE \n", "15 2026 FINANCIAL CRIME ENFORCEMENT NETWORK \n", "16 2022 ALCOHOL AND TOBACCO TAX AND TRADE BUREAU \n", "17 12C2 FOREST SERVICE \n", "18 7520 PUBLIC HEALTH SERVICE \n", "19 6950 UNITED STATES COAST GUARD \n", "20 1422 BUREAU OF LAND MANAGEMENT \n", "21 2024 FEDERAL LAW ENFORCEMENT TRAINING CENTER \n", "22 6100 CONSUMER PRODUCT SAFETY COMMISSION \n", "23 1438 OFFICE OF SURFACE MINING, RECLAMATION AND ENFO... \n", "24 1153 UNITED STATES TRADE AND DEVELOPMENT AGENCY \n", "25 1230 AGRICULTURAL RESEARCH SERVICE \n", "26 2046 OFFICE OF THE COMPTROLLER OF THE CURRENCY \n", "27 1603 OFFICE OF THE SOLICITOR \n", "28 4740 PUBLIC BUILDINGS SERVICE \n", "29 12C3 NATURAL RESOURCES CONSERVATION SERVICE \n", ".. ... ... \n", "121 2044 UNITED STATES MINT \n", "122 2700 FEDERAL COMMUNICATIONS COMMISSION \n", "123 9507 COMMODITY FUTURES TRADING COMMISSION \n", "124 4705 OFFICE OF THE ADMINISTRATOR(ACMD) \n", "125 7529 NATIONAL INSTITUTES OF HEALTH \n", "126 1540 FEDERAL PRISON SYSTEM \n", "127 1665 PENSION BENEFIT GUARANTY CORPORATION \n", "128 7003 U.S. CITIZENSHIP AND IMMIGRATION SERVICES \n", "129 1344 PATENT AND TRADEMARK OFFICE \n", "130 3355 NATIONAL GALLERY OF ART \n", "131 6000 RAILROAD RETIREMENT BOARD \n", "132 19BM INTERNATIONAL BOUNDARY AND WATER COMMISSION: U... \n", "133 8961 FEDERAL ENERGY REGULATORY COMMISSION \n", "134 4704 OFFICE OF INSPECTOR GENERAL \n", "135 3600 VETERANS AFFAIRS, DEPARTMENT OF \n", "136 4732 FEDERAL ACQUISITION SERVICE \n", "137 8000 NATIONAL AERONAUTICS AND SPACE ADMINISTRATION \n", "138 1549 FEDERAL BUREAU OF INVESTIGATION \n", "139 12D2 FARM SERVICE AGENCY \n", "140 6940 NATIONAL HIGHWAY TRAFFIC SAFETY ADMINISTRATION \n", "141 6930 FEDERAL RAILROAD ADMINISTRATION \n", "142 0559 GAO, EXCEPT COMPTROLLER GENERAL \n", "143 7001 OFFICE OF PROCUREMENT OPERATIONS \n", "144 7505 OFFICE OF ASSISTANT SECRETARY FOR ADMINISTRATI... \n", "145 9000 SELECTIVE SERVICE SYSTEM \n", "146 7528 AGENCY FOR HEALTHCARE RESEARCH AND QUALITY \n", "147 1436 BUREAU OF SAFETY AND ENVIRONMENTAL ENFORCEMENT \n", "148 1524 DRUG ENFORCEMENT ADMINISTRATION \n", "149 12K2 AGRICULTURAL MARKETING SERVICE \n", "150 1544 U.S. MARSHALS SERVICE \n", "\n", " vendor_median_annualrevenue vendor_median_numberofemployees \\\n", "0 0.0 0 \n", "1 0.0 0 \n", "2 0.0 0 \n", "3 1000.0 10 \n", "4 1000.0 1 \n", "5 1000.0 10 \n", "6 81000.0 1 \n", "7 100000.0 2 \n", "8 110000.0 2 \n", "9 110000.0 2 \n", "10 128000.0 5 \n", "11 150000.0 3 \n", "12 150000.0 2 \n", "13 500000.0 7 \n", "14 600000.0 10 \n", "15 700000.0 10 \n", "16 757000.0 11 \n", "17 850000.0 10 \n", "18 890000.0 11 \n", "19 1100000.0 15 \n", "20 1100000.0 12 \n", "21 1100000.0 20 \n", "22 1100000.0 26 \n", "23 1100000.0 10 \n", "24 1183519.0 10 \n", "25 1300000.0 12 \n", "26 1400000.0 22 \n", "27 1440000.0 21 \n", "28 1573150.0 7 \n", "29 1631681.0 20 \n", ".. ... ... \n", "121 10000000.0 50 \n", "122 10000000.0 130 \n", "123 10500000.0 140 \n", "124 11000000.0 91 \n", "125 11000000.0 115 \n", "126 11000000.0 70 \n", "127 11000000.0 200 \n", "128 11000000.0 72 \n", "129 11000645.0 88 \n", "130 11500000.0 52 \n", "131 12000000.0 130 \n", "132 13209362.0 97 \n", "133 14996000.0 58 \n", "134 15000000.0 70 \n", "135 15000000.0 149 \n", "136 15000000.0 57 \n", "137 18000000.0 180 \n", "138 18000000.0 100 \n", "139 18000000.0 100 \n", "140 19000000.0 120 \n", "141 20000000.0 579 \n", "142 20201548.0 189 \n", "143 20828724.0 383 \n", "144 26106972.0 304 \n", "145 30457000.0 300 \n", "146 32800000.0 1200 \n", "147 32850550.0 141 \n", "148 40000000.0 350 \n", "149 50000000.0 296 \n", "150 120000000.0 2000 \n", "\n", " transactions sum_dollarsobligated \n", "0 1268 1.418465e+08 \n", "1 4858 1.808390e+09 \n", "2 3857 7.360614e+08 \n", "3 906835 9.612514e+10 \n", "4 86580 1.719051e+09 \n", "5 112903 5.683631e+10 \n", "6 140669 1.636968e+10 \n", "7 24686 1.554254e+09 \n", "8 87659 1.124532e+09 \n", "9 1144 1.870609e+08 \n", "10 17514 2.408785e+09 \n", "11 32309 7.296316e+08 \n", "12 1578 1.539304e+07 \n", "13 43268 2.834267e+09 \n", "14 1202 2.188730e+08 \n", "15 5555 1.951988e+09 \n", "16 1850 3.831141e+08 \n", "17 431521 1.722469e+10 \n", "18 10775 1.076623e+09 \n", "19 25750 2.632710e+09 \n", "20 173546 4.997679e+09 \n", "21 3227 2.085935e+08 \n", "22 11533 2.786294e+08 \n", "23 11108 1.894074e+08 \n", "24 2032 1.256019e+08 \n", "25 3171 3.087970e+08 \n", "26 14898 1.668664e+09 \n", "27 1748 5.414278e+07 \n", "28 1488711 9.933295e+10 \n", "29 44705 1.585386e+09 \n", ".. ... ... \n", "121 53574 3.109847e+10 \n", "122 9954 1.160409e+09 \n", "123 5559 5.247360e+08 \n", "124 5894 1.319038e+09 \n", "125 401609 6.319064e+10 \n", "126 1019429 3.446292e+10 \n", "127 12647 3.141358e+09 \n", "128 37832 8.801395e+09 \n", "129 30012 8.576179e+09 \n", "130 4034 3.882365e+08 \n", "131 5483 2.725028e+08 \n", "132 4832 6.288717e+08 \n", "133 5678 5.596401e+08 \n", "134 1134 3.663729e+07 \n", "135 5285240 2.059998e+11 \n", "136 1413873 2.911922e+10 \n", "137 446963 2.112742e+11 \n", "138 72815 1.711656e+10 \n", "139 35722 1.874517e+10 \n", "140 12252 1.890718e+09 \n", "141 12444 8.030557e+08 \n", "142 2728 4.145613e+08 \n", "143 71728 2.463028e+10 \n", "144 5181 1.413397e+10 \n", "145 1141 2.356269e+07 \n", "146 6719 2.759358e+09 \n", "147 2958 2.827946e+08 \n", "148 261796 6.429977e+09 \n", "149 22835 1.623015e+10 \n", "150 78441 7.840888e+09 \n", "\n", "[151 rows x 6 columns]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bq.Query(gpq.vendor_size_by_agency).to_dataframe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The median shows the most likely supplier. Agencies on the top of the table actively employ vendors whose annual revenue is less than $1mn.\n", "\n", "The Department of Defence, the largest buyer with $4.5tn worth of goods and services bought over these 17 years, has the median vendor with $2.5mn in revenue and 20 employees. It means that half of the DoD's vendors have less than $2.5mn in revenue." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set-Aside Deals Take a Small Share" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Set-aside purchases are reserved for special categories of suppliers, like women-, minority-, and veteran-owned businesses. There's a lot of confusion about their share in transactions. We can settle this confusion with data:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
womenownedflagtransactionssum_dollarsobligated
N401919756.4051823538e+12
Y43089662.48395258992e+11
\n", "
(rows: 2, time: 1.8s, cached, job: job_iOFnq8ieeeHX2gxQWTCCr4ZOEuE)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_iOFnq8ieeeHX2gxQWTCCr4ZOEuE" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " womenownedflag,\n", " count(*) transactions,\n", " sum(dollarsobligated) sum_dollarsobligated\n", "from\n", " gpqueries:contracts.raw\n", "group by\n", " womenownedflag" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Women-owned businesses make about one tenth of the transactions, but their share in terms of sales is only 3.7%.\n", "\n", "A cross-tabulation for major set-aside categories:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
womenownedflagveteranownedflagminorityownedbusinessflagtransactionssum_dollarsobligated
NNY20519782.70617792041e+11
NNN352863335.91438262215e+12
NYY49461761028950046.2
NYN23590471.59152989569e+11
YNY86233680295343639.0
YNN32651631.53867438135e+11
YYY625975086157754.65
YYN1188709146319463.28
\n", "
(rows: 8, time: 0.6s, cached, job: job_Qh4DhmZZecFIWeF7Wlah0cQwfSM)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_Qh4DhmZZecFIWeF7Wlah0cQwfSM" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " womenownedflag, veteranownedflag, minorityownedbusinessflag,\n", " count(*) transactions,\n", " sum(dollarsobligated) sum_dollarsobligated\n", "from\n", " gpqueries:contracts.raw\n", "group by\n", " womenownedflag, veteranownedflag, minorityownedbusinessflag\n", "order by\n", " womenownedflag, veteranownedflag, minorityownedbusinessflag desc" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For example, firms owned by women, veterans, and minorities (all represented at the same time) sell $5bn in goods and services. That's 0.07% of all government purchases." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### New Vendors Emerge Each Year" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Becoming a government contractor may seem difficult at first, but let's see how many new contractors the government had in 2015." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
new_vendorsold_vendors
18258131537
\n", "
(rows: 1, time: 0.7s, cached, job: job_OjFASl4YsdPFMqmG63vz8lXqgzc)
\n", " \n", " " ], "text/plain": [ "QueryResultsTable job_OjFASl4YsdPFMqmG63vz8lXqgzc" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%sql\n", "select\n", " sum(if(before2015.dunsnumber is null, 1, 0)) new_vendors,\n", " sum(if(before2015.dunsnumber is null, 0, 1)) old_vendors\n", "from\n", " flatten((select unique(dunsnumber) dunsnumber from gpqueries:contracts.raw where fiscal_year = 2015), dunsnumber) in2015\n", "left join\n", " flatten((select unique(dunsnumber) dunsnumber from gpqueries:contracts.raw where fiscal_year < 2015), dunsnumber) before2015\n", " on before2015.dunsnumber = in2015.dunsnumber" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "(The variable `dunsnumber` refers to the unique number each contractor obtains at [SAM.gov](https://www.sam.gov/portal/SAM/). It identifies unique contractors better than `vendorname`, which varies.)\n", "\n", "In 2015, 12% of the suppliers turned out to be companies that had never sold to the government." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## More\n", "\n", "This was a short intro to government contracting data.\n", "\n", "For more, check the [Government Procurement Queries](https://github.com/antontarasenko/gpq) project." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Contacts" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Anton Tarasenko\n", "\n", "\n", "\n", "\n", "\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 } ================================================ FILE: queries/most-popular-products.sql ================================================ # What government agencies spend most money on # You can add geographical variables to `group by` to find out where agencies buy products from select substr(productorservicecode, 1, 4) product_id, first(substr(productorservicecode, 7)) product_name, count(*) transactions, sum(dollarsobligated) sum_dollarsobligated from gpqueries:contracts.raw group by product_id order by sum_dollarsobligated desc ================================================ FILE: queries/search-in-descriptions.sql ================================================ # Searching specific terms in the "description of contract requirement" field # Ususally yield the closest to what you can know about potential government customers # Add more conditions to `where` to narrow results by geography and dates select agencyid, dollarsobligated, descriptionofcontractrequirement from gpqueries:contracts.raw where descriptionofcontractrequirement contains 'body camera' ignore case ================================================ FILE: queries/smb-friendly-agencies.sql ================================================ # Finding agencies that often buy from small and medium businesses # New contractors may find selling to these agencies easier than to the others # The vendor median revenue is used for ranking. select substr(agencyid, 1, 4) agency_id, first(substr(agencyid, 7)) agency_name, nth(11, quantiles(annualrevenue, 21)) vendor_median_annualrevenue, nth(11, quantiles(numberofemployees, 21)) vendor_median_numberofemployees, count(*) transactions, sum(dollarsobligated) sum_dollarsobligated from gpqueries:contracts.raw group by agency_id having transactions > 1000 and sum_dollarsobligated > 10e6 order by vendor_median_annualrevenue asc ================================================ FILE: queries/studying-competitors.sql ================================================ # Specifying "vendor name" to find out what other firms in your industry sell to the government # Data analytics vendors are used for example select agencyid, dollarsobligated, vendorname, descriptionofcontractrequirement from gpqueries:contracts.raw where vendorname contains 'tableau' or vendorname contains 'socrata' or vendorname contains 'palantir' or vendorname contains 'revolution analytics' or vendorname contains 'mathworks' or vendorname contains 'statacorp' or vendorname contains 'mathworks' order by dollarsobligated desc ignore case ================================================ FILE: queries/studying-industry.sql ================================================ # Using NAICS codes and breakdown by agency, check how agencies buy goods and services in your industry select substr(agencyid, 1, 4) agency_id, first(substr(agencyid, 7)) agency_name, substr(principalnaicscode, 1, 6) naics_id, first(substr(principalnaicscode, 9)) naics_name, count(*) transactions, sum(dollarsobligated) sum_dollarsobligated from gpqueries:contracts.raw where principalnaicscode contains 'software' and fiscal_year = 2015 group by agency_id, naics_id order by sum_dollarsobligated desc ignore case ================================================ FILE: queries/what-agencies-buy.sql ================================================ # Finding out what specific agencies buy and use # Restrict the timeframe with "fiscal_year" in `where` to get the recent trends select fiscal_year, dollarsobligated, vendorname, city, state, annualrevenue, numberofemployees, descriptionofcontractrequirement from gpqueries:contracts.raw where agencyid contains 'transportation security administration' and principalnaicscode contains 'computer and software stores' ignore case