Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Incorrect benefit-unit equivalence scale understates equivalised income for multi-adult units

Aberta Para iniciantes
#541 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
1/5
Tempo estimado
Menos de uma hora
Facilidade para iniciantes
89/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
java
Domínio
backend, databases

Direção de pesquisa

Leia BenefitUnit.getEquivalisedWeight() em src/main/java/simpaths/model/BenefitUnit.java e compare a ponderação de adultos com a escala documentada e o cálculo do domicílio em src/main/java/simpaths/model/Household.java. Verifique o caso com dois adultos descrito na issue: a escala de equivalência da unidade de benefício deve ser 1.5, e a renda anual equivalente deve ser £24,000 para uma renda disponível mensal de £3,000.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Problem

In BenefitUnit.getEquivalisedWeight(), firstAdult is initialised to true but never set to false. Consequently, every member aged at least AGE_TO_BECOME_RESPONSIBLE receives a weight of 1.0, rather than 1.0 for the first adult and 0.5 for subsequent adults.

This differs from the scale documented above the method and from the household calculation, which does update the flag.

Reproduction and effect

For a household containing one benefit unit with two adults aged 40 and 38, and total disposable income of £3,000 per month:

  • Expected equivalence scale: 1.5; annual equivalised income: £24,000.
  • Current benefit-unit calculation: 2.0; annual equivalised income: £18,000.
  • The household calculation correctly returns £24,000 for those same people and income.

The error therefore understates benefit-unit equivalised income by 25% in this example. Cash income itself is unchanged. It can affect quantities and regressors derived from benefit-unit equivalised income; the aggregate effect on model outputs has not been established by this check.

Proposed correction and verification

Setting the flag after the first adult's contribution resolves the tested cases:

if (firstAdult) {
    weight += 1.0;
    firstAdult = false;
} else {
    weight += 0.5;
}

The error remains in the latest shared code. Although the existing automated tests pass, a direct check shows that two adults receive an equivalence scale of 2 rather than 1.5.

Linguagem predominante
Java
Estrelas
26
Forks
38
Merge médio
13h 5min
PRs com merge (30d)
7

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de simpaths/SimPaths

Todas as issues de simpaths/SimPaths

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.