Inner TRIM3 Masthead
TRIM3 Logo

Job Mod

Updated through Version 22_2

Version History

This document covers the following topics:

Overview

The JobMod module enables analysts to test the impact of various job actions on members of a specifically targeted population. Job actions that may be simulated include minimum wage or other types of wage increases for existing workers or the award of new jobs to non-workers. The "Target Population" set of rules provide a way for users to define the characteristics of the population to which the job action is applicable. The Target Population may be defined by household-, family- and person-level characteristics such as presence of children, poverty status, labor force participation, age, earnings, and benefit receipt.

In setting Target Population rules, if household (or family) characteristics are identified, then every person in a household (or family) having the selected characteristic is included in the targeted population. If person characteristics are identified, then only persons with the selected characteristics are included. All combinations across household, family, and person hierarchies are permitted.

When there is overlap in Target Population rules, the most restrictive rules prevail. For instance, if an analyst indicates that members of the Target Population must be in households that receive TANF, and she also indicates that targeted persons must receive TANF, then only persons receiving TANF will be included in the targeted population. The person-level rule is more restrictive than the household-level rule and, in effect, makes the household-level rule irrelevant in the simulation.

When there is no overlap, the interaction is clearer. If an analyst selects the "single mothers" option of the FamilyStatus rule and the "unemployed worker" option of the LaborForceStatus rule, then only unemployed single mothers will be included in the targeted population.

NOTE: Beginning with Version 10.3, The JobMod unit is defined as a broad family unit; i.e., all persons related to the householder are included in the householder's family, even if some of the persons are members of a smaller family unit. As an example, if a household consists of a married couple, their married adult daughter with her husband and a child, all five persons are treated as a single family. Prior to version 10.3, the JobMod unit was more narrowly defined, and related subfamilies such as the daughter, husband and child in the above example were treated as separate families.

The EmploymentChangeType program rule, in the "Other" category, controls the job actions that may be imposed on the targeted population. Currently just two options are modeled--Universal Experiments and Probabilitic Changes. A third option--Employment Aging--is not yet modeled but may be added in later versions. Universal experiments are job changes that affect all persons in the Target Population, subject to the constraints of the various program rules. A minimum wage increase is a type of universal experiment.

Probabilistic job actions allow analysts to model labor force changes that affect specific Target Population subgroups and to assign probabilities to each of those subgroups. Analysts may define specific types of jobs or wage increases to award based on characteristics of the subgroups and the probabilities associated with each. For instance, the NewJobOption program rule permits analysts to award new jobs based on family characteristic probabilties, on education and age probabilities or by probabilities associated with both sets of characteristics. Once individuals are selected for a new job award, they are assigned one of possibly five different jobs that the analyst has defined using other Probabilistic "New Job" rules.

Universal Job Actions

The Universal Experiment set of rules allow an analyst to simulate any of the following job actions with the UniversalOption rule.

  1. Give minimum wage jobs to nonworkers
  2. Increase existing earnings
  3. Increase hours of work
  4. Simulate a minimum wage increase
  5. Simulate a lump sum wage increase

Give Minimum Wage Jobs to Nonworkers

As with other job actions, a minimum wage job is awarded only to members of the Target Population. The program rule IncludeDisabled controls whether or not disabled persons are included. Minimum wage jobs are awarded to persons with or without earnings and to persons with or without self-employment earnings, though new jobs are awarded only in months when a worker has no earnings. (Note that workers who report weeks of work but who have no earnings--i.e., persons who work at unpaid jobs are included in this job action.) To simulate a minimum wage job award, users must supply a wage rate in the HourlyWageRate program rule. Hours per week are set to 40, and weeks per month are set to 4.3333. Thus, a worker earns HourlyWageRate * 40 * 4.3333 in any month in which a new minimum wage job is awarded.

If WageIncreaseLimitOption is set to "Use program rule AnnualEarningsCeiling(s) to limit the earnings increase," then AnnualEarningsCeilingType and possibly also AnnualEarningsCeiling_Joint must also be set. AnnualEarningsCeilingType options include the following:
0 = No annual earnings ceiling
1 = Only AnnualEarningsCeiling will be used. Calculations will be made at the individual level. AnnualEarningsCeiling_Joint will not be used.
2 = AnnualEarningsCeiling_Joint will be used for married couples. Jobs will first be awarded to the spouse working the most hours and then to the other spouse. AnnualEarningsCeiling will be used for all other unit types.
3 = AnnualEarningsCeiling_Joint will be used for married couples. Jobs will first be awarded to the spouse with the most earnings and then to the other spouse. AnnualEarningsCeiling will be used for all other unit types.
4 = AnnualEarningsCeiling_Joint will be used for married couples. Jobs will be awarded simultaneously to both spouses. AnnualEarningsCeiling will be used for all other unit types.

When awarding new jobs on an individual basis, an analyst should select AnnualEarningsCeilingType Option 1 and supply a ceiling for the earnings increase in AnnualEarningsCeiling. As new earnings accumulate during each month of processing, this limit is continually tested. No additional earnings are awarded in months after AnnualEarningsCeiling is reached or if that month's job award would exceed the ceiling.

