Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
L
leximpact-dotations-back
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
leximpact
Simulateur dotations aux communes
leximpact-dotations-back
Commits
dc011e6e
Commit
dc011e6e
authored
4 months ago
by
clallemand
Browse files
Options
Downloads
Patches
Plain Diff
Adapte set_dotations_enveloppes pour l'injection des valeurs en N
parent
a5af3c08
Branches
Branches containing commit
Tags
Tags containing commit
1 merge request
!16
Corrections data 2024
Changes
2
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
leximpact_dotations_back/computing/calculate.py
+14
-17
14 additions, 17 deletions
leximpact_dotations_back/computing/calculate.py
poetry.lock
+230
-209
230 additions, 209 deletions
poetry.lock
with
244 additions
and
226 deletions
leximpact_dotations_back/computing/calculate.py
+
14
−
17
View file @
dc011e6e
...
...
@@ -35,27 +35,26 @@ def set_simulation_inputs(simulation, data, period):
return
simulation
def
set_dotations_enveloppes_previous_year
(
simulation
,
data
,
current_year
):
NOMBRE_TOTAL_COMMUNES_CURRENT_YEAR
=
len
(
data
)
PREVIOUS_YEAR
=
current_year
-
1
PARAMETERS_PREVIOUS_YEAR
=
simulation
.
tax_benefit_system
.
parameters
(
PREVIOUS_YEAR
)
def
set_dotations_enveloppes
(
simulation
,
data
,
year
):
NOMBRE_TOTAL_COMMUNES
=
len
(
data
)
PARAMETERS
=
simulation
.
tax_benefit_system
.
parameters
(
year
)
# Fix bug NaN DSU
dsu_montant_enveloppe_metropole
_previous_year
=
PARAMETERS_PREVIOUS_YEAR
.
dotation_solidarite_urbaine
.
montant
.
metropole
simulation
.
set_input
(
'
dsu_montant_total
'
,
PREVIOUS_YEAR
,
full
(
NOMBRE_TOTAL_COMMUNES
_CURRENT_YEAR
,
dsu_montant_enveloppe_metropole
_previous_year
))
dsu_montant_enveloppe_metropole
=
PARAMETERS
.
dotation_solidarite_urbaine
.
montant
.
metropole
simulation
.
set_input
(
'
dsu_montant_total
'
,
year
,
full
(
NOMBRE_TOTAL_COMMUNES
,
dsu_montant_enveloppe_metropole
))
# fin fix
# Fix montant DSR
dsr_cible_montant_enveloppe_metropole
_previous_year
=
PARAMETERS_PREVIOUS_YEAR
.
dotation_solidarite_rurale
.
cible
.
montant
# métropole
simulation
.
set_input
(
'
dsr_montant_total_fraction_cible
'
,
PREVIOUS_YEAR
,
full
(
NOMBRE_TOTAL_COMMUNES
_CURRENT_YEAR
,
dsr_cible_montant_enveloppe_metropole
_previous_year
))
dsr_cible_montant_enveloppe_metropole
=
PARAMETERS
.
dotation_solidarite_rurale
.
cible
.
montant
# métropole
simulation
.
set_input
(
'
dsr_montant_total_fraction_cible
'
,
year
,
full
(
NOMBRE_TOTAL_COMMUNES
,
dsr_cible_montant_enveloppe_metropole
))
# (constat 2024 : avec ce seul set_input enveloppe DSR 83% des communes ont une DSR calculée > 0)
dsr_bourg_centre_montant_enveloppe_metropole
_previous_year
=
PARAMETERS_PREVIOUS_YEAR
.
dotation_solidarite_rurale
.
bourg_centre
.
montant
# métropole
simulation
.
set_input
(
'
dsr_montant_total_fraction_bourg_centre
'
,
PREVIOUS_YEAR
,
[
dsr_bourg_centre_montant_enveloppe_metropole
_previous_year
])
# entité État
dsr_bourg_centre_montant_enveloppe_metropole
=
PARAMETERS
.
dotation_solidarite_rurale
.
bourg_centre
.
montant
# métropole
simulation
.
set_input
(
'
dsr_montant_total_fraction_bourg_centre
'
,
year
,
[
dsr_bourg_centre_montant_enveloppe_metropole
])
# entité État
# (constat 2024 : à l'ajout de ce set_input sans effet sur taux global DSR > 0)
dsr_perequation_montant_enveloppe_metropole
_previous_year
=
PARAMETERS_PREVIOUS_YEAR
.
dotation_solidarite_rurale
.
perequation
.
montant
# métropole
simulation
.
set_input
(
'
dsr_montant_total_fraction_perequation
'
,
PREVIOUS_YEAR
,
full
(
NOMBRE_TOTAL_COMMUNES
_CURRENT_YEAR
,
dsr_perequation_montant_enveloppe_metropole
_previous_year
))
dsr_perequation_montant_enveloppe_metropole
=
PARAMETERS
.
dotation_solidarite_rurale
.
perequation
.
montant
# métropole
simulation
.
set_input
(
'
dsr_montant_total_fraction_perequation
'
,
year
,
full
(
NOMBRE_TOTAL_COMMUNES
,
dsr_perequation_montant_enveloppe_metropole
))
# (constat 2024 : à l'ajout ce set_input 95% des communes ont une DSR calculée > 0, soit +12%)
# fin fix
...
...
@@ -101,11 +100,7 @@ def set_simulation_previous_year_inputs(simulation, data_current_year, data_prev
# initialise les variables d'enveloppes N-1 grâce aux paramètres
# (pour que N puisse être calculé en fonction de l'augmentation d'enveloppe)
simulation
=
set_dotations_enveloppes_previous_year
(
simulation
,
data_current_year
,
period
)
# initialise les variables d'enveloppe N pour la DSR fraction bourg-centre, car le calcul de la variable ne fonctionne qu'en mode PLF
dsr_centre_bourg_montant_enveloppe_metropole_year
=
simulation
.
tax_benefit_system
.
parameters
(
period
).
dotation_solidarite_rurale
.
bourg_centre
.
montant
# métropole
simulation
.
set_input
(
'
dsr_montant_total_fraction_bourg_centre
'
,
period
,
[
dsr_centre_bourg_montant_enveloppe_metropole_year
])
simulation
=
set_dotations_enveloppes
(
simulation
,
data_current_year
,
period
-
1
)
return
simulation
...
...
@@ -130,5 +125,7 @@ def create_simulation_with_data(model, period, data, data_previous_year=None):
logger
.
warning
(
"
Creating simulation without previous year data.
"
)
else
:
simulation
=
set_simulation_previous_year_inputs
(
simulation
,
data
,
data_previous_year
,
period
)
# on initialise les variables d'enveloppe pour N aussi
simulation
=
set_dotations_enveloppes
(
simulation
,
data
,
period
)
return
simulation
This diff is collapsed.
Click to expand it.
poetry.lock
+
230
−
209
View file @
dc011e6e
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment