Skip to content
This repository has been archived by the owner on Feb 21, 2022. It is now read-only.

Add PSEO to data schema #92

Closed
srt1 opened this issue Jun 1, 2018 · 26 comments
Closed

Add PSEO to data schema #92

srt1 opened this issue Jun 1, 2018 · 26 comments
Assignees
Labels
PSEO about PSEO
Milestone

Comments

@srt1
Copy link
Collaborator

srt1 commented Jun 1, 2018

We want to include formal documentation of the PSEO outputs in the data schema. Note, I have made some comments to Andrew about the first release, suggesting some adjustments for future releases. Not sure what schema number we want to call this, or if we want a separate schema. It's a pretty simple release, though the future iterations are a little different to QWI/J2J.

See:

https://lehd.ces.census.gov/data/pseo_beta.html

https://lehd.ces.census.gov/data/pseo/

@srt1
Copy link
Collaborator Author

srt1 commented Jun 1, 2018

From: Stephen R Tibbets (CENSUS/CES FED)
Sent: Friday, June 1, 2018 10:29 AM
To: Andrew Foote (CENSUS/CES FED); Erika McEntarfer (CENSUS/CES FED); Joyce Key Hahn (CENSUS/CES FED); Warren, Lawrence Fujio (CENSUS/CES FED)
Subject: Re: Comments on PSEO data scehema

In-line responses below:

From: Andrew Foote (CENSUS/CES FED)
Sent: Friday, June 1, 2018 9:07 AM
To: Stephen R Tibbets (CENSUS/CES FED); Erika McEntarfer (CENSUS/CES FED); Joyce Key Hahn (CENSUS/CES FED); Warren, Lawrence Fujio (CENSUS/CES FED)
Subject: Re: Comments on PSEO data scehema

Stephen -

Thank you for your feedback on this. I think a lot of the comments on variables would be helped along by us having a schema.

For instance, the institution_id variable is sourced from the Department of Education (it is technically the Office of Post-Secondary Education ID (OPEID), and so it is a unique (national) identifier in the data. They don't have leading zeros in the reports I have, but we can add leading zeros to make it uniform.

It's good to know they are nationally unique, so that larger issue should not be one. If they do not use a leading zero, we probably should not - you never know, if we assume it is 6 digits, and they assign a number more than a million we're stuck. We should describe it as a numeric variable in the schema, rather than character - you can't really tell otherwise from a csv which would be appropriate.

As for the CIP codes, I did some poking to see if the ACS has a naming convention (because they have field of study), but it appears that they use a completely different coding scheme for field of study, which is not at all correlated with the CIP codes. Even on the NCES website, the 4 digit CIP codes are just referred to as CIP codes, so we could change that to variable to "cip" and it would be clear to people.

"CIP" is probably good enough, but I don't have a strong opinion on that one.

As for having full labels on output files, that's fine to relegate to schema - I put them up there initially because we didn't really have any infrastructure built.

I do think the csv's should not have labels. One option is to provide supplemental files in XLSX format as well, and include labels on those. They can be created directly from SAS (assuming we get 9.4, eventually - or we can do it manually for these early betas).

As for the file names, is one option having an additional variable that indicates the vintage the data was created on. For instance, the current data would have an 03262018 vintage tag, and new cells will have a different tag. We could have that on the internal version if that makes more sense.

One other small note - all the earnings data will be brought up to current year dollars when we update the tables. Right now it is in 2016 dollars, but it will need to be updated. One important thing to note is that the data will always (before pre-release) be in 2016 dollars, because the histogram is in 2016 dollars. Then everything will be transformed into current year dollars.

We typically don't include the "vintage" info in the release data itself, rather providing the info in an accompanying metadata file. Given the data is so small, we could add a variable tagging it directly. If we do roll up multiple cohorts into the same file, we can do a little thinking about how best to tag them. If records from this initial release later get cast into future dollars, those numbers should be tagged differently than this first release, but potentially we would want them to be tagged differently from future cohorts. We can do some brainstorming about that.

You are right about earnings - we should round to the whole dollar.

Easy enough

And we can add a separate flag for suppressed, rather than my solution, which isn't really one. I think each cell should have a status flag (we release all variables or none).

You've just combined two separate concepts into a single variable, in a way. Sometimes better to break it out - not a big deal.


Andrew Foote, Economist, LEHD Center for Economic Studies U.S. Census Bureau
Office 301.763.7469

Cell 202.384.4784

Room 5K058E

Andrew.Foote@census.gov

census.gov
From: Stephen R Tibbets (CENSUS/CES FED)
Sent: Thursday, May 31, 2018 4:48:51 PM
To: Andrew Foote (CENSUS/CES FED); Erika McEntarfer (CENSUS/CES FED); Joyce Key Hahn (CENSUS/CES FED); Warren, Lawrence Fujio (CENSUS/CES FED)
Subject: Comments on PSEO data scehema

All,

I did have some thoughts on things we might consider adjusting in the next PSEO release:

  • Current file names are graduate_earnings_utsys.csv and graduate_earnings_all.csv.
  • the "utsys" file is not named in a way that makes it obvious what the next release (in two or three years) would be. If we are just replacing the exact file with an expanded one containing the whole universe (old plus new cohort), it should be vintaged so we can distinguish between the old and new file - even though the "old" data will be exactly the same as the previous release.
  • Will the "old" data be at least brought into current dollars for comparability?
  • the "all" file is presumably a rollup of all of the other files. Since adding a new state (CO) will change this file, the old one and the new one should be in separate releases - similar to note above.
  • There should be a metadata file describing the contents of the release (see https://lehd.ces.census.gov/data/j2j/R2017Q4/j2j/ak/version_j2j.txt)
  • There should be some kind of directory structure under PSEO, possibly with a "Current" if we want to point to the latest one of multiple (e.g., old and new "all" or "utsys" files). We should ask Heath what he would recommend on that.
  • I don't like having full labels contained in the output files - I'd prefer the labels were relegated to a data schema. I assume the thinking was that these files are small, so it doesn't matter. But even so, we should have a formal schema for the characteristic variables.
  • Institution_ID
    • Where does the "institution_id" come from? Is it a state assigned variable?
    • I notice they have different lengths - do they not use leading zeroes?
    • If is state assigned, can the identifiers crash across state systems? If so, we might want to pad it with something so that they are nationally unique (a la the SEIN).
  • degcip_4dig is a very quirky variable name to me. Is there Census standard on what variable name is used for the CIP code?
  • Why do we provide earnings precision to the nearest penny? Seems a little overboard to me - all QWI and J2J earnings measures are rounded to the nearest dollar.
  • I might add a separate flag for "released" vs. "suppressed or not avail" - which is more-or-less what I assume the cellcount=-1 is. In QWI/J2J each variable has a "status" flag attached. We may not need that here exactly, if the percentiles are all released together, but I would have a flag indicating when things are missing.

Our current full QWI/J2J data schema is here:

https://lehd.ces.census.gov/data/schema/V4.2.0/lehd_public_use_schema.html

Given how simple this file is, it should not be a big deal to formally document, but we should do it. Please let me know if you have any thoughts on my suggestions.

Thanks,
Stephen

@larsvilhuber
Copy link
Member

What is the timeline on this? V4.3 or later?

@srt1
Copy link
Collaborator Author

srt1 commented Jun 4, 2018 via email

@larsvilhuber
Copy link
Member

larsvilhuber commented Jun 4, 2018 via email

@srt1
Copy link
Collaborator Author

srt1 commented Jun 4, 2018 via email

@larsvilhuber larsvilhuber added this to the Future implementation milestone Jun 21, 2018
@srt1
Copy link
Collaborator Author

srt1 commented Sep 13, 2018

FOR DISCUSSION ONLY
Version 0.1 of schema files. I have included "column_definitions" files originally provided to me from Andrew. These are not intended to be included in the schema, but serve as background material.

There will be (for now) two separate "products," PSEO and PSEOD, the latter having the destinations of employment (all names and such are subject to revision at this point). I created "identifiers" and "variables" files, as we do for J2J and QWI. I have also included "label" files for the various characteristic variables.

All up for discussion at this point, this is just where we are so far.
schema.zip

@andrewfoote

This comment has been minimized.

@srt1
Copy link
Collaborator Author

srt1 commented May 8, 2019

Latest version of schema files. A few comments:

  • There will be separate earnings and flow files. The earnings will not have destinations (location/industry of work), the flows data will not have earnings. I proposed using the same layout for both files, with appropriate flagging and "All" variables for the destination, as needed. They could conceptually go in the same file, but we would probably put them in separate ones, file naming convention TBD. We may need a flag to indicate the earnings vs flow data, because it is possible that higher level counts that are the same margins on the two tables could be different, because of how the protection is implemented. Possible naming conventions for the files:

    • pseo_st_flow
    • pseo_st_earn
      or something more akin to our other files:
    • pseo_ss_g_n (earnings data - across all employment locations and industry)
    • pseo_ss_gs_ns (flows data - by employment state and industry)
      or if we want to replicate the conventions on the QWI, including elements that are not relevant:
    • pseo_ss_d_f_g_n_oslp
    • pseo_ss_d_f_gs_ns_oslp

Output files will be organized by the state of the institution, with some multi-state institutions placed into a "US/multi" level table, of some sort.

I'm sure there are other issues and quirks.. will add when I think of them.
pseo schema.zip

@jodyhoonstarr jodyhoonstarr self-assigned this May 8, 2019
@jodyhoonstarr
Copy link
Contributor

jodyhoonstarr commented May 16, 2019

I'm running into a few issues where encoding is crashing the build. I don't have it narrowed down yet but these files should be checked to confirm they're valid utf-8. Here are some problematic rows:

$ grep -axv '.*' ./*csv

label_institution.csv:G06710,FUNDACI�N UNIVERSIDAD DE LAS AM�RICAS PU,SAN ANDR�S CHOLULA,MX,I,
label_institution.csv:003945,UNIVERSITY OF PUERTO RICO - MEDICAL SCIE,R�O PIEDRAS,PR,I,72
label_institution.csv:007108,UNIVERSITY OF PUERTO RICO - R�O PIEDRAS,R�O PIEDRAS,PR,I,72
label_institution.csv:008246,DIN� COLLEGE,TSAILE,AZ,I,04
label_institution.csv:014534,INSTITUTO DE BANCA Y COMERCIO,R�O PIEDRAS,PR,I,72
label_institution.csv:015868,COMMONWEALTH OF PR DEPT OF EDUC - ITPR R,R�O PIEDRAS,PR,I,72
label_institution.csv:025875,UNIVERSIDAD METROPOLITANA,R�O PIEDRAS,PR,I,72
label_institution.csv:035313,UNIVERSIDAD PENTECOSTAL MIZPA,R�O PIEDRAS,PR,I,72
label_institution.csv:036083,CARIBBEAN FORENSIC & TECHNICAL COLL,R�O PIEDRAS,PR,I,72
label_institution.csv:037765,"UNIVERSIDAD DE LA SALLE BAJIO, A.C.",LE�N,MX,I,

Update: Yeah, the label_institution.csv is what was crashing the asciidoctor build.

@larsvilhuber
Copy link
Member

larsvilhuber commented May 16, 2019 via email

@jodyhoonstarr
Copy link
Contributor

Just dropping the csvs into the directory got them caught by the write_schemadoc script. Will untangle this and split it out into its own doc generator.

@jodyhoonstarr
Copy link
Contributor

@srt1
Copy link
Collaborator Author

srt1 commented May 16, 2019 via email

@srt1
Copy link
Collaborator Author

srt1 commented May 16, 2019

label_institution.zip
label_institution.csv in utf-8 format

@larsvilhuber
Copy link
Member

larsvilhuber commented May 16, 2019 via email

@jodyhoonstarr
Copy link
Contributor

jodyhoonstarr commented May 17, 2019

Opened pull reques for pseo schema related changes: #116

@larsvilhuber
Copy link
Member

I have pulled in #116. However, there are a few significant issues: @jodyhoonstarr @andrewfoote

  • for comparison on what is missing, see the Industry coding
  • for Institution (levels and actual institutions): where do these codes come from? What is the related taxonomy/classification that you used here? Provide verbose references and links.
  • for degree levels, where do these codes come from? What is the related taxonomy/classification that you used here? Provide verbose references and links.(how does this relate to CPS, ACS, etc. - ie. other Census Bureau publications)
  • for CIP levels/codes: where do these codes come from? What is the related taxonomy/classification that you used here? Provide verbose references and links
  • agg level: needs a bit of text adjustment to also explain the PSEO agg levels.
  • version metadata for PSEO files is missing.

@jodyhoonstarr
Copy link
Contributor

New pull request with changes from @srt1

#117

@srt1
Copy link
Collaborator Author

srt1 commented Jun 3, 2019

Section 6 Categorical Variables

Add grad_cohort to this section. Text below:

This is a 4-digit number representing the first year of the graduation cohort. The length of the cohort will vary by degree_level as follows:

  • if degree_level=05, cohort is 3 years
    • e.g., grad_cohort=2010 contains graduations years (2010, 2011, 2012)
  • otherwise, cohort is 5 years
    • e.g., grad_cohort=2010 contains graduations years (2010, 2011, 2012, 2013, 2014)

For tabulations across all cohorts, the grad_cohort will be recorded as 0000.

@jodyhoonstarr
Copy link
Contributor

jodyhoonstarr commented Jun 4, 2019

Changes to be implemented:

  1. 5.2.1 add pseoe and pseof flags to table
  2. 6 - Categorical Variables changes listed above
  3. 5.3.6 - Add new pseoe and pseof csvs
  4. 8.1 - Delaware version file broken, link to latest release
  5. Update Changes.txt to include modifications
  6. csv_naming section 5 - add pseoe and pseof
  7. csv_naming section 7 - see below

From @srt1 Email:
Please add the rows below to the table at:
https://lehd.ces.census.gov/data/schema/latest/lehd_csv_naming.html#_types_and_products

type | product | Description | Explanation | url
pseoe | pseo | Post Secondary Employment Outcomes - Earnings | Counts of employed graduates by institution, with earnings quartiles | https://lehd.ces.census.gov/data/#pseo
pseof | pseo | Post Secondary Employment Outcomes - Flows | Counts of employed graduates by institution, location of work and industry | https://

CSV files to be updated (identifiers, pseoe, pseof)
variables_identifiers_csv.zip

@jodyhoonstarr
Copy link
Contributor

Above changes implemented in #119

@srt1
Copy link
Collaborator Author

srt1 commented Jun 4, 2019

Please pick up the following schema files from the M: drive:

  • label_cipcode
    • primary label "All instructional programs' for all
  • label_identifiers_pseo
    • contains grad_cohort_years
  • label_geography_division
    • includes Z for unclassified
    • _needs to be appended to geography "all" file
  • label_industry
    • includes ZZ for _unclassified
  • label_agg_level
    • includes flags for pseoe, pseof
    • drops many aggregations considered out-of-scope, for now (some not currently produced still included)

@jodyhoonstarr
Copy link
Contributor

zip of the above files
label_update.zip

@jodyhoonstarr
Copy link
Contributor

changes can be found in #120

@jodyhoonstarr
Copy link
Contributor

Changes:
Add hyphen to "Post-Secondary" text in 7.2 naming_type table

@srt1
Copy link
Collaborator Author

srt1 commented Jun 5, 2019

Section 5.3.6, 5.3.7:

Please keep status flag in display version

@larsvilhuber larsvilhuber added the PSEO about PSEO label Jun 5, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
PSEO about PSEO
Projects
None yet
Development

No branches or pull requests

5 participants