Skip to content

wage_noadj: Hourly wage

wage_noadj title image

Description

wage_noadj is the hourly wage in dollars per hour for workers paid hourly or nonhourly. In contrast to wage, wage_noadj is not adjusted for top-coding and is missing for nonhourly workers whose hours vary.

Availability

Sample Years
ORG All years

wage_noadj includes overtime, tips, commissions for nonhourly workers, but excludes these payments for hourly workers (see also wageotc_noadj).

Detailed comments

The analysis above uses the CPS ORG for 1979-2023 and the CPS May for 1973-1978.

Code

Variable creation
********************************************************************************
* wage_noadj
* NBER-style wage variable usual hourly earnings
* Including overtime, tips, commissions for nonhourly workers
* EXcluding overtime, tips, commissions for hourly workers
********************************************************************************

* wage2
* Usual hourly earnings including overtime, tips, commissions
* nonhourly workers (paidhre==0)
gen wage2 = .

if $monthlycps == 1 | $maycps == 1 {
    if $earnerinfo == 1 {
        if tm(1973m1) <= $date & $date <= tm(1978m12) {
            replace wage2 = weekpay_noadj/hoursumay if paidhre == 0
        }
        if tm(1979m1) <= $date & $date <= tm(1993m12) {
            replace wage2 = weekpay_noadj/hoursuorg if paidhre == 0
        }
        if tm(1994m1) <= $date {
            replace wage2 = weekpay_noadj/hoursu1 if paidhre == 0
        }
    }
}

replace wage2 = . if wage2 < 0

lab var wage2 "Hourly wage (for nonhourly worker)"
notes wage2: Dollars per hour
notes wage2: For nonhourly workers only
notes wage2: Includes overtime, tips, commissions
notes wage2: Usual weekly earnings / usual weekly hours
notes wage2: 1973-1978: weekpay_noadj/hoursumay
notes wage2: 1979-1993: weekpay_noadj/hoursuorg
notes wage2: 1994-present: weekpay_noadj/hoursu1

* now generate wage variable
gen wage_noadj = earnhour if paidhre == 1
replace wage_noadj = wage2 if paidhre == 0

if $maycps == 1 & tm(1980m1) <= $date & $date <= tm(1980m12) {
    * there seems to be something wrong with weekpay in 1980 may data
    * for now in these data code this variable to missing
    replace wage_noadj = .
}

lab var wage_noadj "Hourly wage"
notes wage_noadj: Dollars per hour, for hourly & nonhourly workers
notes wage_noadj: Approximates NBER's recommended wage variable
notes wage_noadj: Includes overtime, tips, commissions for nonhourly
notes wage_noadj: Excludes overtime, tips, commissions for hourly
notes wage_noadj: No adjustments for top-coding, no trimming of outliers
notes wage_noadj: Excludes nonhourly workers whose usual hours vary
Figure creation
keep if age >= 16 & age != .
recode wage (0 = .)
recode wageotc (0 = .)

gen wgt = .
replace wgt = basicwgt if year <= 1978
replace wgt = orgwgt if year >= 1979

gcollapse (mean) wage_noadj wage [pw=wgt], by(year) fast
* inflation-adjust wages
preserve
sysuse cpi_annual, clear
keep year cpiurs
keep if year > = 1973
tempfile cpiurs
save `cpiurs'
restore
merge m:1 year using `cpiurs', keep(3) nogenerate
sum cpiurs if year == 2023
local basevalue = r(mean)
replace wage = wage * `basevalue' / cpiurs
replace wage_noadj = wage_noadj * `basevalue' / cpiurs

* make graph
foreach var of varlist wage* {
    sum `var' if year == 2008
    local `var'yvalue = r(mean)
    local `var'xvalue = 2008
}
local wageyvalue = `wageyvalue' + 1.0
local wage_noadjyvalue = `wage_noadjyvalue' - 1.0

local color1 228 26 28
local color2 55 126 184
local color3 77 175 74
local color4 152 78 163
local color5 255 127 0

local dollar=char(36)

line wage_noadj wage year, ///
legend(off) ///
xlabel(1975(5)2020) ///
ylabel(18(2)32 34 "$34", angle(0) gmin gmax) ///
xtitle("") ytitle("") ///
lcolor("`color4'" "`color2'") ///
graphregion(color(white)) plotregion(color(white)) ///
title("Mean real wages (in 2023`dollar')", size(medium)) ///
text(`wageyvalue' `wagexvalue' "wage (adjusted)", color("`color2'") placement(c)) ///
text(`wage_noadjyvalue' `wage_noadjxvalue' "wage_noadj (unadjusted)", color("`color4'") placement(c))
graph export ${variableimages}wage_noadj_titleimage.svg, replace

/***
The analysis above uses the CPS ORG for 1979-2023 and the CPS May for 1973-1978.
***/