Skip to content

Add support for WEEK period #966

@nikhilwoodruff

Description

@nikhilwoodruff

Hi there!

Firstly, thanks to the OpenFisca community for enabling us to use such a neat framework. In developing OpenFisca-UK, many variables including the majority of state benefits are specified in weekly amounts, which would be ideal to use as a standard period. I'm aware this has been discussed previously in #670 and #763.

As I understand it the main problems are identified in this comment:

About weeks, this is going to bring tricky questions about relationship between periods.

Right now, OpenFisca period model relies on the assumption that period fit well together. A YEAR is composed a 12 MONTHs . We could relatively easily add DAY, as a month is composed of 28 to 31 DAYs. We actually used to support them, but deprecated it as no one was using it.

However, WEEK is more challenging: they don't fit well in a month, nor in a year. And question will arise:

  • If A's definition period is the week, can I calculate A for a year?
  • If so, what do I do with the weeks that are only partially included in the year?
  • Can we have a generic answer to the previous question, or is it going to be country-specific?

OpenFisca-UK has been relying off an implementation of the WEEK period in this fork, but it'd be good to see if this is something that can benefit other country packages. In our implementation, we answered the above questions with:

  • If A's definition period is the week, can I calculate A for a year?

Yes.

  • If so, what do I do with the weeks that are only partially included in the year?

Include the week of the first day of the year, and add weeks until we have reached (DAYS_IN_YEAR // 7) weeks. This also applies to months, respectively.

  • Can we have a generic answer to the previous question, or is it going to be country-specific?

Use Monday as the first day of the week (this might be different in other countries)

However, one problem that the WEEK introduces that I can't think of a way around is that it wouldn't be entirely in line with other periods. In the documentation each period has a unique string to specify e.g. the month of 05-01-2021 ("2021-01"), and a month from 05-01-2021 ("month:2021-01-05"). The WEEK period would be ambiguous with DAY due to the datetime format, so we'd only be able to specify the week from the week start, but this doesn't actually prevent any features, as we would just need to start from the first day of the week.

Hopefully this has added something to the discussion - I know this feature would definitely benefit the UK model, and hopefully other countries, and I'd be interested to know what the general thoughts are on this.

TODO

Metadata

Metadata

Labels

kind:featA feature request, a feature deprecationkind:roadmapA group of issues, constituting a delivery roadmap

Type

No type

Projects

Status

Roadmaps/Themes

Relationships

None yet

Development

No branches or pull requests

Issue actions