Incorrect benefit-unit equivalence scale understates equivalised income for multi-adult units
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 1/5
- Tempo estimado
- Menos de uma hora
- Facilidade para iniciantes
- 89/100
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
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de simpaths/SimPaths
-
bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 65/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
-
F1: fertility-rate predictor inconcistency between estimation and Java implementationTalvez já em andamento @dariaple assumiu há 3 dias. Aberta
-
H2: should dlltsd01 be set to zero for retirees?Talvez já em andamento @Kolndre assumiu há 5 dias. Aberta
Todas as issues de simpaths/SimPaths
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
linagora/twake-calendar-side-service#1218 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
[Bug] [Go] Ack returns nil when the server answers with a non-OK statusTalvez já em andamento @leizhiyuan assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
apache/rocketmq-clients#1465 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia
-
pdfium-drift
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
Stirling-Tools/JPDFium#188 ·
Mantenedores costumam responder em até 1 dia