An analyst may also choose to award new jobs to married couples rather than to individuals. When awarding jobs to couples, analysts must specify how jobs are to be awarded by selecting AnnualEarningsCeilingType Option 2, 3 or 4 and specify both an individual earnings ceiling in AnnualEarningsCeiling and a ceiling for couples in AnnualEarningsCeiling_Joint. Alternatively, if WageIncreaseLimitOption is set to "Use family poverty ratio computed with FamPovCompMethod 2", a worker's family poverty rate (re-computed monthly as new earnings are awarded) will be used to limit a job award. Program rule FamPovParticipationCeiling specifies the poverty ceiling to apply.

Increase Existing Earnings

An increase to existing earnings is awarded only to members of the Target Population. Any reported WorkersCompensation or UnemploymentCompensation is unaffected and does not exclude a person from this job action. However, persons with no existing earnings are excluded.

To model this option, users must specify the minimum number of hours per week a targeted person is to work in the MinimumHoursPerWeek program rule and a simulated wage rate in the HourlyWageRate program rule. If HourlyWageRate is set to -1, then users must, instead, supply values for AltMinimumWage and MaximumHourlyRate. In the latter case, JobMod computes a person's existing wage rate and sets the simulated wage rate to AltMinimumWage for workers whose existing wage rate is below that minimum. Program rule MaximumHourlyRate specifies the maximum hourly wage rate for the wage increase. Workers with an existing wage rate greater than this rate are unaffected by the job action. When HourlyWageRate is set to -1,the monthly job award is computed as the simulated wage rate * MinimumHoursPerWeek * monthly weeks worked. Otherwise, if HourlyWageRate has been supplied, then the monthly job award is computed as the simulated wage rate * MinimumHoursPerWeek * the number of weeks in a month (4.3333).

If WageIncreaseLimitOption is set to "Use program rule AnnualEarningsCeiling to limit the earnings increase", then a targeted person's annual earnings must be less than AnnualEarningsCeiling. As new earnings accumulate during each month of processing, this limit is continually tested. No additional earnings are awarded in months after AnnualEarningsCeiling is reached. It is possible that a job award will cause the limit to be exceeded in a single month, though no further increases will be awarded.

If, instead, WageIncreaseLimitOption is set to "Use family poverty ratio computed with FamPovCompMethod 2", then the family poverty ratio that is computed for the worker is used in place of the AnnualEarningsCeiling to limit job awards. Program rule FamPovParticipationCeiling provides the poverty ceiling to apply. These rules prevent additional earnings from being awarded after the month in which a worker's family poverty ratio reaches the limit provided by FamPovParticipationCeiling. JobMod evaluates each worker independently, not accounting for any possible increase in the wages of another family member. If wages of another family member have already been increased by the time a worker is evaulated for a possible earnings increase. the family's poverty rate will not reflect the prior change affecting the other family member. It will only reflect changes affecting the worker who is currently being evaluated.

Increase Hours of Work

For an increase to hours worked, a person must have earned income and be a member of the targeted population. Analysts may include students by selecting that option in the IncludeStudents program rule. The job award increases hours worked by the percent specified by IncreaseToHoursWorked. HourlyRate should be set to -1 for this job award, as a worker's current wage rate is used for the added hours of work. Both usual hours worked and earnings are increased by the amount specified in IncreaseToHoursWorked. A person is not made any worse off by this action--i.e., no negative self-employment earnings are made larger.

Simulate a Minimum Wage Increase

Analysts can simulate a minimum wage increase for existing workers by using the "Universal Experiment" option of EmploymentChangeType rule and setting the UniversalOption rule to "Simulate a minimum wage increase" with SimulationMode set to "Alternative". If the increase should be restricted to a particular subgroup of workers, those restrictions can be imposed through the TargetPopulation parameters and/or the MoreTargetCriteria form. Even if no restrictions are explicitly imposed, individuals with wage/salary income who also have self-employment income are currently excluded from this processing due to difficulties in determining their hourly wage from survey data.

Overview

The new minimum wage is entered in parameter AltMinimumWage. In all cases, the increase will directly affect workers who appear to have an hourly wage that is greater than or equal to the currently-applicable minimum wage, but less than AltMinimumWage. For these directly-affected workers, their wages are increased by the ratio of the new minimum wage to their current hourly wage. Simulating a minimum wage increase does not alter hours or weeks of work or any existing UnemploymentCompensation or WorkersCompensation that a worker has reported; the only changes made are to a workers' monthly and annual wage earnings. (The definitions of a worker’s current hourly wage and the currently-applicable minimum wage rate are discussed below.)

The analyst can choose to set a tolerance below the currently-applicable minimum wage to allow for data errors, and to allow for "spillover" of the minimum wage impacts. The code also allows for the possibility job loss. Finally, minimum wages can also be applied to create modified baseline data to be provided to subsequent simulations (within the same run setup). These topics are all discussed below.

Defining each worker’s current hourly wage

An analyst has several options for defining workers’ hourly wage. If no information is available giving specifically-reported hourly wages (in the input variables in the subcategory "Earnings Sample Data") then each wage-earner’s hourly data is computed from the annual survey data, as (annual wage/salary earnings) divided by (annual hours of work). If information is provided via the "Earnings Sample Data" variables, then that information may be used instead of the wage rate implied by the annual data. The analyst controls exactly when the precisely-reported wage is used instead of the implied wage using parameter SampleEarningsOption.

Current Minimum Wage Rate (before the increase)

The currently-applicable minimum wage is the maximum of the FederalMinimumWageRate and the StateMinimumWageRate for the state in which a worker resides. (The federal minimum wage is currently the same across the country, but the FederalMinimumWageRate is a state-level parameter to allow greater flexibility in setting up simulations.) Workers with an hourly wage between the minimum wage that currently applies to them (the higher of the federal or state minimum for their state) and the new minimum wage (in AltMinimumWage) are directly affected by the minimum wage increase.

Tolerance in defining workers making exactly the minimum wage

Because the annual data may not produce a precise hourly wage due to imprecision in survey responses, the analyst may choose to treat hourly wages that are below the current minimum wage to some extent as being equivalent to the minimum wage. If a worker's existing wage rate is below the current minimum wage by no more than the amount in parameter DeviationBelowMinTreatedAsMin, it is treated the same as if it were equal to the current minimum wage. For example, if the current minimum wage is $7.25 but the tolerance is set to 25 cents, a person with a wage of $7.00 to $7.24 is treated as if their hourly wage is $7.25. In computing the percentage increase needed for a person to be brought up to the new minimum wage, the new minimum wage is compared $7.25, and that ratio is applied to their wage earnings.

Modeling spillover effects

When applying a minimum wage increase, analysts may choose to model "spillover" wage increases in which hourly wages are increased for some individuals currently earning somewhat below the current minimum wage or somewhat higher than the new minimum wage (in other words, somewhat outside the current range that will be directly affected by the new minimum wage). As an example, suppose an analyst were to simulate a minimum wage increase from $7.25 to $8.25. Any worker with an hourly wage of $7.25 to under $8.25 would have his or her wage rate increased to $8.25. However, an employer who previously had one employee at $7.25 and another at $8.30—who now must increase the first worker’s wage to $8.25 might choose to raise the wage of the worker currently at $8.30 to maintain some additional differential between that person’s pay and the pay of the lower-earning coworker. The following program rules permit an analyst to model such a scenario. They function in conjunction with "Form" rules AdjBelowMinimumWageRate and AdjAboveMinimumWageRate.

  • HighRangeAboveMinimumAdj
  • HighRangeBelowMinimumAdj
  • LowRangeAboveMinimumAdj
  • LowRangeBelowMinimumAdj

If the form rule AdjBelowMinimumWageRate is greater than a worker's existing wage rate AND a worker's existing wage rate is greater than or equal to LowRangeBelowMinimumAdj AND a worker's existing wage rate is less than or equal to HighRangeBelowMinimumAdj, then the simulated hourly rate is set equal to AdjBelowMinimumWageRate for that worker. Likewise, if the form rule AdjAboveMinimumWageRate is greater than a worker's existing wage rate AND a worker's existing wage rate is greater than or equal to LowRangeAboveMinimumAdj AND a worker's existing wage rate is less than or equal to HighRangeAboveMinimumAdj, then the simulated hourly rate is set equal to AdjAboveMinimumWageRate for that worker. The code within the forms AdjBelowMininumWageRate and AdjAboveMininumWageRate can be written to create adjusted hourly wages according to specifications provided by the analyst. In general, these types of adjustments are made in such a way that the percentage increase in wage is highest for workers whose starting wage was closest to the directly-affected range, and declines as workers’ starting wage becomes farther from the directly-affected range.

Modeling job loss

If the analyst views the evidence as indicating that the minimum wage increase would cause job loss, a portion of the individuals whose wage would have to be increased can be selected to instead lose their jobs. Refer to Simulating Job Loss for information on modeling job loss for both minimum wage increases and other universal and probabilistic job actions.

Increasing minimum wages in baseline mode

In some cases, a minimum wage increase is viewed as part of the "baseline" for a set of simulations. This generally occurs when an analyst is starting from one year’s data but wants to impose the higher minimum wages in effect in a later year. To implement this type of change, the analyst can set UniversalOption rule to "Simulate a minimum wage increase" with SimulationMode set to "Baseline". For this type of simulation, FederalMininumWageRate is set to the federal minimum wage in the year of the input data, and StateMininumWageRate is set to the state-specific minimum wage rate in the desired year (which may be deflated to the current year’s dollars). For every person with an hourly wage between the FederalMinimumWageRate and the StateMinimumWageRate, the code raises the person’s wages to be consistent with StateMinimumWageRate.

Program rules

As an aid to the analyst, the program rules used in simulating a minimum wage increase are summarized here:

Basic parameters:
  • EmploymentChangeType - Set to "universal experiment"
  • UniversalOption - Set to "Simulate a minimum wage increase"
  • SimulationMode - Set to "Alternative" to hypothetically increase the wage to a new federal minimum in MininumHourlyRate; set to “Baseline” to create an alternative baseline increasing wages to the StateMininumWageRate.
  • AltMinimumWage - When simulating an "Alternative" minimum wage increase, this state-level parameter holds the new federal minimum wage.
  • MinimumHourlyRate - Obsolete; replaced by AltMinimumWage .
  • FederalMinimumWageRate - This is a state-level program rule that contains the federal minimum wage rate for the year being simulated; generally the same for all states.
  • StateMinimumWageRate - This is a state-level program rule that contains each state's minimum wage rate for the year being simulated.
  • DeviationBelowMinTreatedAsMin - This parameter holds a dollar amount. If a person’s current wage is no more than this amount lower than the applicable minimum wage (the larger of FederalMininumWage or StateMininumWage, he or she is treated as if earning exactly that minimum wage.
  • Parameters used when modeling “spillover” effects:
  • HighRangeAboveMinimumAdj - Defines the highest wage rate that will experience any spillover increase, for workers with an hourly wage above the new minimum wage
  • LowRangeAboveMinimumAdj - Defines the lowest wage rate that will experience any spillover increase, for workers with an hourly wage above the new minimum wage
  • HighRangeBelowMinimumAdj - Defines the highest wage rate that will experience any spillover increase, for workers with an hourly wage below the current minimum wage
  • LowRangeBelowMinimumAdj - Defines the lowest wage rate that will experience any spillover increase, for workers with an hourly wage below the current minimum wage
  • Forms that may be used, depending on choices made by the analyst:
  • AdjBelowMinimumWageRate - Can be used to assign a new wage due to "spillover" effects, for workers below the current minimum wage
  • AdjAboveMinimumWageRate - Can be used to assign a new wage due to "spillover" effects, for workers above the new minimum wage
  • LosesJob - Can be set to simulate job loss for some of the individuals whose wages would have to be increased to comply with the new minimum.
  • UnempCompAward - Can be set to assign unemployment compensation to some or all individuals modeled to lose their job due to the minimum increase.
  • Parameters used when exact hourly wages are available:
  • SampleEarningsOption - When exact hourly wages are available (in addition to implied hourly wages computed from annual wages, weeks of work, and hours-per-week), this parameter indicates when the exact hourly wages are used instead of the implied wages. The analyst may make different choices on whether to use the exact hourly wage data when the information was allocated (imputed), or when a person’s occupation was different at the point the hourly wage was collected compared with the calendar year. (See the data dictionary for values.)
  • The exact hourly wage data (from CPS "earnings sample" data)
    • MatchedEarningsEligUniverse - identifies workers for whom earnings sample data were matched.
    • MatchedHourlyEarnings - Hourly wages reported in the earnings sample data.
    • MatchedHoursWorked - Hours worked reported in the earnings sample data.
    • MatchedWeeklyEarnings - Weekly earnings reported in the earnings sample data.
  • Variables indicating if various information was allocated (imputed) or truly reported by the respondent
    • MatchedAllocFlagHourlyEarnings - If hourly earnings reported in the earnings sample data was allocated.
    • MatchedAllocFlagWeeklyEarnings - If hourly earnings reported in the earnings sample data was allocated.
    • AllocFlagHoursWorked - If hours worked in the calendar year survey data was allocated
    • AllocFlagTotalWages - If wage and salary earnings for the prior year was allocated.
    • AllocFlagWeeksPartTime - If weeks of part-time work the prior year was allocated.
    • AllocFlagWeeksWorked - If total weeks of work the prior year was allocated.

Simulate a Lump Sum Wage Increase/Job Award

JobMod may be used to award a lump sum amount to members of the target population through either an increase in wage and salary earnings or, for non-workers, a new job award. LumpSumAmtSelection indicates how the amount of lump-sum increase is determined. Users may specify a fixed lump sum amount to give to individuals or couples in program rule LumpSumAmount. The amount may range from $100 to $10,000. Alternatively, users may choose to determine the amount via the LumpSumAmtForm. If the form option is chosen, the form must exist, and it must return the dollar amount of increase in annual wage and salary income for each eligible person being processed.

For non-workers, the entire lump sum amount is awarded when the wage rate and hours of work that are specified in AltMinimumWage and LumpSumHoursPerWeek are sufficient for the award amount. LumpSumOption specifies whether each eligible person is treated individually or if married persons are treated as a single couple when awarding the lump sum. For married couples treated as a couple, the rule specifies whether the lump sum amount is awarded to the higher- or lower-earning spouse before the other spouse is evaluated for any remaining award amount.

For existing workers who are treated individually, JobMod increments the worker's implied wage rate, if necessary, to award the full lump sum value if it cannot increase hours per month or weeks per year sufficiently to award the full amount. When married couples are treated as a single unit for purposes of a lump sum award, JobMod awards the maximum amount possible to the first spouse by either adding hours per month or weeks per year. If JobMod is unable to award the entire lump sum to the first spouse, it will award any remaining amount to the second spouse. If necessary, JobMod inflates the second spouse's wage rate sufficiently to cover the entire award amount for the couple.

To award a lump sum amount to a non-worker, JobMod uses the wage rate provided in program rule AltMinimumWage and the hours per week provided in LumpSumHoursPerWeek, along with the number of weeks per month (4.3333) to compute the amount to be awarded in each month until the lump sum amount is satisfied. Selection of beginning month is random. If the beginning month is later than January and the entire lump sum amount has not been awarded by December, then the processing "wraps around" to the beginning of the year to award any remaining amounts.

For existing workers, their earnings each month are compared with the amount of potential earnings computed as LumpSumHoursPerWeek times the number of weeks in a month times either the worker's implied wage rate or a higher wage rate that is needed to satisfy the award amount.(A worker's implied wage rate is computed as the absolute value of the worker's total annual wage and salary earnings plus self-employment, divided by annual hours worked.) Beginning in month 1, JobMod evaluates each month to determine whether earnings can be added to that month. If potential earnings exceed existing earnings, monthly earnings are increased until the entire lump sum amount is awarded.

Probabilistic Job Actions

Probabilistic job actions include two types of actions--the award of new jobs to nonworkers and the award of pay raises to current workers--that may be applied to specific sub-groups of the Target Population according to probabilities associated with those subgroups. Either one or both job actions may be modeled in the same simulation, with a unique set of selection criteria and probabilities for each.

Give Jobs to Nonworkers by Subgroup

To award new jobs probabilistically, analysts should choose the "Probabilistic Changes" option of EmploymentChangeType rule and any of the selection options offered by the NewJobOption program rule--award jobs based on probabilities associated with family characteristics, probabilities associated with various education and age categories, or by both sets of probabilities. If an analyst chooses to award jobs based on family characteristics, she must provide the probabilities that will be used to select each participant from the Target Population using the ProbNewJobByFamChars program rule. She would assign a probability of selection for each of the following family categories.

  1. Single individuals
  2. Married family head/spouse, no children
  3. Single family head, no children
  4. Married family head/spouse with youngest child < 13
  5. Single family head with youngest child age <13
  6. Married family head/spouse with youngest child >= 13
  7. Single family head with youngest child >= 13

The analyst could provide a probability for just one or any number of the categories. Probabilities should be entered as fractions that range from 0 to 1. If a probability is 0, then no persons of that family type would be selected for a job award, whereas if a probability is 1, all persons in that category who are also in the Target Population would be selected for a job award.

If, instead, an analyst selected the option of awarding jobs based on education and age characteristics, she would need to provide probabilities that are used to select each participant from the Target Population using the ProbNewJobByEdAndAge program rule. That rule contains 35 different categories with various combinations of education and age. As with the ProbNewJobByFamChars rule, an analyst would assign probabilities according to whom she wanted to be affected by a new job award. Many categories might not have a probability assigned. Values should be fractional amounts that range from 0 to 1. A value of 0 will cause JobMod to skip over all persons in that category, whereas a value of 1 will cause JobMod to include every person in that category in the selected job action.

Finally, if an analyst selected the option of awarding jobs based on both family type and education and age characteristics, then the analyst would need to provide probabilities for both ProbNewJobByFamChars and ProbNewJobByEdAndAge. In that case, JobMod selects participants based on the multiple of the probabilities. For instance, if a person's ProbNewJobByFamChars probability was 0.5, and his ProbNewJobByEdAndAge probability was 0.3, then the probability he would be awarded a new job would be just 0.15--i.e., only 15 percent of persons in both of those family type and age and education categories would be selected for a new job award. If another person's ProbNewJobByFamChars probability was 0.6, and her ProbNewJobByEdAndAge probability was 0, then she would not be awarded a new job because her probability of selection would be zero.

Once new job participants are selected, another set of program rules determine the characteristics of the jobs that are awarded. Five different jobs may be defined, and analysts may choose one of three methods of awarding one of the jobs that has been defined. New jobs are defined by the NewWorkerHours, NewWorkerRate, and NewWorkerWeeks program rules. Each rule contains 5 values for each of five jobs that may be defined using those parameters. An analyst can use the rules to define just one job or multiple jobs.

The NewJobSelection rule is used to specify the method by which a specific job is to be awarded to a specific participant. NewJobSelection options are:

  1. By education level (no diploma, diploma, some college but no degree, AA but no college degree, or college degree or higher)
  2. Random distribution given in NewJobProb
  3. As defined by the NewJobType form
  4. As defined by NewJobsByState

If an analyst selects either of the first two options, she also needs to assign probabilities associated with each of the five education categories or five job types using the NewJobProb program rule. The probabilities in that rule are associated with education level when the analyst chooses the first NewJobSelection option, whereas they are associated with jobs types when the analyst chooses the second NewJobSelection option. Since the probabilities are used in a generic fashion, depending on which NewJobSelection option is selected, they are labeled generically as "Type 1" through "Type 5".

If an analyst chooses to award jobs by education level, a job with the characteristics defined for Job Type 1 will be awarded to persons having no high school diploma if that person's random number is less than or equal to the probability the analyst has assigned for that education level. If the assigned probability is zero, then no job will be awarded to persons without a high school diploma or the equivalent. If the analyst assigned a single probability of 1 to the second education category--persons with a high school diploma or the equivalent--and all other probabilities were zero, then a job having the characteristics of Job Type 2 would be awarded only to persons with a high school diploma or the equivalent. No jobs would be awarded to persons in any other education category. In order to award a job to every person who has been selected for a job award by preceding rules, then every probability would have to be set to 1. If the probability for every category is set to 0.5, then only 50 percent of the persons in the targeted population will be awarded jobs.

If an analyst chooses to award jobs by random distribution, job types 1 through 5 will be awarded according to the probabilties associated with each of those job types. The probabilities--whether assigned to just one job type or as many as five job types--must sum to 1. Each nonworker who has been selected for a job award is then assigned one of jobs that has been defined based on his/her random number and the probabilities associated with each job type.

If an analyst chooses to award jobs as defined by the NewJobType form, the analyst may program the form to return a value ranging from 1 to 5 based on the characteristics of each nonworker selected to participate from the Target Population. An error will result if the form returns any value outside of the range 1 to 5. Analysts should ascertain that a job type has been defined using the NewWorkerHours, NewWorkerRate, and NewWorkerWeeks program rules for every value returned by the form. For example, if the form returns a value of 4, then the analyst must ascertain that she has defined a job type 4 using the NewWorkerHours, NewWorkerRate, and NewWorkerWeeks program rules.

If the fourth option to award jobs by state is selected, the analyst needs to supply state-level values for the following rules: NewWorkerRateByState, NewWorkerHoursByState and NewWorkerWeeksByState.

Give Raises to Existing Workers by Subgroup

To raise an existing worker's wage rate probabilistically, analysts should choose the "Probabilistic Changes" option of EmploymentChangeType rule and any of the selection options offered by the PayRaiseOption program rule--award pay raises based on family characteristics (ProbRaiseByFamChars), probabilities associated with various education and age categories (ProbRaiseByEdAndAge), or by both sets of probabilities. If an analyst chooses to award pay raises based on family characteristics, she must provide the probabilities that will be used to select each participant from the Target Population using the ProbPayRaiseByFamChars program rule. She would assign a probability of selection for each of the family categories (shown above). The analyst could provide a probability for just one or any number of the categories. Probabilities should be entered as fractions that range from 0 to 1. If a probability is 0, then no workers of that family type would be selected for a pay raise, whereas if a probability is 1, all workers in that category who are also in the Target Population would be selected for a pay raise.

If, instead, an analyst selected the option of awarding pay raises based on education and age characteristics, she would need to provide probabilities that are used to select each participant from the Target Population using the ProbRaiseByEdAndAge program rule. That rule contains 35 different categories with various combinations of education and age. As with the ProbRaiseByFamChars rule, an analyst would assign probabilities according to whom she wanted to be affected by a pay raise. Many categories might not have a probability assigned. Values should be fractional amounts that range from 0 to 1. A value of 0 will cause JobMod to skip over all persons in that category, whereas a value of 1 will cause JobMod to include every person in that category in the selected job action.

Finally, if an analyst selects the option of awarding raises based on both family type and education and age characteristics, then the analyst would need to provide probabilities for both ProbRaiseByFamChars and ProbRaiseByEdAndAge. In that case, JobMod selects participants based on the multiple of the probabilities. For instance, if a worker's ProbRaiseByFamChars probability was 0.5, and her ProbRaiseByEdAndAge probability was 0.4, then the probability she would be awarded a pay raise would be just 0.2--i.e., only 20 percent of workers in both of those family type and age and education categories would be selected for a pay raise. If another person's ProbRaiseByFamChars probability was 0.6, and his ProbRaiseByEdAndAge probability was 0, then he would not be awarded a pay raise because his probability of selection would be zero.

The PayRaiseSelection rule is used to specify the method by which a rate is selected for each participant. NewJobSelection options are:

  1. By education level (no diploma, diploma, some college but no degree, AA but no college degree, or college degree or higher)
  2. Random distribution given in PayRaiseProb
  3. As defined by the PayRaiseFormRate form

If an analyst selects the first option--assign raises according to education level--she also needs to assign wage rates using the PayRaiseRate program rule and associated probabilities using the PayRaiseProb program rule. Probabilities in the PayRaiseProb rule should range from 0 to 1. The analyst may assign up to five values for each rule, each corresponding to five education categories (no diploma, diploma, some college but no degree, AA but no college degree, or college degree or higher). If she assigns a probability of zero for any of the five education categories, then no workers in that category will be awarded a raise, whereas if she assigns a probability of one, then all workers in that education category who have been selected for a raise will be awarded raises. In order to award a pay raise to every person who has been selected for a raise by the preceding rules, then the probability for every category would have to be set to 1. If the probability for every category is set to 0.5, then only 50 percent of the persons who have been selected for a pay raise will actually be awarded a raise.

The probabilities in the PayRaiseProb rule are also used when an analyst selects the second PayRaiseSelection option--assign raises by random distribution. The probabilities should range from 0 to 1, and they should sum to 1, even if a single wage rate is provided in the PayRaiseRate rule and a single probability of 1 is provided in the corresponding category of the PayRaiseProb rule. Since the probabilities are used in a generic fashion, depending on which PayRaiseSelection option is selected, they are labeled generically as "Type 1" through "Type 5".

If an analyst chooses the third PayRaiseSelection option--award raises as defined by the PayRaiseFormRate form--she may program the form to return different wage rates for different workers depending on the characteristics of workers the analyst defines in the form. In this case, the PayRaiseRate and PayRaiseProb rules are not used when awarding raises probabilistically, and any values they contain will be ignored.

Simulating Job Loss

Job loss may be simulated for minimum wage increases or other Universal or Probabilistic job actions. JobLossOption identifies the method to be used for selecting individuals who are to lose their jobs. Options are: 0 = Do not model any reduction in employment; 1 = Probability determined by ProbJobLoss parameters; and 2 = Job loss status determined by the LosesJob form. Unemployment compensation may also be assigned via the UnempCompAward form. An individual who is assigned compensation via the UnempCompAward form will be assigned the maximum of the form value or any unemployment compensation that was reported.

If the LosesJob form method is selected, the form should return a value of 1 for any person selected to lose his/her job. Else, the form should return zero.

The probability method for identifying job losers uses the following set of rules.
- JobLossStartMonth: For people who stop working, this is the first month of job loss.
- JobLossEndMonth: For people who stop working, this is the last month of job loss.
- ProbJobLossByOccupation: Job-loss probability factor, by occupation.
- MajorOccupationVariable: If parameter ProbJobLossByOccupation is being used to vary the probability of job loss by a person's major occupation, this input variable parameter must indicate the variable that provides the major occupation information.
- ProbJobLossByIndustry: Job-loss probability factor, by industry.
- MajorIndustryVariable: If parameter ProbJobLossByIndustry is being used to vary the probability of job loss by a person's major occupation, this input variable parameter must indicate the variable that provides the major industry information.
- ProbJobLossByEdAndAge: Job-loss probability factor, by educational attainment and age group.
- ProbJobLossByWageLevel: Job-loss probability factor, by implied hourly wage rate.
- WageRangesForJobLossProbs: Specifies the wage ranges used in determining probability of job loss in ProbJobLossByWageLevel. A person’s hourly wage rate may affect his or her probability of job loss. This rule defines the wage rate ranges. Each value gives the lowest hourly wage level included in that range. The last range includes all hourly wages from the lowest rate given for that level through the highest rate observed in the data.
- ProbJobLossByState: Job-loss probability factor, by state.

Not all probability factors must be set. Analysts may specify a single probability factor or multiple factors. When multiple factors are set, factors beyond the first one will operate like multiplicative adjustments to the first factor. Because of the potentially complex interactions, the upper bound on the probability factors is 10, though the final probability is not allowed to exceed 1.

A second job loss form -- ProbJobLossAdj -- will be checked once a job loss probability has been computed. This form will allow the analyst to replace the computed probability with a different one. If the ProbJobLossAdj for returns -1, the computed probability will be used. Otherwise, the value returned by the ProbJobLossAdj form will be used as the probability of job loss. Once probability has been set, JobMod compares that probability to a random number to determine whether a person loses his/her job. If the random number is less than the probability, the person is identified as a job loser.

Treatment of Unemployment Compensation and Worker's Compensation

For some job actions, users may specify the way unemployment and worker's compensation are treated. If an analyst chooses to award a minimum wage job in months in which a person has no earnings or to award a lump sum amount via a job action, (s)he may use program rule LimitAwardsToUnemployed to either ignore any existing unemployment and worker's compensation when implementing the job action or bypass individuals who receive that income. For this program rule, the two income types are treated as one. The rule is effective only for these two types of universal job actions.

Another program rule, UnemploymentTreatment provides a way for analysts to either (1) eliminate unemployment compensation for targeted persons in all months, (2) eliminate unemployment compensation only in weeks when a worker gains a job, or (3) not eliminate any reported unemployment compensation when a job action is implemented. If the second option is selected, the analyst must specify two additional variable list rules--SimulatedMonWeeksOfUC and SimulatedMonUCReceived. SimulatedMonWeeksOfUC should contain a monthly results variable from the TRIM UnemploymentComp module that indicates the number of weeks during each month a person has been simulated to receive unemployment compensation. SimulatedMonUCReceived holds the monthly amount a person was simulated to receive. Any new weeks of work that are awarded offset simulated weeks of unemployment compensation, and reported unemployment compensation is reduced proportionately. This feature is intended to keep the edited unemployment compensation amounts consistent with the unemployment compensation amounts used as inputs to other safety net simulations.UnemploymentTreatment is used for three job actions:

  • Universal: Provide a minimum wage job
  • Universal: Award a lump sum amount
  • Probabilistic: Give a non-worker a part-time or full-time job.

Target Population Program Rules

  1. Household Characteristics
    1. HhBenefitsClassification*
      1. No criterion specified, i.e., include persons meeting other selection criteria.
      2. Include only persons in households where at least one person receives TANF.
      3. Include only persons in households that receive SNAP/Food Stamps.
      4. Include only persons in households that receive either TANF or SNAP.
      5. Include only persons in households that receive any of the public assistance included in the PublicAssistanceIncome program rule.
    2. HhIncomeThreshold
      Specifying the maximum value will include households with any amount of income from all sources identified by EarnedIncome and UnearnedIncome.
    3. HhEarnedIncomeThreshold
      Specifying the maximum value will include households with any amount of income in EarnedIncome.
    4. HhWithChild (where a child must be less than the age specified by the ChildAgeCutoff program rule)
      Yes or No

  2. Family Characteristics
    1. FamilyBenefitsClassification*
      1. No criterion specified, i.e., include persons meeting other selection criteria.
      2. Include only persons in families where at least one person receives TANF.
      3. Include only persons in families that receive SNAP/Food Stamps.
      4. Include only persons in families that receive either TANF or SNAP.
      5. Include only persons in families that receive any of the public assistance included in the PublicAssistanceIncome program rule.
    2. FamilyIncomeThreshold
      Specifying the maximum value will include families with any amount of income from all sources identified by EarnedIncome and UnearnedIncome.
    3. FamilyEarnedIncomeThreshold
      Specifying the maximum value will include families with any amount of income in EarnedIncome.
    4. FamilyWithChild (where a child must be less than the age specified by the ChildAgeCutoff program rule)
      Yes or No

  3. Person Characteristics
    1. BenefitsClassification*
      1. No criterion specified, i.e., include persons meeting other selection criteria.
      2. Include only persons who receive TANF.
      3. Include only persons who receive SNAP/Food Stamps.
      4. Include only persons who receive either TANF or SNAP.
      5. Include only persons who receive any of the public assistance included in the PublicAssistanceIncome program rule.
    2. IncomeThreshold
      Specifying the maximum value will include persons with any amount of income from all sources.
    3. EarnedIncomeThreshold
      Specifying the maximum value will include persons with any amount of earned income.
    4. MinimumTargetAge Minimum age of persons included in the Target Population.
    5. MaximumTargetAge Maximum age of persons included in the Target Population.
    6. FamilyStatus
      1. No criterion specified, i.e., include all persons meeting other selection criteria
      2. Include single caretakers only (parents, grandparents, other caretakers)
      3. Include single parents only (subset of b)
      4. Include single mothers only (subset of c)
    7. LaborForceStatus
      1. No criterion specified, i.e., include all persons meeting other selection criteria.
      2. Include only persons with at least one month of unemployment during the year.
      3. Include only persons unemployed for the entire year.
      4. Include part-year workers only
      5. Include part-time workers only
      6. Include unemployed (at least one month) and part-year workers only.
      7. Included unemployed (at least one month), part-year, and/or part-time workers.
    8. EarningStatus
      1. No criterion specified--Include all persons meeting other selection criteria.
      2. Non-earners only--Include only persons with no earned income.
      3. Earners only--Include only persons with earned income.
      4. Wage earners only--Include only persons with wage and salary income (TotalWages > 0).
      5. Self-employed earners only--Include only persons with self-employment income (BusinessSelfEmployment or FarmSelfEmployment != 0).

    *NOTE: Although the benefit set of rules was designed to indicate receipt of Public Assistance or some other benefit, an analyst could enter any use other variables with these rules, and the processing would be the same. For example, an analyst could include in a job action anyone with capital gains by using the TRIM3 capital gains variable with the PublicAssistanceIncome program rule.

  4. Income Computation
    1. EarnedIncome
      A variable list rule that identifies sources of earned income.
    2. UnearnedIncome
      A variable list rule that identifies source of unearned income.

  5. Benefits Received
    1. AFDCReceived
      A variable list rule that identifies the field that contains the amount of AFDC/TANF received. The field may either be a simulated or reported amount.
    2. FoodStampsBenefitsRecvd
      A variable list rule that identifies the field that contains the amount of Food Stamps/SNAP benefits received. The field may either be a simulated or reported amount.
    3. PublicAssistanceIncome
      A variable list rule that identifies the field(s) that contains the amount of public assistance income received. The field(s) may either be simulated or reported.

  6. Other
    1. ChildAgeCutoff
      Children are defined by the module as persons whose age is below the limit specified by this program rule.
    2. IncludeStudents
      A yes/no program rule that specifies whether or not students should be included in the targeted population. Students are identified by their monthly labor force status code (i.e. "going to school this month"). A person who is classified as a student during any month of the year is counted as a student.
    3. IncludeDisabled
      A yes/no program rule that specifies whether or not persons who appear to be disabled should be included. The variable specified by program rule SSIPersonType is used to indicate disability, and it typically contains the SSI output variable AnnualSSIAgedDisabledStatus. A value in excess of 1 is interpreted as indicating disability.
    4. SSIPersonType
      A variable list program rule that is used to identify disabled persons. Users should specify the SSI simulated field, AnnualPersonEligType.

Secondary Impacts from Universal Job Actions

As noted in earlier sections, some job actions cause UnemploymentCompensation and WorkersCompensation to be set to zero when consistent with the job action--e.g., when a former non-worker is awarded a new job--since the person is redefined as a worker in the altered dataset. However, these fields are not set to zero, and a job action is not implemented, if the job action would make a person less well off. Nor are UnemploymentCompensation and WorkersCompensation set to zero for a worker whose existing wages are increased by an increase to wage rate or hours worked. When UnemploymentCompensation and WorkersCompensation are set to zero, then DetailedOtherIncome and GeneralOtherIncome are also affected, as they include workers’s compensation and unemployment compensation. Analysts should refer to the JobMod Coding Guide for more detailed guidance on the impact of job actions on specific fields.

Use of JobMod With Other Simulations

JobMod actions alter the basic input data that other simulations that follow it use for their processing. (Analysts should refer to the JobMod Coding Guide for detailed information about how specific fields are altered by the module.) In order to take advantage of the changes made to the input data, analysts must either precede simulations with a JobMod simulation in a multi-simulation setup or have several different setups for various simulations that are each preceded by a JobMod simulation having identical settings and that produce output that may be used by simulations that follow.

By way of example using a multi-simulation setup, suppose an analyst is interested in the impact JobMod actions might have on the poverty status of families that receive TANF benefits. The analyst could set up a five-simulation run that consists of a JobMod simulation followed by ChildCareExp, FoodStamps, TANF, and finally, Poverty.

The JobMod simulation would need to use as input baseline or other SSI and TANF results that have not been altered by a JobMod simulation. SSI annual output field AnnualPersonEligType is needed for the JobMod program rule SSIPersonType in order to identify and disqualify from any job action persons SSI has determined are disabled. The TANF annual output field AnnualBenefitsReceived is needed for JobMod program rule AFDCReceived to identify AFDC/TANF recipients.

The simulations that follow JobMod will use as input CPS-TRIM3 fields that may have been altered by JobMod--fields such as TotalWages, LastHoursPerWeek, LastWeeksWorked, MonthlyLaborForceActivity, MonthlyEarnings, and MonthlyWeeksWorked--generating results that are based on the "new reality" that has been defined by JobMod. Each simulation's results will be used by the simulations that follow them, and the results of all changes will finally be summarized by Poverty module output.