--- title: Prime d'activité keywords: fastai sidebar: home_sidebar nb_path: "notebooks/memos/memo_ppa.ipynb" ---
{% raw %}
{% endraw %} {% raw %}
# pip install matplotlib
# pip install seaborn==0.11.2
# pip install openfisca-france >= 80.2.0

from openfisca_france import FranceTaxBenefitSystem
from openfisca_france.scenarios import init_single_entity

# Quel point de sortie pour la réduction des cotisations d’allocations familiales ?

tax_benefit_system = FranceTaxBenefitSystem()
current_period = 2022
STEPS_COUNT = 100

scenario = init_single_entity(
    tax_benefit_system.new_scenario(),
    # Axe declaration
    axes=[
        [
            dict(  #  in a dictionary
                count=STEPS_COUNT,  # 'count' indicates the number of steps
                min=0,
                max=100000,
                name="salaire_net",  # the variable that will evolve 'count' times between 'min' and 'max' values
            ),
        ]
    ],
    period=current_period,
    parent1=dict(
        date_naissance="1980-01-01",
    ),
)

simulation = scenario.new_simulation()

salaire_net = simulation.calculate_add("salaire_net", current_period)
ppa = simulation.calculate_add("ppa", current_period)
# print(f"Les {STEPS_COUNT} valeurs de prime d'activité :")
# print("ppa : ", ppa)
{% endraw %} {% raw %}
import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme(style="darkgrid")
sns.lineplot(x=salaire_net, y=ppa)

smic_proratise_annuel = simulation.calculate_add("smic_proratise", current_period)
# post update openfisca-france :
# smic_brut_mensuel = tax_benefit_system.parameters(current_period).marche_travail.salaire_minimum.smic.smic_b_mensuel
smic_annuel = smic_proratise_annuel[0]

plt.axvline(x=smic_annuel, color="y", label="1 SMIC")
plt.axvline(x=smic_annuel * 1.5, color="g", label="1.5 SMIC")

plt.xlabel("Salaire net")
plt.ylabel("PPA")
plt.legend()

plt.show()
{% endraw %}