Skip to content

Odd-job income: 4-week receipts are annualised as weekly amounts, and only for jobs done in the last 7 days #640

Open

Description

@MaxGhenis

Found while populating income_not_otherwise_charged for PolicyEngine/policyengine-uk#2726. I checked this against frs.py at main e1acdf96, the FRS 2024-25 data dictionary (UKDA 9563, oddjob table) and the FRS 2024-25 question instructions ("Odd Jobs", pp. 318-319).

What the build does

odd_job_income = sum_to_entity(
    oddjob.ojamt * (oddjob.ojnow == 1), oddjob.person_id, person.person_id
)
pe_person["miscellaneous_income"] = (odd_job_income + ...) * WEEKS_IN_YEAR

It treats OJAMT as a weekly amount, keeps only the jobs done in the last 7 days, and multiplies by 52.18.

What the FRS records

  • Question OddJob (show card K12) asks whether the person received money "during the last 4 weeks" from babysitting, from acting as a mail order agent, or from an odd job, occasional work or professional advice. It covers only work that the employment and self-employment questions have not already recorded.
  • For babysitting and mail order, the amount is the total for all such work in the last 4 weeks (BabPay, MailPay).
  • For an odd job, OJAmt asks "How much did you receive for that job?". The instructions say there is no period code, because an odd job is one-off.
  • OJNOW is whether the person did the work in the last 7 days. It says when the work was done, not what period the amount covers.

So no OJAMT is a weekly amount. A babysitter's 4-week total currently counts as a weekly wage, and work paid in the last 4 weeks but done earlier counts as nothing.

Size (FRS 2024-25, household grossing weights, before calibration)

People (weighted) FRS households Annual £m
Current rule: OJNOW = 1, amount × 52 176,000 74 629
Every row, 4-week receipts × 13 420,000 184 344

The current rule counts about 1.8 times the flow that the 4-week receipts imply, and gives it to 42% of the recipients. The FRS soft-checks amounts above £1,000 as possible regular jobs, so most of the amounts are small. Multiplying them by 52 pushes about half the current recipients' annual odd-job income above £1,000.

Proposed fix

Annualise every ODDJOB row's 4-week receipts, OJAMT × 365.25 / 28, whatever its OJNOW. Then measure the change in miscellaneous_income, income tax, and the means tests that read miscellaneous income.

Once policyengine-uk#2726 and the uk-data PR that sets income_not_otherwise_charged both land, the trading allowance relieves this income too. That PR computes both variables from the same odd-job sum (frs_miscellaneous_income), so this fix flows into the relief automatically. Under the current rule, about half of the recipients reach the full £1,000 allowance. A per-person × 13 annualisation gives smaller amounts to more people.

Acceptance: a property test that each row's annual amount is OJAMT × 365.25 / 28, whatever its OJNOW; the aggregate impact on miscellaneous income, income tax and benefits stated in the PR; and small cells suppressed (fewer than 10 FRS households).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions