## VI.5 Fonctionnalités supplémentaires de la bibliothèque OutilsRetr

L'essentiel de cette bibliothèque a été vu en parties IV et V. Les programmes sont les suivants :

Programmes précisant les hypothèses de simulation des retraites

<table><tr><td>UseBios</td><td>: définition des fichiers dans lesquels sont récupérées les biographies</td></tr><tr><td>UseOpt</td><td>: choix des options générales de simulation</td></tr><tr><td>UseOptCN</td><td>: choix des options comptes notionnels, s'il y a lieu</td></tr><tr><td>UseLeg</td><td>: choix de la législation en projection</td></tr><tr><td>UseLegRetroMax</td><td>: choix de la législation pour les reconstitutions initiales</td></tr><tr><td>UseConv</td><td>: choix des coefficients de conversion si comptes notionnels</td></tr></table>

Programme de récupération des résultats de l'étape Bios

<table><tr><td>Relec</td><td>: relecture des données initiales ou projetées</td></tr></table>

Programmes d'initialisation ou de projection des pensions

<table><tr><td>SimDir</td><td>: initialisation ou projection des droits directs</td></tr><tr><td>SimDer</td><td>: initialisation ou projection des droits dérivés</td></tr><tr><td>SimMinVieil</td><td>: initialisation ou projection du minimum vieillesse</td></tr></table>

Programmes d'affichage des données individuelles (surtout utilisés par l'explorateur)

<table><tr><td>ShowBio</td><td>: affichage de la carrière complète</td></tr><tr><td>ShowPens</td><td>: affichage des différents éléments de la pension pour un départ à âge donné</td></tr></table>

Les deux seules fonctions qui n'ont pas été présentées dans la partie précédente sont les fonctions relatives à la simulation de la retraite en comptes notionnels. Elles sont donc présentées ci-après, à la suite de quoi on donnera quelques éléments complémentaires sur le fonctionnement interne de la fonction principale `SimDir`, et notamment la façon dont elles s'appuient sur les autres fonctions de `OutilsDroits` et `OutilsComp` vues dans les sections VI.1 et VI.2.

### VI.5.1 Simulation de systèmes en comptes notionnels

#### Fonction UseOptCN

Cette fonction spécifie les options supplémentaires si l'option `"CN"` a été demandée avec `UseOpt`. Il y a deux arguments. Le premier est le millésime de démarrage du basculement. Le second est une chaîne de caractère, avec les mêmes principes que dans `UseOpt`, pouvant contenir les éléments suivants :

Choix de l'étendue du système

<table><tr><td>"rg"</td><td>: basculement pour le régime général et assimilés uniquement</td></tr><tr><td>"base"</td><td>: basculement pour RG, assimilés et pour la part des salaires FP sous plafond. Dans ce cas, un régime chapeau est créé pour garantir le maintien des pensions FP</td></tr><tr><td>"etendu"</td><td>: basculement pour RG, assimilés et ensemble de la FP</td></tr><tr><td>"global"</td><td>: basculement général, y compris ARRCO/AGIRC.</td></tr></table>

Choix du calendrier de basculement

<table><tr><td>"immediat"</td><td>: dès l'année de lancement, toutes les pensions sont calculées avec le nouveau système</td></tr></table>
"progressif" : le nouveau système ne s'applique qu'aux années cotisées à partir de l'année de lancement

NB : le décodage des options se fait sur les 2 premiers caractères, ce qui autorise des appels abrégés.

Exemples d'appel :

UseOptCN(2010,"Immediat/rg");

UseOptCN(2010,"glob prog");

## Fonction UseConv

Cette fonction met à jour les coefficients de conversion si on simule un régime en comptes notionnels. Il y a deux modes d'appel. Le premier mode doit être utilisé lorsqu'on veut des coefficients de conversion basés sur l'espérance de vie courante. On écrira par exemple :

UseConv(60,70,"EV",$t);

qui calcule les coefficients de conversion entre $agemin et $agemax égaux à 60 et 70 ans sur la base de la mortalité de la date $t.

Le second mode consiste à simplement passer les valeurs des coefficients, soit :

UseConv(60,65,0.05,0.055,0.060,0.065,0.070,0.075);

Dans les deux cas, les coefficients sont mis à zéro avant $agemin, et maintenus à leur valeur de $agemax au-delà de $agemax

## VI.5.2 Compléments sur la fonction SimDir

Nous avons vu dans la partie précédente que le lancement de la simulation des pensions et des départs à la retraite s'effectue par le lancement dans le programme principal de la fonction SimDir. En utilisation normale, le fonctionnement interne de cette fonction n'a pas besoin d'être connu. Mais il peut être utile de connaître ce fonctionnement interne et, ayant présenté les contenus des bibliothèques OutilsDroits et OutilsComp, on peut maintenant expliquer l'emboîtement complet de l'ensemble des fonctions qui interviennent dans la simulation des droits à retraite.

SimDir effectue plusieurs opérations, également illustrées par la figure 8 :

- Elle teste à quel âge l'individu a liquidé -en phase de rétroporation- ou s'il liquide à l'âge courant -en phase de projection.

- Si liquidation il y a, elle calcule la pension associée.

- Si la liquidation est antérieure à la date courante, elle revalorise la pension pour cette année courante, soit depuis la date de liquidation -en phase de rétroporation-, soit entre l'année précédente et l'année courante, en phase de projection.

La première étape fait appel à la fonction TestLiq de OutilsComp. Dans les options TP et Exo, le calcul est assez direct et débouche immédiatement sur un appel à la fonction DroitsDir dans l'hypothèse où le départ a effectivement lieu à l'âge considéré. Dans l'option UInst, il suffit de comparer les niveaux d'utilité instantanés avec ou sans départ. Ceci suppose déjà de procéder à une liquidation fictive sur un clone de l'individu considéré. C'est sur ce clone que se fait la comparaison des niveaux d'utilité pour ne pas modifier les caractéristiques de l'individu $i avant d'être sûr qu'il liquide effectivement. Le même système est utilisé avec les options Uact, SSW et Accrual qui supposent de comparer des niveaux d'utilité ou des cumuls de droits sous différentes hypothèses d'âge de départ du même individu. Les appels à SimDir et TestLiq avec ces options conduisent donc à cumuler le recours aux fonctions TestClone, DroitsDir et, selon le cas Uinst, SSW et Accrual.
<figure><img src="image_8.png" /><figcaption>Figure 8 : programmes appelés directement ou indirectement par la fonction *SimDir*, selon phase et options de la simulation
(appels directs en gras, appels indirects en caractères normaux)</figcaption></figure>
Une fois que la fonction TestLiq a retourné une valeur positive le reste du déroulement du programme est beaucoup plus linéaire. Il se limite à mettre en œuvre une dernière fois la fonction DroitsDir, cette fois-ci sur l'individu $i$ lui-même plutôt que son clone, puis à mobiliser la fonction Revalo pour toutes les années ultérieures.

## VI.6 Fonctionnalités supplémentaires de la bibliothèque OutilsTab

Une partie substantielle du contenu de cette bibliothèque a été examinée *supra* à la section IV.4. On redonne ci-dessous l'ensemble de son contenu et on détaille le fonctionnement des procédures non présentées à la section IV.4.

### Initialisations

*UseW*: définit poids pour calculs des effectifs et des masses

### Tabulations générales simples

*SVar*: somme des valeurs d'une variable (avec possibilité de filtrage)

*MVar*: moyenne des valeurs d'une variable (avec possibilité de filtrage)

*QVar*: quantiles (au choix) d'une variable (avec possibilité de filtrage)

*EVar*: écart-type d'une variable (avec possibilité de filtrage)

*Count*: comptage nombre d'identifiants vérifiant condition de filtrage

*Taux*: calcul d'un taux

*Ratio*: calcul d'un ratio

*Distrib*: distribution d'une variable discrète

### Raccourcis pour tabulations spécifiques

*SSal*: Somme des salaires

*MSal*: Salaire moyen

*SPens*: Somme des pensions

*MPens*: Pension moyenne

### Tabulations par âge

*UseGrAge*: définit les classes d'âge

*GrAge*: calcule le groupe d'âge auquel appartient l'individu $i$

*MAge*: moyenne par âge des valeurs d'une variable (avec possibilité de filtrage)

*CountAge*: comptage nombre d'identifiants par âge vérifiant condition de filtrage

*TauxAge*: calcul d'un taux par âge

### Tabulations par génération

*UseGrGen*: définit les classes de générations

*GrGen*: calcule le groupe de génération auquel appartient l'individu $i$

*MGen*: moyenne par génération des valeurs d'une variable (avec possibilité de filtrage)

*CountGen*: comptage nombre d'identifiants par génération vérifiant condition de filtrage

*TauxGen*: calcul d'un taux par génération

### Autres manipulations de tableaux

*Coupe*: extraction d'une partie d'un tableau à double indice (y.c. coupes diagonales)

*STab*: somme des valeurs des cases d'un tableau à une dimension, ou de produits de cases de deux tableaux ou plus

*MTab*: moyenne des valeurs

*SAct*: idem STab avec actualisation

*TRI*: calcul d'un taux de rendement interne associé à un tableau simple
## VI.6.1 Initialisation

### Fonction UseW

Cette fonction définit les pondérations à utiliser pour les fonctions de comptage et de somme. Permet à la fois de redresser la taille de l'échantillon simulé et de contrôler l'unité d'affichage des résultats de ces deux fonctions (il s'agit d'un poids uniforme, il ne sert donc pas à repondérer les individus de la simulation les uns par rapport aux autres). Si aucun argument n'est passé, on utilise ou réactive la pondération par défaut qui permet d'obtenir des effectifs en milliers et des masses financières en milliards d'euros. Sinon, on utilise les valeurs passées en argument.

**Exemple d'appel :**

```
UseW(0.924, 0.924/1000000);
```

## VI.6.2 Tabulations simples : la fonction Distrib

La seule fonction de tabulation simple de la liste ci-dessus qui n'ait pas déjà été présentée à la section III.3 est la fonction `Distrib`. Cette fonction retourne un hachage donnant la distribution des valeurs d'une variable discrète (numérique ou non numérique).

**Exemples d'appel :**

```
%DistAgeLiqH = Distrib(@ageliq,
    sub{ ($ageliq[$_] > 0) && ($sexe[$_] == $CodeHom) });
```

Cette demande retournera les pourcentages de liquidants hommes par âge de liquidation. Par exemple `$DistAgeLiqH{62}` sera le pourcentage de liquidants à 62 ans au sein de cette population.

L'instruction précédente peut être réécrite sous une forme générant un hachage pour chaque sexe. On écrira :

```
for $s ($CodeHom, $CodeFem)
{
    %{$DistAgeLiq{$Label{sexe, $s}}} =
        Distrib(@ageliq, sub{ ($ageliq[$_] > 0) && ($sexe[$_] == $s)});
};
```

à la suite de quoi le double hachage `%DistAgeLiq` pourra être sauvegardé par l'instruction

```
SavHH($resultats, agesLiq, ages de liquidation, %DistAgeLiq);
```

## VI.6.3 Construire des séries de résultats macro par âge

Trois fonctions permettent d'effectuer des calculs par âge : `MAge`, `CountAge` et `TauxAge`. Elles supposent d'avoir préalablement défini des groupes d'âge à l'aide de la fonction `UseGrAge`. S'il n'y a eu aucun appel préalable à cette fonction, la tabulation se fera par défaut par âge simple. Le résultat se présente sous forme hachage même quand les classes d'âge sont des classes d'âges simples. La procédure auxiliaire `GrAge` calcule à quel groupe d'âge appartient un individu donné.

On présente succinctement ces différentes procédures puis un exemple de leur utilisation.

### Procédure UseGrAge

Cette fonction définit les tranches d'âge pour les fonctions qui suivent. Le premier argument est l'âge de départ, le deuxième est l'âge de fin, le troisième est le pas des tranches d'âge. Si le pas est supérieur à un, cette fonction crée aussi les labels décrivant les tranches d'âge
**Exemple d'appel :**

```
UseGrAge (20,49,10);
```

crée les groupes compris entre 20 et 29 ans, 30 et 39 ans, ainsi que 40 et 49 ans, avec les labels associés.

**Procédure GrAge**

Calcule le groupe d'âge auquel appartient un individu donné. Le seul argument d'appel est l'individu $i$. Si aucun regroupement par âge n'a été spécifié, son résultat est identique à $\$age[i]$.

**Fonction MAge**

La fonction `MAge` fonctionne sur le même principe que `MVar` mais calcule des moyennes séparées par âge simple et les retourne sous forme de hachage.

**Exemple d'appel :**

```
%sal_age = MAge(@salaire, sub {$salaire[$_] > 0});
```

calculera le salaire moyen par âge parmi les individus qui ont un salaire supérieur à zéro.

**Fonction CountAge**

La fonction `CountAge` suit le même principe que `MAge`, mais elle effectue un comptage par âge plutôt qu'une moyenne. Le résultat est fourni avec une décimale.

**Exemple d'appel :**

```
%POPACT = CountAge (sub {In($statut[$_], @CodesAct));
```

calculera le nombre d'individus en vie qui occupent un emploi.

**Fonction TauxAge**

La fonction `TauxAge`, comme `CountAge` calcule des taux mais par âge (avec donc deux conditions, comme pour la fonction `Taux` de `OutilsBase`, la deuxième étant optionnelle).

**Exemple d'appel :**

```
%TAUX_CHO = TauxAge (sub {In($statut[$_], $CodeCho)}
                      sub {In($statut[$_], @CodesAct)});
```

calculera la part des chômeurs parmi les actifs, aux différents âges.

**Exemple d'utilisation avancée**

En général, ces tabulations par âge se font à date donnée, donc en fin de boucle sur `$t`, après la dernière boucle sur `$i`, comme pour les autres fonctions de tabulation vues jusqu'à présent.

Par exemple, la séquence

```
if ($t==103)
{
    %POP_2003 = CountAge;
    %TXOCC_2003 = TauxAge (sub {In($statut[$_], $CodesOcc)});
    %MOYRG_2003 = MAge(@pension, sub {$pension rg[$_] > 0});
}
```
calcule pour l'année 2003 ($t==103$) le nombre d'individus vivants par âge simple (%POP_2003), la part des actifs occupés pour chaque âge (%TXOCC_2003) et la pension au régime général moyenne parmi ceux qui ont une pension au régime général positive (%MOYRG_2003).

Si on veut sauvegarder l'ensemble des pyramides des âges à toutes les dates, il faut prévoir un appel de la forme :

`%{$POP[$t]} = CountAge;`

qui créera un tableau à double indice `$POP[$t]{$a}` sauvegardable sous Excel par la procédure `SavSH` qui sera vue plus loin en section VI.7.

### VI.6.4 Construire des séries de résultats macro par génération

Pour procéder à des calculs par génération, on procède de manière très similaire à ce qui est fait pour la production de données par âge. Les fonctions `UseGrGen`, `GrGen`, `Mgen`, `CountGen` et `TauxGen`, sont le pendant exact de `UseGrAge`, `GrAge`, `MAge`, `CountAge` et `TauxAge` et leurs syntaxe ne sera donc pas détaillée davantage. La seule différence est que leur appel se fait en principe en toute fin de simulation, après la fin de la boucle sur `$t` et que les tabulations qu'elles produisent incorporent les individus décédés à cette date. Elles n'ont évidemment de sens que sur des variables conservées jusqu'en fin de simulation.

Pour donner un exemple, la séquence suivante en fin de programme produit des âges de liquidation par genre et groupes quinquennaux de générations, entre les générations 1940 et 1984, sur la base de la variable `$ageliq` récupérée en sortie de `SimDir`.

```perl
UseGrGen(40,84,5);
for $s ($CodeHom, $CodeFem)
{
    @{$AGEGEN{$Label(sexe, $s)}}=MGen(@ageliq, sub{$sexe[$_]=$s});
}
```

après quoi `$AGEGEN{"Homme"}{"50-54"}` donnera l'âge moyen à la liquidation des hommes de la génération 1950-1954, et le double hachage `%AGEGEN` sera sauvegardable par `SavHH`.

### VI.6.5 Autres manipulations de tableaux

À côté de ses fonctions de tabulation de données micro, `OutilsTab` propose des fonctions de manipulation de tableaux simples de données par âge, par date ou par génération ou des tableaux à double indice croisant deux de ces dimensions. Contrairement à la convention retenue pour les variables, la position zéro est utilisée (il n'y a pas d'individu n°zéro mais il peut y avoir un âge ou une date zéro).

#### Fonction Coupe

La fonction `Coupe` extrait des éléments d'un vecteur (données par date, génération ou âge) ou d'un tableau à double entrée (date ou génération x âge) et les empile dans un tableau à une dimension (indicé à partir de zéro).

Le principe général est de passer un nom de vecteur ou de tableau à double entrée, puis des intervalles à sélectionner, passés entre crochets.

On aura par exemple, pour des tableaux simples :
```
@poppageactif = Coupe(@pop, [15..65]);
@popdep      = Coupe(@pop, [0..14, 65..110]);
@PIB8090     = Coupe(@PIB, [1980..1990]);
```

On note que les millésimes peuvent être passés soit en année absolue (plus lisible), soit comptés à partir de 1900 : le programme transcrit automatiquement. La dernière écriture est donc équivalente à

```
Coupe(@PIB, [80..90]);
```

Pour des tableaux à double entrée, on a le choix entre des expressions de type

```
Coupe(@pop, [1980, [15..65]]); # Extraction coupe transversale
Coupe(@pop, [[1980..1990], 40]); # Extraction serie temporelle
Coupe(@pop, [[1980..1990], [40..50]]); # Extraction coupe diagonale
```

Cette fonction appelle deux remarques :

- Ce que retournent ces programmes sont de simples empilements des valeurs prélevées dans les tableaux d'origine, indicés à partir de 0 : l'individage initial est donc perdu.

- Pour les sélections en coupe diagonale, le programme ne contrôle pas la cohérence des intervalles horizontaux et verticaux : il part du point date x âge minimum et empile les données jusqu'à l'âge maximal, tant qu'elles existent.

## Fonction STab

La fonction STab fait la somme des valeurs sélectionnées dans un tableau ou les produits terme à terme de valeurs extraites de plusieurs tableaux (jusqu'à 5).

Exemples d'appel :

```
$popadu =STab(@pop, [20..110]);
$popadu[$t]=STab(@pop, [$t, [20..110]]);
$popact[$t]=STab(@pop, [$t, [15..65]], @txact, [$t, [15..65]]);
$popact[$t]=STab(@pop, [$t, [15..65]], @txact, [15..65]);
$popemp[$t]=STab(@pop, [$t, [15..110]], @txact, [15..65],
                 @txemp, [15..65]);
```

On notera que les bornes de sélection pour les différentes coupes sont indépendantes les unes des autres : le programme sommera les produits terme à terme des N premières positions de chaque sélection avec N la longueur de la sélection la plus courte.

## Fonction MTab

La fonction Mtab fonctionne de la même manière que STab mais calcule une moyenne. Elle ne prend en compte que les valeurs strictement positives (pour gérer les éventuelles troncations).

## Fonction SAct

La fonction Sact est identique à la fonction STab mais le premier paramètre est un taux d'actualisation exprimé en fraction de un).

## Fonction TRI

Cette fonction calcule un taux de rendement interne associé à un profil simple par date ou âge. Les paramètres sont le profil temporel et les indices entre lesquels on réalise le calcul

Exemple d'appel
Si @transfert est un tableau par âge donnant, pour un individu, le solde instantané de ses transferts vis-à-vis du système, avec par exemple les cotisations comptées négativement et les prestations reçues comptées positivement, l'appel

$r = TRI(@transfert,15,80);

retourne le taux de rendement interne sur les cotisations versées, avec des prestations prises en compte jusqu'à l'âge de 80 ans.

## VI.7 Fonctionnalités supplémentaires de la bibliothèque OutilsExcel

La bibliothèque OutilsExcel lit ou écrit différents formats de tableaux dans des fichiers Excel. La liste complète des procédures disponibles est la suivante :

### Procédure de gestion générale de classeurs Excel

<table><tr><td>ClassIn</td><td>: ouvre un classeur en lecture</td></tr><tr><td>ClassOut</td><td>: ouvre un nouveau classeur en écriture</td></tr><tr><td>CloseOut</td><td>: ferme un classeur ouvert en écriture</td></tr><tr><td>ListClass</td><td>: liste des classeurs d'un répertoire et leur contenu</td></tr><tr><td>ListFeuil</td><td>: liste des feuilles d'un classeur ouvert en entrée</td></tr></table>

### Lecture de données

<table><tr><td>GetAP</td><td>: lecture d'un tableau par âge et période</td></tr><tr><td>GetSer</td><td>: lecture d'une série temporelle</td></tr><tr><td>GetPro</td><td>: lecture d'un profil par âge</td></tr><tr><td>GetH</td><td>: lecture d'un hachage simple</td></tr><tr><td>GetHH</td><td>: lecture d'un double hachage</td></tr></table>

### Écriture de données

<table><tr><td>SavAP</td><td>: sauvegarde d'un tableau par âge et période</td></tr><tr><td>SavPro</td><td>: sauvegarde d'un ensemble de profils par âge</td></tr><tr><td>SavSer</td><td>: sauvegarde d'un ensemble de séries temporelles</td></tr><tr><td>SavHS</td><td>: sauvegarde d'un hachage de séries temporelles</td></tr><tr><td>SavSH</td><td>: sauvegarde d'une série temporelle de hachages</td></tr><tr><td>SavHH</td><td>: sauvegarde d'un hachage de hachages</td></tr></table>

### VI.7.1 Gestion générale de classeurs Excel

Les fonctions ClassOut et CloseOut ont été décrites dans la présentation des utilisations standard du modèle. Elles ne sont pas détaillées à nouveau ici. On ne présente que les fonctions ClassIn, ListClass et ListeFeuil.

#### Fonction ClassIn

Cette fonction ouvre un classeur en lecture.

#### Exemple d'appel

$popul= ClassIn("Population.xls");

#### Fonction ListClass

La fonction ListClass fait la liste de tous les fichiers .xls du répertoire passé en entrée et sort des informations résumées sur leurs contenus dans un fichier ListeClass.txt (si aucun argument, le répertoire est le répertoire courant)
**Exemple d'appel :**

ListClass("C:\Donnees");

## Fonction ListFeuil

Cette fonction retourne un tableau contenant les noms de l'ensemble des feuilles du classeur passé en argument. Peut notamment servir à construire un balayage systématique de toutes ces feuilles, si elles sont construites selon le même format (exemple : feuilles contenant les variantes d'une même projection)

**Exemple d'appel :**

@liste = ListFeuil($classeur);

## VI.7.2 Lecture de données

### Fonction GetAP

La fonction `GetAP` lit un tableau de données par âge et période dans une feuille Excel. Elle est utilisée par exemple pour la lecture des données de mortalité du fichier `ParamMortal.xls`.

La présentation de la feuille Excel doit être de la forme :

<table><thead><tr><th></th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td>Descriptif feuille</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>2</td><td></td><td>0-4</td><td>5-9</td><td>10</td><td>11</td><td>12-80</td><td>80-99</td></tr><tr><td>3</td><td>1980</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td></tr><tr><td>4</td><td>1981</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td></tr><tr><td>5</td><td>1982</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td></tr></tbody></table>

Dans ce cas, il y a lecture de l'intégralité de la feuille, et les données par âges regroupés (du type `nn-mm`) sont éclatées en données par âge simple soit par réplication du contenu de la cellule pour chaque âge simple (cas par exemple où la série donne une moyenne ou un taux) soit par équidivision entre ces âges (cas où la série est un total). Dans ce deuxième cas on précise l'option `"div"`. L'appel est, par exemple :

@poptot=GetAP($classeur, "NomFeuille", "Div");

### Fonction GetSer

La fonction `GetSer` met une série temporelle (en colonne) dans une feuille Excel. La présentation de la feuille Excel doit-être de la forme :

<table><thead><tr><th></th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td>Descriptif feuille</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>2</td><td></td><td>Pop</td><td>Popac</td><td>Pib</td><td>Pib/t</td><td>Conso</td><td>Salai</td></tr><tr><td>3</td><td>1980</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td></tr><tr><td>4</td><td>1981</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td></tr><tr><td>5</td><td>1982</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td></tr></tbody></table>

Elle est entre autres utilisée pour lire les paramètres du fichier `ParamSociaux.xls` par `DefVarRetr`.

Dans ce cas, la fonction lit la série contenue dans la colonne qu'on lui spécifie.

**Exemple d'appel :**

@PIB = GetSer($classeur, "NomFeuil", 3);
### Fonction GetPro

Cette fonction lit un profil par âge (en ligne) dans une feuille Excel. La présentation de la feuille Excel doit être de la forme :

<table><thead><tr><th></th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td colspan="7">Descriptif feuille</td></tr><tr><td>2</td><td></td><td>0-4</td><td>5-9</td><td>10</td><td>11</td><td>12-80</td><td>80-99</td></tr><tr><td>3</td><td>MSalH</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td></tr><tr><td>4</td><td>MSalF</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td></tr></tbody></table>

Dans ce cas, la fonction lit la série contenue dans la ligne qu'on lui spécifie, en la désagrégeant par âge simple, avec ou sans l'option "Div", selon le cas. L'appel est donc de la forme :

`@SalairesFemmes = GetPro($classeur, "NomFeuil", 2, "Div");`

### Fonction GetH

La fonction `GetH` lit un hachage (en ligne) dans une feuille Excel.

La présentation de la feuille Excel doit être de la forme :

<table><thead><tr><th></th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td colspan="7">Descriptif feuille</td></tr><tr><td>2</td><td></td><td>EmpH</td><td>EmpF</td><td>ChoH</td><td>ChoF</td><td>InaH</td><td>InaF</td></tr><tr><td>3</td><td>Coef1</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td></tr><tr><td>4</td><td>Coef2</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td></tr></tbody></table>

Dans ce cas, la fonction lit la série contenue dans la ligne qu'on lui spécifie.

**Exemple d'appel :**

`%COEF1 = GetH($classeur, "NomFeuil", 3);`

### Fonction GetHH

La fonction `GetHH` lit un hachage à double dimension dans un fichier Excel

Les arguments d'appel sont la référence du classeur (initialisée par la fonction `ClassIn`) et le nom de la feuille.

Le format de la feuille doit être du type suivant :

<table><thead><tr><th></th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td colspan="7">Descriptif du tableau</td></tr><tr><td>2</td><td></td><td>Hom</td><td>Fem</td><td></td><td></td><td></td><td></td></tr><tr><td>3</td><td>Ina</td><td>21</td><td>40</td><td></td><td></td><td></td><td></td></tr><tr><td>4</td><td>Act</td><td>120</td><td>100</td><td></td><td></td><td></td><td></td></tr><tr><td>5</td><td>Cho</td><td>30</td><td>30</td><td></td><td></td><td></td><td></td></tr></tbody></table>

**Exemple d'appel :**

`%matrice = GetHH($classeur, "NomFeuil");`

### VI.7.3 Écriture de données

Les trois fonctions qui n'ont pas été présentées à la section IV.4 sont les fonctions `SavAP`, `SavSH` et `SavHH`.
## Fonction SavAP

La fonction SavAP sauvegarde un tableau par âge et période dans une feuille Excel. On obtient un fichier Excel contenant dans chaque colonne un âge et chaque ligne une année.

### Exemple d'appel :

SavAP($resul, "Population", "Population par âge", @POP);

<table><thead><tr><th></th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td colspan="7">Descriptif feuille</td></tr><tr><td>2</td><td></td><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td></tr><tr><td>3</td><td>1980</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td></tr><tr><td>4</td><td>1981</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td></tr><tr><td>5</td><td>1982</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td><td>..</td></tr></tbody></table>

Dans cet exemple, les résultats sont sauvegardés dans le fichier `$resul` que l'on aura ouvert au préalable, dans une feuille appelée ici `Feuil2`. Le titre de la feuille est `Titre` et le calcul concerne la variable `@POP`.

Pour que cette sauvegarde soit possible, il faut par exemple que la ligne du tableau `@pop` ait été sauvegardée au fur et à mesure de la simulation, chaque année, par une instruction du type :

`@{$POP[$t]} = CountAge;`

## Procédure SavSH

Cette fonction permet la sauvegarde d'une série temporelle de hachages, par exemple une série de taux par âges regroupés.

### Exemple d'appel :

SavSH($classeur, "Taux", "Taux par ages", @taux);

où `@taux` est un tableau comprenant un hachage (de clés identiques) pour chaque date

## Procédure SavHH

Sauvegarde d'un hachage de hachages, par exemple un ensemble de taux par âges regroupés. NB : les sous-hachages n'ont pas besoin d'être de longueur identique, le programme gère le cas où la liste de leurs clés est variable.

### Exemple d'appel :

SavHH($classeur, "Taux", "Taux par ages regroupés", %taux);

## VI.8 Fonctionnalités supplémentaires de la bibliothèque DefVarRetr

La presque totalité du contenu de cette bibliothèque a été examinée *supra* à la section III.3. Il s'agissait de l'ensemble des opérations de déclaration et d'initialisation de variables. Cette bibliothèque comprend par ailleurs deux fonctions de manipulation de données individuelles, utilisées notamment par la bibliothèque `OutilsComp`. Il s'agit des procédures `Clone` et `Delete` permettant d'ajouter des individus à la population simulée ou d'en retrancher. La première peut notamment être utile à la génération de cas-types. On les présente succinctement.
## Fonction Clone

Cette fonction crée un individu additionnel à partir d'un individu existant. L'appel par défaut est :

Clone($i);

Cet appel copie l'ensemble des caractéristiques de l'individu $i$ dans l'individu d'identifiant zéro, à l'exclusion de la variable $present$ laissée à zéro. Cette fonction est utilisée par la procédure TestLiq. En effet, tester s'il y a liquidation nécessite d'examiner les conséquences pour le revenu de l'individu de départs en retraite à divers âges et il est préférable de tester ces effets sur une copie temporaire (un clone) plutôt que sur l'individu $i$ lui-même. Les données relatives à cet individu $i$ ne seront définitivement modifiées par `SimDir` que si l'individu liquide effectivement sa retraite.

La fonction renseigne également la variable scalaire $id_clone$ qui permet de savoir de qui l'individu 0 est le clone. Le fait de considérer le clone comme non-présent évite qu'il ne soit pris en compte dans les tabulations ou par d'autres procédures ne devant s'appliquer qu'aux individus simulés à part entière.

En général, il est déconseillé d'utiliser la fonction sous cette forme dans un programme appelant, car il risque d'y avoir conflit entre les affectations à l'individu zéro gérées par ce programme principal et celles qui sont gérées en interne par TestLiq.

On peut en revanche l'utiliser sous une forme utilisant un ou deux arguments optionnels supplémentaires optionnels. Le premier argument indique un numéro d'identifiant autre que zéro pour le clone. Par exemple :

Clone(10, Imax+1);

rajoute en fin de population un individu qui est le clone de l'individu 10.

Dans cet appel, il s'agira toujours d'un individu « non-présent ». On peut forcer cette présence par :

Clone(10, IMax+1, "present");

Avec cette syntaxe il est très facile de constituer une population de cas-types. Si on a défini l'ensemble des caractéristiques d'un individu 1, on peut par exemple avoir une boucle du type :

for $i$ (2..100)
{
    Clone(1, $i$, "present");
    for $a$ (15..70)
    {
        $salaire$_[$i] [$a] = (0.5+$i/100) * $salaire$_[1] [$a]
    }
}

Cette boucle créera une population artificielle de 100 personnes à carrières parallèles à celle de l'individu 1, à des niveaux de salaire compris entre 0,5 et 1,5 fois celui de cet individu de référence. On pourra ensuite simuler la distribution des droits à retraite sur cette population.

## Fonction Delete

Cette fonction a un seul argument qui est l'identifiant de l'individu et elle remet à `undef` l'ensemble des informations relatives à cet individu. L'appel est donc :

Delete($i);

Par défaut, $i$ est pris égal à zéro. C'est donc un appel simple sans argument qui sert à TestLiq pour désactiver le clone d'identifiant zéro après utilisation.
# VII - Utilisations avancées (2) : création de nouveaux modules

Cette dernière section donne quelques indications à l'utilisateur ayant besoin d'enrichir les modules existants ou éventuellement de créer un nouveau module dédié à une thématique particulière.

On va présenter la structure générale d'un module (section VII.1) puis donner quelques exemples précis de sous-programmes Destinie existant pouvant servir de modèle pour de nouveaux modules (section VII.2).

## VII.1 Structure générale d'un module

Un module est un fichier `.pm` qui définit un certain nombre d'objets qui peuvent être soit des variables, soit des sous-programmes. Ils sont ensuite utilisables par d'autres modules ou des programmes principaux `.pl`. Un module peut-lui même s'appuyer sur d'autres modules.

La structure-type est la suivante :

```perl
package NouveauModule;                 # Nom du module
use strict;
```

```perl
use DefVarRetr;                         # Appels autres librairies
use OutilsBase;
```

```perl
our @ISA    = qw (Exporter);            # Gestion des exportations
our @EXPORT = qw (fonction1 fonction2
                  @varglob $varglob);
```

```perl
our (@varglob, $varglob);              # Definition des variables globales
```

```perl
my (@varloc, $varloc);                 # Definition de variables locales
```

```perl
@varglob= ... ;                       # Initialisations des variables
```

```perl
$varloc=... ;                          # globales ou locales
```

```perl
sub fonction1                      # Codes des différentes fonctions
{
```

```perl
...
}
```

```perl
sub fonction2
{
```

```perl
...
}
```

```perl
1;                                   # Fin du module
```

On voit que le module débute par la déclaration de son nom, qui doit être identique au nom du fichier `.pm` qui le contient. On applique ensuite, de préférence, la directive de compilation `use strict` qui interdit d'utilisation de variables non pré-déclarées, puis on définit les bibliothèques auxquelles le module doit avoir accès, exactement comme dans les programmes principaux `.pl` vus jusqu'ici. A priori, un module Destinie a besoin à minima de `DefVarRetr` et `OutilsBase`.

Les deux instructions suivantes gèrent l'exportation des symboles créés par le module vers les unités appelantes. La seconde est celle que l'utilisateur doit compléter en fonction de la liste de variables et sous-programme qu'il veut mettre à disposition. Cette liste est ici passée sous la
forme qw (nom1 nom2...) qui est une notation plus compacte que ("nom1", "nom2"...) dans
laquelle qw est l'abréviation de « quoted words ».

Parmi ces variables exportées, celles qui sont utilisées dans le corps du module doivent être
explicitement redéclarées dans une instruction our, les autres variables locales au module
étant pour leur part déclarées par un my.

Le module renseigne ensuite celles de ces variables qui ont besoin d'être initialisées. Dans le cas où le module déclarerait de nouveaux paramètres dépendant du temps, on peut notamment imaginer qu'ils soient lus dans un fichier Excel sur le modèle des paramètres lus par DefVarRetr dans ParamSociaux.xls. Dans ce cas, le package aura dû prévoir un use OutilsExcel et on aura, à cet endroit du package, une séquence d'instructions du type :

<table>
   <tr>
    <td>
     $param
    </td>
    <td>
     = ClassIn($RepOutils.
    </td>
   </tr>
   <tr>
    <td>
     @Param11
    </td>
    <td>
     = GetSer($param,
    </td>
   </tr>
   <tr>
    <td>
     @Param12
    </td>
    <td>
     = GetSer($param,
    </td>
   </tr>
   <tr>
    <td>
     @Param21
    </td>
    <td>
     = GetSer($param,
    </td>
   </tr>
  </table>

dans laquelle $RepOutils est une variable Destinie calculée par DefVarRetr donnant le chemin d'accès au répertoire Outils.

Après cela, le package consiste dans la suite des codes-source des différents sous-
programmes, introduits par le mot clé sub.

Le texte du module se termine enfin, obligatoirement, par une valeur de retour égale à 1.

## VII.2 Création de fonctions : principes et exemples

La partie la plus conséquente de la programmation d'un module correspond à l'écriture des fonctions. Il n'est pas possible de proposer un guide systématique, mais on présente les quelques principes généraux et des exemples de quelques fonctions prélevées dans les librairies présentées à la section précédente.

### VII.2.1 Principes de la programmation des fonctions en Perl

Le code source d'un sous-programme ou fonction prend la forme suivante :

```perl
sub NomFonction ($$) #1. Nom de la fonction et paramètres
{
    my ($i, $a, $loc) ; #2. Déclaration des variables locales
    $i=shift (@_) ;    #3. Initialisation des variables locales à
    $a= shift (@_) ;    # partir du tableau @_ des arguments d'appel
    $loc=... ;         #4. Calculs impliquant les variables locales
    $var2[$i][$a]=... ; # ($i, $a, $loc) et globales ($var1, @var2)
    return $loc ;       #5. Retour éventuel d'une variable locale
}
```

Le début du code des fonctions est toujours de cette forme, avec l'instruction *sub* (subroutine) suivie du nom du sous programme et de la déclaration -facultative- du nombre et du type des *arguments* de cette fonction. Dans l'exemple fourni, les arguments sont deux scalaires, mais il pourrait s'agir aussi d'adresses de tableaux (\@) ou de hachages (\#), de noms logiques de fichiers, ou d'adresses d'éléments de code (&). Si des arguments sont facultatifs, ils doivent apparaître en dernier et figurer après un point-virgule.

Par exemple :

`sub fonction ($\@;$)`
indique que la fonction a trois arguments dont les deux premiers, obligatoires sont un scalaire et une adresse de tableau et le dernier, facultatif, est un scalaire.

On notera qu'on ne mentionne pas le cas où l'argument serait un tableau (@) plutôt qu'une adresse de tableau (\@). La raison est que l'ensemble des arguments passés à la fonction vont eux-mêmes être rangés dans le tableau par défaut @_ . Une fonction qui attendrait deux tableaux complets @tab1 et @tab2 les rangerait d'office bout-à-bout dans le tableau @_ sans possibilité de les différencier à nouveau, sauf à passer des nombres d'éléments comme arguments supplémentaires. C'est la raison pour laquelle on préfère en général le passage par adresse \@ qui, de plus, est plus économe en place mémoire et temps de calcul. Ce passage par adresse n'impose pas que les adresses soient passées sous les formes \@tab1 et \@tab2 . Perl reconnaît les formes simples @tab1 et @tab2 comme correspondant aux adresses des deux tableaux considérés dès lors qu'il sait que ce sont des adresses qui sont attendues par le sous programme.

Le corps du sous-programme est ensuite compris entre accolades.

La première instruction consiste à déclarer les variables qui seront propres à la procédure, avec une instruction my .

Les instructions suivantes consistent à dépiler le contenu du tableau des arguments d'appel, en général à l'aide de l'instruction shift . Lorsque la liste d'arguments d'appel est de longueur variable, l'instruction est en général utilisée sous forme conditionnelle, i.e.

if (@_) {$param=shift(@_)}

qui dit d'affecter à la variable $param l'argument suivant de la liste, s'il existe. L'instruction if appliquée à un tableau revient en effet à tester que le tableau est non vide.

Le reste du sous-programme effectue les opérations demandées. Si elles portent sur des variables globales extérieures au sous-programme, on les modifie directement. Si la variable globale qu'on veut manipuler est un tableau dont le sous programme ne connaît que l'adresse, le plus pratique est d'utiliser l'opérateur de déréférencement. Par exemple, si un programme doit travailler sur la valeur de la variable globale @x pour l'individu $i, on peut avoir les instructions types sont :

sub fonction ($\@) { my ($i,$refvar)=@_; $$refvar[$i]=... }

où la syntaxe $$refvar[$i] indique à Perl de travaille sur la position $i du tableau dont l'adresse est $refvar . Dans ce cas, l'appel fonction (157, @x) travaillera directement sur $x[157] . Cette forme d'écriture est celle qui est généralement utilisée dans toutes les procédures Destinie travaillant sur données individuelles.

Dans l'exemple présenté on suppose par ailleurs que, en sus de modifier des variables globales, le programme retourne aussi la valeur finale de sa variable locale $loc . Dans ce cas, elle va être récupérée en appelant la fonction sous la forme, par exemple :

$resultat = fonction (15,22) ;

mais le retour pourrait aussi bien consister en un tableau complet ou toute autre forme d'objet Perl.

On va maintenant donner les quelques exemples empruntés aux bibliothèques Destinie 1llustrant ces possibilités.

VII.2.2 Un cas élémentaire : l'exemple de la fonction Duree

On commence par l'exemple de la fonction Duree, exemple assez simple qui se caractérise néanmoins par le fait que sa liste d'arguments est de longueur totalement indéfinie. La fonction
doit en effet pouvoir calculer la durée passée par l'individu $i jusqu'à l'âge $a dans un ou plusieurs états vis-à-vis du marché du travail, sans présager du nombre de ces états. Il faut donc pouvoir écrire aussi bien

```perl
$duree_cho=Duree($i,$a,$CodeCho);
$duree_pri=Duree($i,$a,$CodeNC,$CodeCad);
$duree.sal=Duree($i,$a,$CodeNC,$CodeCad,@CodesFP);
$duree_act=Duree($i,$a,@CodesAct);
```

Le texte du sous programme qui permet ces appels diversifiés est donné ci-dessous.

```perl
sub Duree
{
    my ($i,$a,$duree);
    $i=shift (@_);
    $a=shift (@_);
    $duree=0;
    for (15..$a)
    {
        if (In($statut_[$i][$], @_)) {$duree++}
    }
    return $duree;
}
```

On voit dans cet exemple que les deux premiers paramètres $i et $a sont prélevés d'office dans la liste d'arguments @_. Après cela, le sous-programme se borne à laisser cette liste d'arguments en l'état, et à calculer le nombre d'années pour lesquelles la variable $statut_[$i][$a] appartient à cet ensemble @_, à l'aide de la fonction In de OutilsBase. La fonction retourne le scalaire $duree.

### VII.2.3 Utilisation de paramètres légaux dépendant de la date : l'exemple de la fonction CSGRet

Le calcul de la CSG acquittée sur la pension de retraite se fait pour l'individu à l'âge courant. Il dépend de la valeur courante du taux de CSG et de son seuil d'exonération tous deux stockés dans des séries temporelles lues par DefVarRetr dans le fichier ParamSociaux.

Pour que ceci soit possible, il faut que le programme connaisse la date à laquelle se fait l'évaluation. Celle-ci n'est pas visible depuis le sous-programme car il s'agit d'une variable de boucle qui est forcément locale au programme .pl appelant. Pour résoudre ce problème, on aurait pu imaginer que la date $t soit aussi passée comme argument au sous-programme, mais on a préféré éviter la multiplication des arguments d'appel. Pour ce faire, le principe général de tous les programmes de même type est plutôt d'évaluer $t sur la base de la date de naissance et de l'âge courant de l'individu considéré.

Ceci est fait en ligne #1 du corps de sous programme ci-dessous, en n'omettant pas de retrancher 1900 pour respecter le fait que les séries temporelles sont toutes décalées à cette date origine. Ceci ayant été fait, le sous programme accède directement aux paramètres $SeuilExoCSg[$t] et $TauxCSGRet[$t] (lignes #2 et #3).

```perl
sub CSGRet ($)
{
    my ($i,$t,$cot);
    $i=shift (@_);
    $t=$anaiss[$i]+$age[$i]-1900; #1

    if ($pension[$i]>$SeuilExoCSG[$t]) #2
    {
        $cot=$TauxCSGRet[$t]*$pension[$i] #3
    }
}
```
```perl
else
{
    $cot=0
}
return $cot;
}
```

### VII.2.4 Fonction dont un argument est une série temporelle complète : l'exemple de la fonction SalMoy

La fonction SalMoy calcule le salaire moyen sur les $n dernières années d'activité antérieures à l'âge $a, ou par défaut sur l'ensemble de la carrière jusqu'à l'âge $a. Elle peut le faire en net ou en brut. Par défaut, les salaires passés sont revalorisés sur les prix, mais l'utilisateur peut choisir une autre règle de revalorisation. Elle a été conçue pour que les appels suivants soient tous possibles :

```perl
$moyenne=SalMoy($i, "brut", 10, @PlafondSS);
$moyenne=SalMoy($i, "brut", 10);
$moyenne=SalMoy($i, "brut", @PlafondSS);
$moyenne=SalMoy($i, "brut");
```

Ceci suppose que le programme admette que le troisième ou le quatrième argument de la fonction puissent être alternativement un nombre ou une adresse de tableau. Le code du programme est le suivant :

```perl
sub SalMoy
{
    my ($buf, $i, $option, $n, $refrevalo, $t, $a, $num, $denom);
    $i = shift (@_);
    $option = shift (@_);
    $refrevalo = \@Prix;
    $n=99;
    #1
    #2
    while (@_)
    {
        $buf=shift (@_);
        if (ref ($buf)) {$refrevalo=$buf} else {$n=$buf}
        #3
        #4
    }

    $a     = $age[$i];
    $t     = ($anaiss[$i] + $a) % 1900;
    $num   = 0;
    $denom = 0;
    if ($option =~ /net/i)
        #5
    {
        while (($denom<$n) && ($a>15) && (($anaiss[$i] + $a) > 1920))
        {
            $a--;
            #6
            if (In($statut[$i][$a], @CodesOcc))
            {
                $denom++;
                $num+=SalNet($i, $a);
                *$$refrevalo[$t] / $$refrevalo[($anaiss[$i] + $a) % 1900] #7
            }
        }
    }
    else
    {
        while (($denom<$n) && ($a>15) && (($anaiss[$i] + $a) > 1920))
        {
            $a--;
```
```perl
if (In($statut_[$i][$a], @CodesOcc))
{
    $denom++ ;
    $num+=$salaire_[$i][$a]*
        $$refrevalo[$t]/$$refrevalo[( $anaiss[$i] + $a) % 1900] #8
}
}
}
if ($denom>0)
{
    return Arr($num/$denom, 0)
}
}
```

On voit, que dans ce sous-programme, la variable servant de base aux revalorisations de salaires passées est repérée par son adresse `$refrevalo`, qui, par défaut, est l'adresse de la variable globale `@Prix` définie et initialisée par `DefVarRetr` (instruction #1). La longueur de carrière sur laquelle va être calculé le salaire moyen est par ailleurs initialisée à 99 (instruction #2).

Le programme commence par prélever d'office les paramètres `$i` et `$option` dans les deux premières positions du tableau `@_`. Ensuite, il ne sait pas immédiatement si le paramètre suivant va être un nombre ou une référence de tableau. Il le stocke donc temporairement dans la variable `$buf`, et il utilise la fonction `ref` pour détecter s'il s'agit ou non d'une adresse. Selon le cas, il affecte sa valeur à `$n` ou `$refrevalo` (lignes #3 et #4).

Ceci ayant été fait, on utilise la variable de revalorisation dans des boucles sur `$a` par des appels de type `$$refrevalo[$anaiss[$i] + $a % 1900]` (lignes 7 et 8).

Dans le même programme, on notera les instructions conditionnelles de type `if ($option =~ /net/i)` (ligne #5) qui permettent que le paramètre `$option` ait été éventuellement passé avec des majuscules et des caractères additionnels : plus précisément, l'instruction `=~` est un opérateur testant si la chaîne indiquée à sa droite est présente à l'intérieur de la chaîne donnée à sa gauche, l'option `/i` neutralisant le contrôle de la casse des caractères.

On notera enfin le balayage en arrière de la carrière des individus à l'aide de l'opérateur `$a--` (ligne #6).

### VII.2.5 Fonction dont un argument est un intervalle de valeurs : l'exemple de la fonction NbEnf

La fonction `NbEnf` est un autre exemple de fonction dans laquelle le même argument peut avoir des contenus différents. Par défaut, elle calcule le nombre d'enfants actuellement survivants de l'individu `$i`, mais elle peut aussi calculer l'ensemble des enfants qu'il a eu (option `"tous"`) ou le nombre d'enfants actuellement vivants et dans un intervalle d'âge donné. On peut ainsi avoir des appels :

```perl
$descendance_finale[$i] = NbEnf($i, "tous");
```

où :

```perl
$enfants_03[$i] = NbEnf($i, [0..3]);
```

Dans le deuxième cas, la notation `[0..3]` ne renvoie pas au contenu d'un tableau, comme le ferait la syntaxe `(0..3)` mais à l'adresse d'un tableau anonyme dont le contenu est `(0..3)`.
Dans le texte du programme ci-dessous, on voit que ceci est géré en traitant d'abord à part les cas de l'option par défaut et de l'option "tous". Si on n'est dans aucun de ces deux cas, on en déduit que le paramètre qui a été passé est une référence de tableau, et on transfère le tableau anonyme vers lequel pointe cette adresse dans le tableau non anonyme local @bornes (instruction #1), après quoi on reprend le balayage de la liste d'enfants de l'individu $i en se restreignant à ceux dont l'âge tombe à l'intérieur du tableau @bornes (ligne #2).

Le même procédé est utilisé pour gérer les tranches de tableaux dans les sous-programmes tels que Coupe, Stab ou Mtab de OutilsTab.

```perl
sub NbEnf
{
    my ($i, $e, $option, @bornes, $nenf);
    $i=shift(@_);
    $option="en vie";
    if (@_) {$option=shift(@_)};
    $nenf=undef;
    if ($statut[$i]>0)
    {
        $nenf=0;
        if ($option =~ /en vie/i)
        {
            for $e (1..6) {if ($enf[$i][$e] > 0) {$nenf++}}
        }
        elsif ($option =~ /tous/i)
        {
            for $e (1..6) {if ($enf[$i][$e] != 0) {$nenf++}}
        }
        else
        {
            @bornes=@{$option}; #1
            for $e (1..6)
            {
                if (($enf[$i][$e]>0) &&
                     (In($age[$enf[$i][$e]],@bornes))) {$nenf++} #2
                }
            }
        }
        return $nenf;
    }
}
```

### VII.2.6 Fonction dont un argument est un bloc d'instructions : l'exemple de la fonction Svar

Le dernier exemple proposé illustre la possibilité de transmettre un argument consistant en un fragment de code Perl. On a vu que cette possibilité est utilisée systématiquement pour les procédures de tabulation. L'exemple présenté est celui de la fonction SVar, qui accepte des syntaxes de type :

```perl
$somme.sal=SVar(@salaire);
```

où :

```perl
$somme.sal=SVar(@salaire, sub { ($age[$_] > 40)
    && (In($statut[$_],@CodesFP)) });
```

Dans cette syntaxe, le premier argument est une adresse de tableau de type \@, récupérée dans la variable locale $var (ligne #2). Dans les deux exemples ci-dessus, l'élément
$salaire[$i] sera donc visible dans le sous-programme sous la forme $$var[$i] (ligne #4).

Dans le deuxième exemple d'appel, la séquence sub{...} définit pour sa part un mini sous-
programme anonyme se résumant à l'instruction ($age[$_] > 40) &&
(In($statut[$_], @CodesFP). On pré spécifie à SVar que c'est ce type d'argument qu'il
doit attendre (argument & dans la liste des arguments d'appel de la ligne #1) et l'adresse de
sous-programme anonyme est affectée, dans le sous-programme, au scalaire local $cond
(ligne #3).

Ceci ayant été fait, l'instruction if (&$cond) équivaut à if ($age[$_] > 40) && (In($statut[$_], @CodesFP) et, à l'intérieur d'une boucle sur $_, fournit le filtrage souhaité (ligne #5). Si aucun argument n'a été passé, $cond pointe vers le sous-programme dont le retour est simplement égal à un, et tous les individus sont pris en compte.

sub SVar (\@;&) #1
{
    my ($var,$cond,$sum);
    $var = shift(@_); #2
    if (@_) {$cond=shift(@_)} else {$cond=sub {1}}; #3
    $sum = 0;
    if ($VarRef eq undef) #4
    {
        print "*** Erreur SVar : variable \$VarRef non définie \n";
        return undef;
    }
    else
    {
        for (1..IMax)
        {
            $sum+=$$var[$_] if (($$VarRef[$_]>$ValRef) && (&$cond)) #5
        }
    }
    return Arr($WSVar*$sum,2);
}

On relèvera que les filtrages font aussi intervenir la condition ($$VarRef[$_]>$ValRef).
Elle sert à épargner à l'utilisateur le filtrage sur les individus effectivement en vie à la date
courante. Pour ce faire, on a vu que Destinie suppose qu'il existe une variable de référence
des comptages dont l'adresse est stockée dans $VarRef. Il suppose également qu'il y a une
valeur seuil $ValRef de cette variable de référence au-delà de laquelle les individus sont à
compter comme présents. $VarRef et $ValRef sont initialisées par défaut dans
DefVarRetr par la commande UseVRef(@present,0). De cette manière, la condition if
(VarRef[$_]>$ValRef) équivaut à if ($present[$_]>0). Le cas échéant, on pourrait
avoir d'autres préfiltrages en réappelant UseVRef avec d'autres arguments.
Références

Albouy, V., Davezies, L. et Debrand, T. (2009) « Health Expenditure Models: a Comparison of five Specifications Using Panel Data”, *Document de travail Insee/Dese G2010/02*.

Bardaji, J., Sédillot, B. et Walraët, E. (2003) « Un outil de prospective des retraites : le modèle de microsimulation Destinie », *Économie et Prévision*, n°160-161, pp. 193-213.

Blanchet, D., et Chanut, J.M. (1998) «Projeter les retraites à long terme. Résultats d'un modèle de microsimulation», *Économie et Statistique*, 315: 95-106.

Blanchet, D., Buffeteau, S., Crenner, E. et Le Minez, S. (2010) « Le modèle de microsimulation Destinie 2 : principales caractéristiques et résultats illustratifs », *Document de travail Insee/Dese* n°G2010/13.

Bozio, A. (2008) *Réformes des retraites : estimations sur données françaises*, Thèse EHESS.

Buffeteau, S. et Le Minez, S. (2010) « Le modèle de microsimulation Destinie 2 : le générateur de biographies », *Document de travail Insee-Dese* à paraître.

Division «Redistribution et Politiques Sociales» (1999) «Le modèle de microsimulation dynamique DESTINIE», *Document de travail Insee/Dese* n°G99/13

Duée, M. et Rebillard, C. (2004) « La dépendance des personnes âgées : une projection à long terme », *Document de travail Insee/Dese* n°G2004/02.

O'Donoghue, C., Lennon, J. et Hynes, S. (2009) « The Life-Cycle Income Analysis Model (LIAM): A Study of a Flexible Dynamic Microsimulation Modelling Computing Framework », Working Paper CeRP n°85/09

Statistique Canada (2010) *Guide du concepteur de ModGen* (accessible à http://www.statcan.gc.ca/microsimulation/pdf/dev-guide-fra.pdf)
Annexe 1 : Liste des variables globales par ordre alphabétique

<table><thead><tr><td>Variable</td><td>Contenu</td><td>Type de variable</td><td>Mode de calcul ou d'initialisation</td></tr></thead><tbody><tr><td>$age[$i]</td><td>Age courant</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$AgeAnnDecFP</td><td>Age d'annulation de la décote fonction publique.</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$AgeEligPR[$t]</td><td>Age d'accès à la préretraite</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamPreret de ParamSociaux.xls)</td></tr><tr><td>$ageliq[$i]</td><td>Age de la liquidation</td><td>Variable individuelle permanente</td><td>Liq (OutilsDroits)</td></tr><tr><td>$AgeMaxFP</td><td>Age de liquidation maximal FP</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$AgeMaxRG</td><td>Age de liquidation maximal RG</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$AgeMinFPA</td><td>Age minimum d'ouverture des droits, FPA</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$AgeMinFPS</td><td>Age minimum d'ouverture des droits, FPS</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$AgeMinRG</td><td>Age minimum d'ouverture des droits, RG</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$anaiss[$i]</td><td>Année de naissance</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$AnneeDepart</td><td>Millésime associé au fichier de données initiales</td><td>Option ou paramètre de simulation</td><td>UseBios (OutilsRetr)</td></tr><tr><td>$AnneeDepartCN</td><td>Année de démarrage du système en comptes notionnels</td><td>Option ou paramètre de simulation</td><td>UseOptCN (OutilsRetr)</td></tr><tr><td>$BioEmp</td><td>Fichier en entrée contenant les biographies professionnelles</td><td>Nom de fichier ou de repertoire</td><td>UseBios (OutilsRetr)</td></tr><tr><td>$BioFam</td><td>Fichier en entrée contenant les biographies familiales</td><td>Nom de fichier ou de repertoire</td><td>UseBios (OutilsRetr)</td></tr><tr><td>$BMAF[$t]</td><td>Base mensuelle des allocations familiales</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamFam de ParamSociaux.xls)</td></tr><tr><td>$CibleLiq</td><td>Nom du tableau de stockage cibles d'age de départ à retraite</td><td>Option ou paramètre de simulation</td><td>UseOpt (OutilsRetr)</td></tr><tr><td>$CodeAvpf</td><td>Code inactif avec AVPF</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodeCad</td><td>Code cadre du privé</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodeCel</td><td>Code célibataire</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodeCho</td><td>Code chômeur</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodeFem</td><td>Code femme</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodeFP</td><td>Code fonction publique</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodeFPA</td><td>Code fonction publique catégorie active</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodeFPS</td><td>Code fonction publique catégorie sédentaire</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodeHom</td><td>Code homme</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodeIna</td><td>Code inactif</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodeInd</td><td>Code indépendant</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodeMar</td><td>Code marié (en couple)</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodeNC</td><td>Code non cadre du privé</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodePR</td><td>Code préretraité</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodesAct[$_]</td><td>Liste des codes actifs</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr></tbody></table>
<table><thead><tr><td>Variable</td><td>Contenu</td><td>Type de variable</td><td>Mode de calcul ou d'initialisation</td></tr></thead><tbody><tr><td>$CodeSco</td><td>Code élève, étudiant</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodesFP[$_]</td><td>Liste des codes fonction publique</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodesOcc[$_]</td><td>Listes des codes actifs occupés</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CodeVeu</td><td>Code veuf</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$CoefMdaFP[$t]</td><td>Coefficient MDA de la FP</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$CoefMdaRG[$t]</td><td>Coefficient MDA du RG</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$conjoint[$i]</td><td>Identifiant du conjoint</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$deces[$i]</td><td>Indicatrice de décès l'année en cours</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$DecoteFP</td><td>Décote fonction publique</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$DecoteRG</td><td>Coefficient de décote du régime général (par année d'écart au taux plein)</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$duree_avpf</td><td>Durée passée en AVPF</td><td>Variable individuelle temporaire</td><td>SimDir(OutilsRetr), Liq et DurBase (OutilsDroits)</td></tr><tr><td>$duree_cho</td><td>Nombre d'années au chômage</td><td>Variable individuelle temporaire</td><td>SimDir(OutilsRetr), Liq et DurBase (OutilsDroits)</td></tr><tr><td>$duree_emp</td><td>Nombre d'années en emploi</td><td>Variable individuelle temporaire</td><td>SimDir(OutilsRetr), Liq et DurBase (OutilsDroits)</td></tr><tr><td>$duree_fp</td><td>Durée cotisée dans les régimes du secteur public</td><td>Variable individuelle temporaire</td><td>SimDir(OutilsRetr), Liq et DurBase (OutilsDroits)</td></tr><tr><td>$duree_fp_maj</td><td>Durée FP incluant MDA éventuelle (selon options)</td><td>Variable individuelle temporaire</td><td>Simdir (OutilsRetr), Liq et DurMajo (OutilsDroits)</td></tr><tr><td>$duree_fpa</td><td>Durée cotisée dans les régimes du secteur public, catégorie active</td><td>Variable individuelle temporaire</td><td>Simdir(OutilsRetr), Liq et DurBase (OutilsDroits)</td></tr><tr><td>$duree_fps</td><td>Durée cotisée dans les régimes du secteur public, catégorie sédentaire</td><td>Variable individuelle temporaire</td><td>SimDir(OutilsRetr), Liq et DurBase (OutilsDroits)</td></tr><tr><td>$duree_in</td><td>Durée cotisée comme indépendant</td><td>Variable individuelle temporaire</td><td>SimDir(OutilsRetr), Liq et DurBase (OutilsDroits)</td></tr><tr><td>$duree_in_maj</td><td>Durée cotisée comme indépendant incluant MDA éventuelle (selon options)</td><td>Variable individuelle temporaire</td><td>Simdir (OutilsRetr), Liq et DurMajo (OutilsDroits)</td></tr><tr><td>$duree_PR</td><td>Nombre d'années en préretraite</td><td>Variable individuelle temporaire</td><td>SimDir(OutilsRetr), Liq et DurBase (OutilsDroits)</td></tr><tr><td>$duree rg</td><td>Durée cotisée au régime général</td><td>Variable individuelle temporaire</td><td>SimDir(OutilsRetr), Liq et DurBase (OutilsDroits)</td></tr><tr><td>$duree rg_maj</td><td>Durée RG incluant AVPF et MDA (selon options)</td><td>Variable individuelle temporaire</td><td>Simdir (OutilsRetr), Liq et DurMajo (OutilsDroits)</td></tr><tr><td>$duree_tot</td><td>Durée cotisée totale</td><td>Variable individuelle temporaire</td><td>Simdir(OutilsRetr), Liq et DurBase (OutilsDroits)</td></tr><tr><td>$duree_tot_maj</td><td>Durée cotisée totale incluant AVPF et MDA (selon options)</td><td>Variable individuelle temporaire</td><td>Simdir (OutilsRetr), Liq et DurMajo (OutilsDroits)</td></tr><tr><td>$DureeCalcSAM</td><td>Nombre d'années pour calcul du SAM dans le RG</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$DureeCibFP</td><td>Durée cible de la fonction publique</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$DureeCibRG</td><td>Durée cible régime général</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$DureeProratRG</td><td>Durée de proratisation du régime général</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$enf[$e][$i]</td><td>Identifiant du e-ième enfant</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$findet[$i]</td><td>Age de fin d'études</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$gamma[$i]</td><td>Aversion pour le risque</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr></tbody></table>
<table><thead><tr><td>Variable</td><td>Contenu</td><td>Type de variable</td><td>Mode de calcul ou d'initialisation</td></tr></thead><tbody><tr><td>$id_clone</td><td>Identifiant de l'individu de départ lorsqu'on travaille sur un clone</td><td>Variable individuelle temporaire</td><td>Clone (DefVarRetr)</td></tr><tr><td>$indic_mc[$i]</td><td>Indicatrice d'octroi du minimum contributif</td><td>Variable individuelle permanente</td><td>SimDir (OutilsRetr), Liq et Revalo (OutilsDroits)</td></tr><tr><td>$indic_mg[$i]</td><td>Indicatrice d'octroi du minimum garanti de la FP</td><td>Variable individuelle permanente</td><td>SimDir (OutilsRetr), Liq et Revalo (OutilsDroits)</td></tr><tr><td>$k[$i]</td><td>Préférence pour le loisir/pénibilité du travail</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$Label("..")[$_]</td><td>Labels des codes sexe, situation matrimoniale ou statut d'emploi</td><td>Code ou label</td><td>Initialisation dans DefVarRetr</td></tr><tr><td>$LegRetroMax</td><td>Législation en vigueur pour la rétropagation des retraites</td><td>Option ou paramètre de simulation</td><td>UseLegRetroMax (OutilsRetr)</td></tr><tr><td>$MajoPlafCF[$t]</td><td>Majoration du plafond ressources du CF et de l'APJE</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamFam de ParamSociaux.xls)</td></tr><tr><td>$MajTauxRGMax</td><td>Majoration du taux maximal de la pension RG</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$matri[$i]</td><td>Statut matrimonial</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$MaxRevRG[$t]</td><td>Réversion maximale du RG</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRev de ParamSociaux.xls)</td></tr><tr><td>$mere[$i]</td><td>Identifiant de la mère</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$migrant[$i]</td><td>Indique si l'individu est un migrant de l'année</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$min_cont</td><td>Minimum contributif</td><td>Variable individuelle temporaire</td><td>SimDir (OutilsRetr), Liq et MinCont (OutilsDroits)</td></tr><tr><td>$min_garanti</td><td>Minimum garanti</td><td>Variable individuelle temporaire</td><td>SimDir (OutilsRetr), Liq et MinGaranti (OutilsDroits)</td></tr><tr><td>$min_vieil[$i]</td><td>Allocation du minimum vieillesse</td><td>Variable individuelle permanente</td><td>SimMinVieil (OutilsRetr)</td></tr><tr><td>$Mincont1[$t]</td><td>Minimum contributif</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$Mincont2[$t]</td><td>Majoration du minimum contributif</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$MinPR[$t]</td><td>Niveau minimum de la préretraite</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$MinRevRG[$t]</td><td>Réversion minimale du RG</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRev de ParamSociaux.xls)</td></tr><tr><td>$MinVieil1[$t]</td><td>Minimum vieillesse personne seule</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$MinVieil2[$t]</td><td>Minimum vieillesse pour un couple</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$Options</td><td>Chaine de caractères synthétisant différentes options de simulation</td><td>Option ou paramètre de simulation</td><td>UseOpt (OutilsRetr)</td></tr><tr><td>$OptionsCN</td><td>Chaine de caractères synthétisant les options spécifiques aux comptes notionnels</td><td>Option ou paramètre de simulation</td><td>UseOptCN (OutilsRetr)</td></tr><tr><td>$pension[$i]</td><td>Pension directe totale</td><td>Variable individuelle permanente</td><td>SimDir (OutilsRetr), Liq et Revalo (OutilsDroits)</td></tr><tr><td>$pension_ag[$i]</td><td>Pension agirc</td><td>Variable individuelle permanente</td><td>SimDir (OutilsRetr), Liq et Revalo (OutilsDroits)</td></tr><tr><td>$pension_ar[$i]</td><td>Pension arrco</td><td>Variable individuelle permanente</td><td>SimDir (OutilsRetr), Liq et Revalo (OutilsDroits)</td></tr><tr><td>$pension-cn_fp[$i]</td><td>Pension comptes notionnels secteur public</td><td>Variable individuelle permanente</td><td>SimDir (OutilsRetr), Liq et Revalo (OutilsDroits)</td></tr><tr><td>$pension-cn_pri[$i]</td><td>Pension comptes notionnels secteur privé</td><td>Variable individuelle permanente</td><td>SimDir (OutilsRetr), Liq et Revalo (OutilsDroits)</td></tr><tr><td>$pension_fp[$i]</td><td>Pension fonction publique</td><td>Variable individuelle permanente</td><td>SimDir (OutilsRetr), Liq et Revalo (OutilsDroits)</td></tr><tr><td>$pension_in[$i]</td><td>Pension d'indépendant</td><td>Variable individuelle permanente</td><td>SimDir (OutilsRetr), Liq et Revalo (OutilsDroits)</td></tr><tr><td>$pension_rg[$i]</td><td>Pension régime général</td><td>Variable individuelle permanente</td><td>SimDir (OutilsRetr), Liq et Revalo (OutilsDroits)</td></tr></tbody></table>
<table><thead><tr><td>Variable</td><td>Contenu</td><td>Type de variable</td><td>Mode de calcul ou d'initialisation</td></tr></thead><tbody><tr><td>$pere[$i]</td><td>Identifiant du père</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$PlafARS1[$t]</td><td>Plafond de ressource de l'ARS (1er enfant)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamFam de ParamSociaux.xls)</td></tr><tr><td>$PlafARS2[$t]</td><td>Plafond de ressource de l'ARS (2ème enfant)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamFam de ParamSociaux.xls)</td></tr><tr><td>$PlafARS3[$t]</td><td>Plafond de ressource de l'ARS (3ème enfant)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamFam de ParamSociaux.xls)</td></tr><tr><td>$PlafARS4[$t]</td><td>Plafond de ressource de l'ARS (4ème enfant)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamFam de ParamSociaux.xls)</td></tr><tr><td>$PlafARS5[$t]</td><td>Plafond de ressource de l'ARS (enfant suppl.)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamFam de ParamSociaux.xls)</td></tr><tr><td>$PlafCF1[$t]</td><td>Plafond ressources du CF et de l'APJE (1er enfant)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamFam de ParamSociaux.xls)</td></tr><tr><td>$PlafCF2[$t]</td><td>Plafond ressources du CF et de l'APJE (2ème enfant)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamFam de ParamSociaux.xls)</td></tr><tr><td>$PlafCF3[$t]</td><td>Plafond ressources du CF et de l'APJE (3ème enfant)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamFam de ParamSociaux.xls)</td></tr><tr><td>$PlafCF4[$t]</td><td>Plafond ressources du CF et de l'APJE (4ème enfant)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamFam de ParamSociaux.xls)</td></tr><tr><td>$PlafCF5[$t]</td><td>Plafond ressources du CF et de l'APJE (enfant suppl.)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamFam de ParamSociaux.xls)</td></tr><tr><td>$PlafondSS[$t]</td><td>Plafond de la sécurité sociale (annuel brut, nominal)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamGene de ParamSociaux.xls)</td></tr><tr><td>$PlafRevRG[$t]</td><td>Plafond de ressources reversions RG et In</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRev de ParamSociaux.xls)</td></tr><tr><td>$PointFP[$t]</td><td>Valeur du point fonction publique</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamGene de ParamSociaux.xls)</td></tr><tr><td>$points_agirc</td><td>Cumul de points AGIRC</td><td>Variable individuelle temporaire</td><td>Simdir (OutilsRetr), Liq et Points (OutilsDroits)</td></tr><tr><td>$points_aruco</td><td>Cumul de points ARRCO</td><td>Variable individuelle temporaire</td><td>Simdir (OutilsRetr), Liq et Points (OutilsDroits)</td></tr><tr><td>$points-cnFP[$i]</td><td>Cumul points comptes notionnels du secteur public</td><td>Variable individuelle temporaire</td><td>Simdir (OutilsRetr), Liq et Points (OutilsDroits)</td></tr><tr><td>$points-cn pri[$i]</td><td>Cumul points compte notionnel du secteur privé</td><td>Variable individuelle temporaire</td><td>Simdir (OutilsRetr), Liq et Points (OutilsDroits)</td></tr><tr><td>$present[$i]</td><td>Indicatrice de présence dans la population à la date courante</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$Prix[$t]</td><td>Indice de prix (2005=1)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamGene de ParamSociaux.xls)</td></tr><tr><td>$quotient[$s][$t][$a]</td><td>Quotients de mortalité par sexe, date et âge</td><td>Paramètres démographiques</td><td>Lue par DefVarRetr (fichier ParamMortal.xls)</td></tr><tr><td>$RendementCN[$t]</td><td>Rendement effectif du système en comptes notionnels</td><td>Paramètre législatif</td><td>A renseigner par l'utilisateur</td></tr><tr><td>$RendementCNPrev[$t]</td><td>Rendement prévisionnel du système en comptes notionnels</td><td>Paramètre législatif</td><td>A renseigner par l'utilisateur</td></tr><tr><td>$RepBios</td><td>Repertoire regroupant la collection de fichiers Bios</td><td>Nom de fichier ou de repertoire</td><td>Reconstitution automatique par DefVarRetr</td></tr><tr><td>$RepMain</td><td>Repertoire racine de l'ensemble des programmes Destinie</td><td>Nom de fichier ou de repertoire</td><td>Reconstitution automatique par DefVarRetr</td></tr><tr><td>$RepOutils</td><td>Repertoire contenant les bibliothèques Destinie</td><td>Nom de fichier ou de repertoire</td><td>Reconstitution automatique par DefVarRetr</td></tr><tr><td>$RepTrav</td><td>Repertoire ou reside le programme appelant</td><td>Nom de fichier ou de repertoire</td><td>Reconstitution automatique par DefVarRetr</td></tr><tr><td>$rev[$i]</td><td>Réversion totale (somme des cinq précédentes)</td><td>Variable individuelle permanente</td><td>SimDer (OutilsRetr), Revalo (OutilsDroits)</td></tr><tr><td>$rev_ag[$i]</td><td>Reversion agirc</td><td>Variable individuelle permanente</td><td>SimDer (OutilsRetr), Revalo (OutilsDroits)</td></tr><tr><td>$rev_ar[$i]</td><td>Reversion arrco</td><td>Variable individuelle permanente</td><td>SimDer (OutilsRetr), Revalo (OutilsDroits)</td></tr><tr><td>$rev cn FP[$i]</td><td>Reversions comptes notionnels secteur public</td><td>Variable individuelle permanente</td><td>SimDer (OutilsRetr), Revalo (OutilsDroits)</td></tr><tr><td>$rev cn pri[$i]</td><td>Reversions comptes notionnels secteur privé</td><td>Variable individuelle permanente</td><td>SimDer (OutilsRetr), Revalo (OutilsDroits)</td></tr></tbody></table>
<table><thead><tr><td>Variable</td><td>Contenu</td><td>Type de variable</td><td>Mode de calcul ou d'initialisation</td></tr></thead><tbody><tr><td>$rev_fp[$i]</td><td>Réversion fonction publique</td><td>Variable individuelle permanente</td><td>SimDer (OutilsRetr), Revalo (OutilsDroits)</td></tr><tr><td>$rev_in[$i]</td><td>Réversion d'indépendant</td><td>Variable individuelle permanente</td><td>SimDer (OutilsRetr), Revalo (OutilsDroits)</td></tr><tr><td>$rev_rg[$i]</td><td>Réversion régime général</td><td>Variable individuelle permanente</td><td>SimDer (OutilsRetr), Revalo (OutilsDroits)</td></tr><tr><td>$RevaloRG[$t]</td><td>Coeff revalo nominale des pensions RG en cours de service</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$RevaloFP[$t]</td><td>Coeff revalo nominale des pensions FP en cours de service</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$RevaloCN[$t]</td><td>Revalorisation pension comptes notionnels</td><td>Paramètre législatif</td><td>A renseigner par l'utilisateur</td></tr><tr><td>$RevaloSPC[$t]</td><td>Coeff de revalorisation des salaires portés au comptes</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$salaire[$i]</td><td>Salaire courant (équivaut à $salaire[$i][$age[$i]])</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$salaire[$i][$a]</td><td>Salaire par âge</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$SalRefAGIRC[$t]</td><td>Salaire de référence AGIRC (nominal)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr><tr><td>$SalRefARRCO[$t]</td><td>Salaire de référence ARRCO (nominal)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr><tr><td>$sam_in</td><td>SAM pour le calcul de la pension d'indépendant</td><td>Variable individuelle temporaire</td><td>Simdir (OutilsRetr), Liq et SalBase (OutilsDroits)</td></tr><tr><td>$sam_rg</td><td>SAM servant au calcul de la pension RG</td><td>Variable individuelle temporaire</td><td>Simdir (OutilsRetr), Liq et SalBase (OutilsDroits)</td></tr><tr><td>$seuil[$i]</td><td>Seuil de déclenchement du report du départ en retraite</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$SeuilExoCSG[$t]</td><td>Seuil d'exonération de la CSG sur les retraites</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamAutres de ParamSociaux.xls)</td></tr><tr><td>$sexe[$i]</td><td>Sexe</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$SMIC[$t]</td><td>Le SMIC</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamGene de ParamSociaux.xls)</td></tr><tr><td>$SousRepBios</td><td>Sous-repertoire de $RepBios effectivement utilisé</td><td>Nom de fichier ou de repertoire</td><td>Reconstitution automatique par DefVarRetr</td></tr><tr><td>$sr_fp</td><td>Salaire de référence pour le calcul de la pension FP</td><td>Variable individuelle temporaire</td><td>Simdir (OutilsRetr), Liq et SalBase (OutilsDroits)</td></tr><tr><td>$statut[$i]</td><td>Statut courant (équivaut à $statut[$i][$age[$i]])</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$statut[$i][$a]</td><td>Statut d'emploi par âge</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$SurcoteFP</td><td>Surcote fonction publique</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$SurcoteRG1</td><td>Coefficient de surcote du régime général, 1ere année</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$SurcoteRG2</td><td>Coefficient de surcote du régime général, 2eme année</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$SurcoteRG3</td><td>Coefficient de surcote du régime général, 3eme année</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$survie[$s][$t][$a]</td><td>Survies par sexe, date et âge</td><td>Paramètres démographiques</td><td>Lue par DefVarRetr (fichier ParamMortal.xls)</td></tr><tr><td>$taux[$i]</td><td>Préférence pour le présent</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$tauxPrim[$i]</td><td>Taux de prime dans la fonction publique</td><td>Variable individuelle permanente</td><td>Relec (OutilsRetr)</td></tr><tr><td>$TauxAGFF[$t]</td><td>Taux AGFF (depuis 2001)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamAutres de ParamSociaux.xls)</td></tr><tr><td>$TauxAGIRC_B[$t]</td><td>Taux AGIRC tranche B</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr><tr><td>$TauxAGIRC_C[$t]</td><td>Taux AGIRC tranche C</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr><tr><td>$TauxAGIRC_SB[$t]</td><td>Taux contractuel salarié AGIRC tranche B</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr><tr><td>$TauxAGIRC_SC[$t]</td><td>Taux contractuel salarié AGIRC tranche C</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr><tr><td>$TauxAppAGIRC[$t]</td><td>Taux Appel AGIRC</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr></tbody></table>
<table><thead><tr><td>Variable</td><td>Contenu</td><td>Type de variable</td><td>Mode de calcul ou d'initialisation</td></tr></thead><tbody><tr><td>$TauxAppARRCO[$t]</td><td>Taux appel ARRCO</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr><tr><td>$TauxARRCO_1[$t]</td><td>Taux contractuel ARRCO tranche 1</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr><tr><td>$TauxARRCO_2[$t]</td><td>Taux contractuel ARRCO tranche 2</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr><tr><td>$TauxARRCO_S1[$t]</td><td>Taux contractuel salarié ARRCO tranche 1</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr><tr><td>$TauxARRCO_S2[$t]</td><td>Taux contractuel salarié ARRCO tranche 2</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr><tr><td>$TauxASSEDIC[$t]</td><td>Taux assurance chômage</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamAutres de ParamSociaux.xls)</td></tr><tr><td>$TauxCotCN[$t]</td><td>Taux de cotisation aux comptes notionnels</td><td>Paramètre législatif</td><td>A renseigner par l'utilisateur</td></tr><tr><td>$TauxCotFP[$t]</td><td>Taux de cotisation salarié du secteur public</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$TauxCSGRet[$t]</td><td>Taux CSG sur retraites</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamAutres de ParamSociaux.xls)</td></tr><tr><td>$TauxCSGSal[$t]</td><td>Taux CSG sur salaires</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamAutres de ParamSociaux.xls)</td></tr><tr><td>$TauxEmpRGSP[$t]</td><td>Taux employeur régime général sous plafond</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$TauxMalSP[$t]</td><td>Taux de cotisation maladie sous plafond (jusqu'en 1979)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamAutres de ParamSociaux.xls)</td></tr><tr><td>$TauxMalTot[$t]</td><td>Taux de cotisation maladie déplafonnée (depuis 1967)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamAutres de ParamSociaux.xls)</td></tr><tr><td>$TauxPleinRG</td><td>Taux plein du régime général</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$TauxPleinRG</td><td>Taux plein du régime général</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$TauxPR1[$t]</td><td>Taux préretraite tranche 1</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamPreret de ParamSociaux.xls)</td></tr><tr><td>$TauxPR2[$t]</td><td>Taux préretraite tranche 2</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamPreret de ParamSociaux.xls)</td></tr><tr><td>$TauxPR3[$t]</td><td>Taux préretraite tranche 3</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamPreret de ParamSociaux.xls)</td></tr><tr><td>$TauxRevAGIRC[$t]</td><td>Taux de réversion AGIRC</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRev de ParamSociaux.xls)</td></tr><tr><td>$TauxRevARRCO[$t]</td><td>Taux de réversion ARRCO</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRev de ParamSociaux.xls)</td></tr><tr><td>$TauxRevFP[$t]</td><td>Taux de réversion de la FP</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRev de ParamSociaux.xls)</td></tr><tr><td>$TauxRevInd[$t]</td><td>Taux de réversion des régimes d'indépendants</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRev de ParamSociaux.xls)</td></tr><tr><td>$TauxRevRG[$t]</td><td>Taux de réversion du RG</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRev de ParamSociaux.xls)</td></tr><tr><td>$TauxRGMax</td><td>Taux maximal de la pension RG</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$TauxRGMax</td><td>Taux maximal de la pension RG</td><td>Paramètre législatif</td><td>UseLeg (OutilsRetr)</td></tr><tr><td>$TauxRGSalTot[$t]</td><td>Taux RG sur l'ensemble du salaire</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$TauxSalRGSP[$t]</td><td>Taux salarié régime général sous plafond</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td></tr><tr><td>$TauxSondage</td><td>Taux de sondage de l'échantillon traité</td><td>Option ou paramètre de simulation</td><td>UseBios (OutilsRetr)</td></tr><tr><td>$ValPtAGIRC[$t]</td><td>Valeur du point AGIRC (nominal)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr><tr><td>$ValPtARRCO[$t]</td><td>Valeur du point ARRCO (nominal)</td><td>Paramètre législatif</td><td>Lue par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td></tr></tbody></table>
Annexe 2 : Variables globales classées par type et mode de calcul ou d'initialisation

<table><thead><tr><th>Type de variable</th><th>Mode de calcul ou d'initialisation</th><th>Variable</th><th>Contenu</th></tr></thead><tbody><tr><td rowspan="20">Codes ou labels</td><td rowspan="19">Initialisation dans DefVarRetr</td><td>$CodeAvpf</td><td>Code inactif avec AVPF</td></tr><tr><td>$CodeCad</td><td>Code cadre du privé</td></tr><tr><td>$CodeCel</td><td>Code célibataire</td></tr><tr><td>$CodeCho</td><td>Code chômeur</td></tr><tr><td>$CodeFem</td><td>Code femme</td></tr><tr><td>$CodeFP</td><td>Code fonction publique</td></tr><tr><td>$CodeFPA</td><td>Code fonction publique catégorie active</td></tr><tr><td>$CodeFPS</td><td>Code fonction publique catégorie sédentaire</td></tr><tr><td>$CodeHom</td><td>Code homme</td></tr><tr><td>$CodeIna</td><td>Code inactif</td></tr><tr><td>$CodeInd</td><td>Code indépendant</td></tr><tr><td>$CodeMar</td><td>Code marié (en couple)</td></tr><tr><td>$CodeNC</td><td>Code non cadre du privé</td></tr><tr><td>$CodePR</td><td>Code préretraité</td></tr><tr><td>$CodesAct[$_]</td><td>Liste des codes actifs</td></tr><tr><td>$CodeSco</td><td>Code élève, étudiant</td></tr><tr><td>$CodesFP[$_]</td><td>Liste des codes fonction publique</td></tr><tr><td>$CodesOcc[$_]</td><td>Listes des codes actifs occupés</td></tr><tr><td>$CodeVeu</td><td>Code veuf</td></tr><tr><td>$Label{".."}$_]</td><td>Labels des codes sexe, situation matrimoniale ou statut d'emploi</td></tr><tr><td rowspan="8">Noms de fichiers ou de répertoirs</td><td rowspan="7">Reconstitution automatique par DefVarRetr</td><td>$RepBios</td><td>Repertoire regroupant la collection de fichiers Bios</td></tr><tr><td>$RepMain</td><td>Repertoire racine de l'ensemble des programmes Destinie</td></tr><tr><td>$RepOutils</td><td>Repertoire contenant les bibliothèques Destinie</td></tr><tr><td>$RepTrav</td><td>Repertoire ou reside le programme appelant</td></tr><tr><td>$SousRepBios</td><td>Sous-repertoire de $RepBios effectivement utilisé</td></tr><tr><td>UseBios (OutilsRetr)</td><td>$BioEmp</td><td>Fichier en entrée contenant les biographies professionnelles</td></tr><tr><td>$BioFam</td><td>Fichier en entrée contenant les biographies familiales</td></tr><tr><td rowspan="2">Options ou paramètres de simulation</td><td>UseBios (OutilsRetr)</td><td>$AnneDepart</td><td>Millésime associé au fichier de données initiales</td></tr><tr><td>$TauxSondage</td><td>Taux de sondage de l'échantillon traité</td></tr><tr><td rowspan="4">Options ou paramètres de simulation</td><td>UseLegRetroMax (OutilsRetr)</td><td>$LegRetroMax</td><td>Législation en vigueur pour la rétroporation des retraites</td></tr><tr><td>UseOpt (OutilsRetr)</td><td>$CibleLiq</td><td>Nom du tableau de stockage cibles d'age de départ à retraite</td></tr><tr><td>$Options</td><td>Chaine de caractères synthétisant différentes options de simulation</td></tr><tr><td>UseOptCN (OutilsRetr)</td><td>$AnneDepartCN</td><td>Année de démarrage du système en comptes notionnels</td></tr></tbody></table>
<table><thead><tr><th>Type de variable</th><th>Mode de calcul ou d'initialisation</th><th>Variable</th><th>Contenu</th></tr></thead><tbody><tr><td rowspan="12">Paramètres législatifs</td><td rowspan="4">A renseigner par l'utilisateur</td><td>$OptionsCN</td><td>Chaine de caractères synthétisant les options spécifiques aux comptes notionnels</td></tr><tr><td>$RendementCN[$t]</td><td>Rendement effectif du système en comptes notionnels</td></tr><tr><td>$RendementCNPrev[$t]</td><td>Rendement prévisionnel du système en comptes notionnels</td></tr><tr><td>$RevaloCN[$t]</td><td>Revalorisation pension comptes notionnels</td></tr><tr><td rowspan="8">Lus par DefVarRetr (feuille ParamAutres de ParamSociaux.xls)</td><td>$TauxCotCN[$t]</td><td>Taux de cotisation aux comptes notionnels</td></tr><tr><td>$SeuilExoCSG[$t]</td><td>Seuil d'exonération de la CSG sur les retraites</td></tr><tr><td>$TauxAGFF[$t]</td><td>Taux AGFF (depuis 2001)</td></tr><tr><td>$TauxASSEDIC[$t]</td><td>Taux assurance chômage</td></tr><tr><td>$TauxCSGRet[$t]</td><td>Taux CSG sur retraites</td></tr><tr><td>$TauxCSGSal[$t]</td><td>Taux CSG sur salaires</td></tr><tr><td>$TauxMalSP[$t]</td><td>Taux de cotisation maladie sous plafond (jusqu'en 1979)</td></tr><tr><td>$TauxMalTot[$t]</td><td>Taux de cotisation maladie déplafonnée (depuis 1967)</td></tr><tr><td rowspan="15">Lus par DefVarRetr (feuille ParamComp de ParamSociaux.xls)</td><td>$SalRefAGIRC[$t]</td><td>Salaire de référence AGIRC (nominal)</td></tr><tr><td>$SalRefARRCO[$t]</td><td>Salaire de référence ARRCO (nominal)</td></tr><tr><td>$TauxAGIRC_B[$t]</td><td>Taux AGIRC tranche B</td></tr><tr><td>$TauxAGIRC_C[$t]</td><td>Taux AGIRC tranche C</td></tr><tr><td>$TauxAGIRC_SB[$t]</td><td>Taux contractuel salarié AGIRC tranche B</td></tr><tr><td>$TauxAGIRC_SC[$t]</td><td>Taux contractuel salarié AGIRC tranche C</td></tr><tr><td>$TauxAppAGIRC[$t]</td><td>Taux Appel AGIRC</td></tr><tr><td>$TauxAppARRCO[$t]</td><td>Taux appel ARRCO</td></tr><tr><td>$TauxARRCO_1[$t]</td><td>Taux contractuel ARRCO tranche 1</td></tr><tr><td>$TauxARRCO_2[$t]</td><td>Taux contractuel ARRCO tranche 2</td></tr><tr><td>$TauxARRCO_S1[$t]</td><td>Taux contractuel salarié ARRCO tranche 1</td></tr><tr><td>$TauxARRCO_S2[$t]</td><td>Taux contractuel salarié ARRCO tranche 2</td></tr><tr><td>$ValPtAGIRC[$t]</td><td>Valeur du point AGIRC (nominal)</td></tr><tr><td>$ValPtARRCO[$t]</td><td>Valeur du point ARRCO (nominal)</td></tr><tr><td rowspan="8">Paramètres législatifs</td><td rowspan="8">Lus par DefVarRetr (feuille ParamFam de ParamSociaux.xls)</td><td>$BMAF[$t]</td><td>Base mensuelle des allocations familiales</td></tr><tr><td>$MajoPlafCF[$t]</td><td>Majoration du plafond ressources du CF et de l'APJE</td></tr><tr><td>$PlafARS1[$t]</td><td>Plafond de ressource de l'ARS (1er enfant)</td></tr><tr><td>$PlafARS2[$t]</td><td>Plafond de ressource de l'ARS (2ème enfant)</td></tr><tr><td>$PlafARS3[$t]</td><td>Plafond de ressource de l'ARS (3ème enfant)</td></tr><tr><td>$PlafARS4[$t]</td><td>Plafond de ressource de l'ARS (4ème enfant)</td></tr><tr><td>$PlafARS5[$t]</td><td>Plafond de ressource de l'ARS (enfant suppl.)</td></tr></tbody></table>
<table><thead><tr><th>Type de variable</th><th>Mode de calcul ou d'initialisation</th><th>Variable</th><th>Contenu</th></tr></thead><tbody><tr><td rowspan="12"></td><td rowspan="6">Lus par DefVarRetr (feuille ParamGene de ParamSociaux.xls)</td><td>$PlafCF1[$t]</td><td>Plafond ressources du CF et de l'APJE (1er enfant)</td></tr><tr><td>$PlafCF2[$t]</td><td>Plafond ressources du CF et de l'APJE (2eme enfant)</td></tr><tr><td>$PlafCF3[$t]</td><td>Plafond ressources du CF et de l'APJE (3eme enfant)</td></tr><tr><td>$PlafCF4[$t]</td><td>Plafond ressources du CF et de l'APJE (4eme enfant)</td></tr><tr><td>$PlafCF5[$t]</td><td>Plafond ressources du CF et de l'APJE (enfant suppl.)</td></tr><tr><td>$PlafondSS[$t]</td><td>Plafond de la sécurité sociale (annuel brut, nominal)</td></tr><tr><td rowspan="3">Lus par DefVarRetr (feuille ParamPreret de ParamSociaux.xls)</td><td>$PointFP[$t]</td><td>Valeur du point fonction publique</td></tr><tr><td>$Prix[$t]</td><td>Indice de prix (2005=1)</td></tr><tr><td>$SMIC[$t]</td><td>Le SMIC</td></tr><tr><td rowspan="3">Lus par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td><td>$AgeEligPR[$t]</td><td>Age d'accès à la préretraite</td></tr><tr><td>$TauxPR1[$t]</td><td>Taux préretraite tranche 1</td></tr><tr><td>$TauxPR2[$t]</td><td>Taux préretraite tranche 2</td></tr><tr><td rowspan="12"></td><td rowspan="12">Lus par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td><td>$TauxPR3[$t]</td><td>Taux préretraite tranche 3</td></tr><tr><td>$CoefMdaFP[$t]</td><td>Coefficient MDA de la FP</td></tr><tr><td>$CoefMdaRG[$t]</td><td>Coefficient MDA du RG</td></tr><tr><td>$Mincont1[$t]</td><td>Minimum contributif</td></tr><tr><td>$Mincont2[$t]</td><td>Majoration du minimum contributif</td></tr><tr><td>$MinPR[$t]</td><td>Niveau minimum de la préretraite</td></tr><tr><td>$MinVieil1[$t]</td><td>Minimum vieillesse personne seule</td></tr><tr><td>$MinVieil2[$t]</td><td>Minimum vieillesse pour un couple</td></tr><tr><td>$RevaloRG[$t]</td><td>Coeff revalo nominale des pensions RG en cours de service</td></tr><tr><td>$RevaloFP[$t]</td><td>Coeff revalo nominale des pensions FP en cours de service</td></tr><tr><td>$RevaloSPC[$t]</td><td>Coeff de revalorisation des salaires portés au comptes</td></tr><tr><td>$TauxCotFP[$t]</td><td>Taux de cotisation salarié du secteur public</td></tr><tr><td>$TauxEmpRGSP[$t]</td><td>Taux employeur régime général sous plafond</td></tr><tr><td rowspan="2">Paramètres législatifs</td><td rowspan="2">Lus par DefVarRetr (feuille ParamRetrBase de ParamSociaux.xls)</td><td>$TauxRGSalTot[$t]</td><td>Taux RG sur l'ensemble du salaire</td></tr><tr><td>$TauxSalRGSP[$t]</td><td>Taux salarié régime général sous plafond</td></tr><tr><td rowspan="6"></td><td rowspan="6">Lus par DefVarRetr (feuille ParamRev de ParamSociaux.xls)</td><td>$MaxRevRG[$t]</td><td>Réversion maximale du RG</td></tr><tr><td>$MinRevRG[$t]</td><td>Réversion minimale du RG</td></tr><tr><td>$PlafRevRG[$t]</td><td>Plafond de ressources reversions RG et In</td></tr><tr><td>$TauxRevAGIRC[$t]</td><td>Taux de réversion AGIRC</td></tr><tr><td>$TauxRevARRCO[$t]</td><td>Taux de réversion ARRCO</td></tr><tr><td>$TauxRevFP[$t]</td><td>Taux de réversion de la FP</td></tr><tr><td></td><td></td><td>$TauxRevInd[$t]</td><td>Taux de réversion des régimes d'indépendants</td></tr></tbody></table>
<table><thead><tr><th>Type de variable</th><th>Mode de calcul ou d'initialisation</th><th>Variable</th><th>Contenu</th></tr></thead><tbody><tr><td rowspan="24"></td><td rowspan="16">UseLeg (OutilsRetr)</td><td>$TauxRevRG[$t]</td><td>Taux de réversion du RG</td></tr><tr><td>$AgeAnnDecFP</td><td>Age d'annulation de la décote fonction publique.</td></tr><tr><td>$AgeMaxFP</td><td>Age de liquidation maximal FP</td></tr><tr><td>$AgeMaxRG</td><td>Age de liquidation maximal RG</td></tr><tr><td>$AgeMinFPA</td><td>Age minimum d'ouverture des droits, FPA</td></tr><tr><td>$AgeMinFPS</td><td>Age minimum d'ouverture des droits, FPS</td></tr><tr><td>$AgeMinRG</td><td>Age minimum d'ouverture des droits, RG</td></tr><tr><td>$DecoteFP</td><td>Décote fonction publique</td></tr><tr><td>$DecoteRG</td><td>Coefficient de décote du régime général</td></tr><tr><td>$DureeCalcSAM</td><td>Nombre d'années pour calcul du SAM dans le RG</td></tr><tr><td>$DureeCibFP</td><td>Durée cible de la fonction publique</td></tr><tr><td>$DureeCibRG</td><td>Durée cible régime général</td></tr><tr><td>$DureeProratRG</td><td>Durée de proratisation du régime général</td></tr><tr><td>$MajTauxRGMax</td><td>Majoration du taux maximal de la pension RG</td></tr><tr><td>$SurcoteFP</td><td>Surcote fonction publique</td></tr><tr><td>$SurcoteRG1</td><td>Coefficient de surcote du régime général, 1ere année</td></tr><tr><td>$SurcoteRG2</td><td>Coefficient de surcote du régime général, 2eme année</td></tr><tr><td>$SurcoteRG3</td><td>Coefficient de surcote du régime général, 3eme année</td></tr><tr><td>$TauxPleinRG</td><td>Taux plein du régime général</td></tr><tr><td>$TauxPleinRG</td><td>Taux plein du régime général</td></tr><tr><td>$TauxRGMax</td><td>Taux maximal de la pension RG</td></tr><tr><td>$TauxRGMax</td><td>Taux maximal de la pension RG</td></tr><tr><td>Paramètres<br>démographiques</td><td>Lus par DefVarRetr (fichier ParamMortal.xls)</td><td>$quotient[$s][$t][$a]</td><td>Quotients de mortalité par sexe, date et âge</td></tr><tr><td rowspan="12">Variables individuelles<br>permanentes</td><td></td><td>$survie[$s][$t][$a]</td><td>Survies par sexe, date et âge</td></tr><tr><td>Liq (OutilsDroits)</td><td>$ageliq[$i]</td><td>Age de la liquidation</td></tr><tr><td rowspan="8">Relec (OutilsRetr)</td><td>$age[$i]</td><td>Age courant</td></tr><tr><td>$anaiss[$i]</td><td>Année de naissance</td></tr><tr><td>$conjoint[$i]</td><td>Identifiant du conjoint</td></tr><tr><td>$deces[$i]</td><td>Indicatrice de décès l'année en cours</td></tr><tr><td>$enf[$e][$i]</td><td>Identifiant du e-ième enfant</td></tr><tr><td>$findet[$i]</td><td>Age de fin d'études</td></tr><tr><td>$gamma[$i]</td><td>Aversion pour le risque</td></tr><tr><td>$k[$i]</td><td>Préférence pour le loisir/pénibilité du travail</td></tr><tr><td>$matri[$i]</td><td>Statut matrimonial</td></tr></tbody></table>
<table><thead><tr><th>Type de variable</th><th>Mode de calcul ou d'initialisation</th><th>Variable</th><th>Contenu</th></tr></thead><tbody><tr><td rowspan="15"></td><td rowspan="15"></td><td>$mere[$i]</td><td>Identifiant de la mère</td></tr><tr><td>$migrant[$i]</td><td>Indique si l'individu est un migrant de l'année</td></tr><tr><td>$pere[$i]</td><td>Identifiant du père</td></tr><tr><td>$present[$i]</td><td>Indicatrice de présence dans la population à la date courante</td></tr><tr><td>$salaire[$i]</td><td>Salaire courant (équivaut à $salaire[$i] [$age[$i]]))</td></tr><tr><td>$salaire[$i] [$a]</td><td>Salaire par âge</td></tr><tr><td>$seuil[$i]</td><td>Seuil de déclenchement du report du départ en retraite</td></tr><tr><td>$sexe[$i]</td><td>Sexe</td></tr><tr><td>$statut[$i]</td><td>Statut courant (équivaut à $statut[$i] [$age[$i]]))</td></tr><tr><td>$statut[$i] [$a]</td><td>Statut d'emploi par âge</td></tr><tr><td>$taux[$i]</td><td>Préférence pour le présent</td></tr><tr><td>$tauxPrim[$i]</td><td>Taux de prime dans la fonction publique</td></tr><tr><td rowspan="6">SimDer (OutilsRetr), Revalo (OutilsDroits)</td><td>$rev[$i]</td><td>Réversion totale (somme des cinq précédentes)</td></tr><tr><td>$rev_ag[$i]</td><td>Reversion agirc</td></tr><tr><td>$rev_ar[$i]</td><td>Reversion arrco</td></tr><tr><td>$rev cn fp[$i]</td><td>Reversions comptes notionnels secteur public</td></tr><tr><td>$rev cn pri[$i]</td><td>Reversions comptes notionnels secteur privé</td></tr><tr><td>$rev fp[$i]</td><td>Réversion fonction publique</td></tr><tr><td rowspan="12">Variables individuelles permanentes</td><td rowspan="2">SimDer (OutilsRetr), Revalo (OutilsDroits)</td><td>$rev_in[$i]</td><td>Réversion d'indépendant</td></tr><tr><td>$rev rg[$i]</td><td>Réversion régime général</td></tr><tr><td rowspan="10">SimDir (OutilsRetr), Liq et Revalo (OutilsDroits)</td><td>$indic_mc[$i]</td><td>Indicatrice d'octroi du minimum contributif</td></tr><tr><td>$indic_mg[$i]</td><td>Indicatrice d'octroi du minimum garanti de la FP</td></tr><tr><td>$pension[$i]</td><td>Pension directe totale</td></tr><tr><td>$pension ag[$i]</td><td>Pension agirc</td></tr><tr><td>$pension ar[$i]</td><td>Pension arrco</td></tr><tr><td>$pension cn fp[$i]</td><td>Pension comptes notionnels secteur public</td></tr><tr><td>$pension cn pri[$i]</td><td>Pension comptes notionnels secteur privé</td></tr><tr><td>$pension fp[$i]</td><td>Pension fonction publique</td></tr><tr><td>$pension in[$i]</td><td>Pension d'indépendant</td></tr><tr><td>$pension rg[$i]</td><td>Pension régime général</td></tr><tr><td>SimMinVieil (OutilsRetr)</td><td>$min_vieil[$i]</td><td>Allocation du minimum vieillesse</td></tr><tr><td rowspan="2">Variables individuelles temporaires</td><td>Clone (DefVarRetr)</td><td>$id_clone</td><td>Identifiant de l'individu de départ lorsqu'on travaille sur un clone</td></tr><tr><td>Simdir (OutilsRetr), Liq et DurMajo (OutilsDroits)</td><td>$duree fp maj</td><td>Durée FP incluant MDA éventuelle (selon options)</td></tr></tbody></table>
<table><thead><tr><th>Type de variable</th><th>Mode de calcul ou d'initialisation</th><th>Variable</th><th>Contenu</th></tr></thead><tbody><tr><td rowspan="12"></td><td rowspan="3"></td><td>$duree_in_maj</td><td>Durée cotisée comme indépendant incluant MDA éventuelle (selon options)</td></tr><tr><td>$duree RG maj</td><td>Durée RG incluant AVPF et MDA (selon options)</td></tr><tr><td>$duree Tot maj</td><td>Durée cotisée totale incluant AVPF et MDA (selon options)</td></tr><tr><td>SimDir (OutilsRetr), Liq et MinCont (OutilsDroits)</td><td>$min_cont</td><td>Minimum contributif</td></tr><tr><td>SimDir (OutilsRetr), Liq et MinGaranti (OutilsDroits)</td><td>$min_garanti</td><td>Minimum garanti</td></tr><tr><td rowspan="4">Simdir (OutilsRetr), Liq et Points (OutilsDroits)</td><td>$points_agirc</td><td>Cumul de points AGIRC</td></tr><tr><td>$points_arrco</td><td>Cumul de points ARRCO</td></tr><tr><td>$points cn_fp[$i]</td><td>Cumul points comptes notionnels du secteur public</td></tr><tr><td>$points cn_pri[$i]</td><td>Cumul points compte notionnel du secteur privé</td></tr><tr><td rowspan="3">Simdir (OutilsRetr), Liq et SalBase (OutilsDroits)</td><td>$sam_in</td><td>SAM pour le calcul de la pension d'indépendant</td></tr><tr><td>$sam RG</td><td>SAM servant au calcul de la pension RG</td></tr><tr><td>$sr fp</td><td>Salaire de référence pour le calcul de la pension FP</td></tr><tr><td rowspan="3">Simdir(OutilsRetr), Liq et DurBase (OutilsDroits)</td><td>$duree_avpf</td><td>Durée passée en AVPF</td></tr><tr><td>$duree_cho</td><td>Nombre d'années au chômage</td></tr><tr><td>$duree_emp</td><td>Nombre d'années en emploi</td></tr><tr><td rowspan="7">Variables individuelles temporaires</td><td rowspan="7">SimDir(OutilsRetr), Liq et DurBase (OutilsDroits)</td><td>$duree fp</td><td>Durée cotisée dans les régimes du secteur public</td></tr><tr><td>$duree fpa</td><td>Durée cotisée dans les régimes du secteur public, catégorie active</td></tr><tr><td>$duree fps</td><td>Durée cotisée dans les régimes du secteur public, catégorie sédentaire</td></tr><tr><td>$duree_in</td><td>Durée cotisée comme indépendant</td></tr><tr><td>$duree_PR</td><td>Nombre d'années en préretraite</td></tr><tr><td>$duree rg</td><td>Durée cotisée au régime général</td></tr><tr><td>$duree Tot</td><td>Durée cotisée totale</td></tr></tbody></table>
# Annexe 3 : liste des procédures, classées par bibliothèque et fonction

## Note de lecture :

- Le tableau indique les types d'arguments des différents programmes.

- Les noms sont indicatifs du type d'information attendu ou retourné : par exemple `$i` ou `$j` pour des numéros d'individus, `$a` pour un âge, `$t` pour une date, `$val` pour les autres types de scalaires, `@var` pour un vecteur de données individuelles, `@liste` pour une liste d'indentifiants, `@tab` pour les autres types de tableaux, `%hach` pour un hachage....

- Lorsque le programme attend un argument de type sous programme (`sub{}`), il s'agit systématiquement d'un filtre, i.e. d'une condition sur les caractéristiques de l'individu d'indice `$_`, comme dans `count(sub{In($statut[$_],@CodesAct)}).`

- Un argument présenté comme une chaîne de caractère segmentée par des `/` correspond à une série d'options à passer, en format libre, au sein d'une chaîne de caractère unique, comme dans `UseOpt("TP - NoMG et NoBonif.")`.

<table><thead><tr><th rowspan="2">Nom de la fonction</th><th rowspan="2">Objectif</th><th colspan="2">Types d'arguments</th><th rowspan="2">Type de retour</th></tr><tr><th>Obligatoires</th><th>Optionnels</th></tr></thead><tbody><tr><td colspan="5" style="text-align: center; font-weight: bold;">DefVarRetr</td></tr><tr><td>Clone</td><td>Duplication d'un individu</td><td>$i</td><td></td><td></td></tr><tr><td>Delete</td><td>Suppression d'un individu</td><td>$i</td><td></td><td></td></tr><tr><td colspan="5" style="text-align: center; font-weight: bold;">OutilsBase</td></tr><tr><td colspan="5" style="text-align: center; font-weight: bold;">Initialisations</td></tr><tr><td>Init</td><td>Mise à zéro d'une variable individuelle</td><td>@var</td><td></td><td></td></tr><tr><td>UseVRef</td><td>Définition de la variable de référence</td><td>@var,$valeur</td><td></td><td></td></tr><tr><td colspan="5" style="text-align: center; font-weight: bold;">Opérations élémentaires</td></tr><tr><td>In</td><td>Test appartenance à un ensemble de valeurs</td><td>$valeur,$val_1,$val_2,$val_3...</td><td></td><td>$booleanen</td></tr><tr><td>Out</td><td>Test de non appartenance</td><td>$valeur,$val_1,$val_2,$val_3...</td><td></td><td>$booleanen</td></tr><tr><td>Min</td><td>Minimum d'un ensemble quelconque de valeurs</td><td>$val_1,$val_2,$val_3...</td><td></td><td>$valeur</td></tr><tr><td>Max</td><td>Maximum d'un ensemble quelconque de valeurs</td><td>$val_1,$val_2,$val_3...</td><td></td><td>$valeur</td></tr><tr><td>IMin</td><td>Indice du premier élément non vide d'un tableau</td><td>$val_1,$val_2,$val_3...</td><td></td><td>$entier</td></tr><tr><td>IMax</td><td>Indice du dernier élément d'un tableau</td><td>$val_1,$val_2,$val_3...</td><td></td><td>$entier</td></tr><tr><td>Arr</td><td>Arrondi d'un scalaire à un nombre donné de décimales</td><td>$valeur_in,$n_dec</td><td></td><td>$valeur_out</td></tr><tr><td>ArrAlea</td><td>Arrondi aléatoire</td><td>$valeur_in,$n_dec</td><td></td><td>$valeur_out</td></tr><tr><td>Pointage</td><td>Affichage de l'heure</td><td>$texte</td><td>FICHIER</td><td></td></tr><tr><td colspan="5" style="text-align: center; font-weight: bold;">Valeurs de fonctions-type</td></tr><tr><td>Esc</td><td>Valeur en x d'une fonction en escalier</td><td>$x,$x0,$y0,$x1,$y1...</td><td></td><td>$valeur</td></tr><tr><td>Affn</td><td>Valeur en x d'une fonction affine par morceaux</td><td>$x,$x0,$y0,$x1,$y1...</td><td></td><td>$valeur</td></tr><tr><td>Sigm</td><td>Valeur en x d'une fonction sigmoide</td><td>$x,$x0,$y0,$x1,$y1...</td><td></td><td>$valeur</td></tr><tr><td>Part</td><td>Part de x comprise entre deux seuils</td><td>$x,$plancher,$plafond</td><td></td><td>$valeur</td></tr><tr><td>MinMax</td><td>Plancher si x<plancher, plafond si x>plafond, x</td><td>$x,$plancher,$plafond</td><td></td><td>$valeur</td></tr></tbody></table>
<table><thead><tr><th rowspan="2">Nom de la fonction</th><th rowspan="2">Objectif</th><th colspan="2">Types d'arguments</th><th rowspan="2">Type de retour</th></tr><tr><th>Obligatoires</th><th>Optionnels</th></tr></thead><tbody><tr><td>Redr</td><td>Transformation monotone d'une variable x sur support [0,1]</td><td>$proba</td><td></td><td>$proba</td></tr><tr><td colspan="5"><strong>Tirages de variables aléatoires</strong></td></tr><tr><td>Alea</td><td>Tirage pseudo-aleatoire dans loi [0,1]</td><td></td><td></td><td>$valeur</td></tr><tr><td>Boolean</td><td>Tirage boolean</td><td>$proba</td><td></td><td>$boolean</td></tr><tr><td>MultiNom</td><td>Tirage selon une loi multinomiale</td><td>$proba_1, $proba_2, $proba_3...</td><td></td><td>$valeur</td></tr><tr><td>Logist</td><td>Tirage selon loi logistique</td><td>$moyenne, $ec</td><td></td><td>$valeur</td></tr><tr><td>Pareto</td><td>Tirage selon une loi de Pareto</td><td>$seuil, $forme</td><td></td><td>$valeur</td></tr><tr><td>LogLogist</td><td>Tirage selon une loi log-logistique (définie par deux quelconques de ses quantiles)</td><td>$seuil_1, $val_1, $seuil_2, $val_2</td><td></td><td>$valeur</td></tr><tr><td colspan="5"><strong>Création et manipulation de variables individuelles et de listes d'identifiants</strong></td></tr><tr><td>Sel</td><td>Création liste d'identifiants selon critère déterministe</td><td>sub{filtre}</td><td></td><td>@liste</td></tr><tr><td>Tirage</td><td>Creation liste d'identifiants à partir d'une proba d'inclusion</td><td>sub{filtre}</td><td></td><td></td></tr><tr><td>Trunc</td><td>Troncation d'une liste à ses n premiers éléments</td><td>@liste, $nombre</td><td></td><td></td></tr><tr><td>Excl</td><td>Exclusion d'éléments d'une liste</td><td>@liste, sub{filtre}</td><td></td><td>@liste</td></tr><tr><td>EltAlea</td><td>Tirage d'un élément au hasard dans une liste</td><td>@liste</td><td></td><td>$element</td></tr><tr><td>TriAsc</td><td>Tri ascendant d'une liste selon valeurs d'une variable</td><td>@liste_in, @var</td><td></td><td>@liste_out</td></tr><tr><td>TriDesc</td><td>Tri descendant d'une liste selon valeurs d'une variable</td><td>@liste_in, @var</td><td></td><td>@liste_out</td></tr><tr><td>TriAlea</td><td>Permutation aléatoire d'une liste</td><td>@liste_in</td><td></td><td>@liste_out</td></tr><tr><td>TriSect</td><td>Permutation d'une liste par section</td><td>@liste_in</td><td></td><td>@liste_out</td></tr><tr><td colspan="5"><strong>OutilsComp</strong></td></tr><tr><td>Uinst</td><td>Utilité instantanée selon statut courant</td><td>$i</td><td></td><td>$valeur</td></tr><tr><td>Uact</td><td>Utilité actualisée sur durée de vie restante selon âge de départ anticipé</td><td>$i, $age, $ageliq</td><td></td><td>$valeur</td></tr><tr><td>SSW</td><td>Somme actualisée des droits en fonction de l'âge de départ anticipé</td><td>$i, $age, $ageliq</td><td></td><td>$valeur</td></tr><tr><td>Accrual</td><td>Calcule le gain en richesse SS actualisée si report d'un an de la liquidation</td><td>$i, $ageliq</td><td></td><td>$valeur</td></tr><tr><td>TestLiq</td><td>Simule décision de liquidation à l'âge courant (sept options de comportement)</td><td>$i</td><td></td><td>$boolean</td></tr><tr><td>AgeOpt</td><td>Calcule âge optimal selon critères SSW ou UAct.</td><td>$i</td><td></td><td>$valeur, $valeur_maximande</td></tr></tbody></table>
## OutilsDroits

### Calculs de variables intermédiaires non indicées

<table><tr><td>Duree</td><td>Calcul d'une durée dans un statut</td><td>$i,@liste_statuts</td><td>$valeur</td></tr><tr><td>DurBase</td><td>Calcul des durées de base (durées cotisations et années en AVPF)</td><td>$i</td><td>$valeur</td></tr><tr><td>DurMajo</td><td>Calcul des durées majorées des droits familiaux</td><td>$i</td><td></td></tr><tr><td>AllocChom</td><td>Calcul des allocations chômage pour le SAM</td><td>$i</td><td></td></tr><tr><td>SalBase</td><td>Calcul des SAM et du salaire de référence FP</td><td>$i</td><td></td></tr><tr><td>Points</td><td>Calcul des décomptes de points ARRCO et AGIRC</td><td>$i</td><td></td></tr><tr><td>MinCont</td><td>Calcul du minimum contributif</td><td>$i</td><td></td></tr><tr><td>MinGaranti</td><td>Calcul du minimum garanti</td><td>$i</td><td></td></tr></table>

### Tests de conditions d'âge

<table><tr><td>AgeTrim</td><td>Retourne un age trimestrialisé</td><td>$i</td><td>$valeur</td></tr><tr><td>AgeMin</td><td>Indique si l'individu a atteint l'âge minimum d'ouverture des droits</td><td>$i</td><td>$boolean</td></tr><tr><td>AgeMax</td><td>Indique si l'individu a dépassé l'âge de mise à la retraite d'office</td><td>$i</td><td>$boolean</td></tr><tr><td>TauxPlein</td><td>Indique si l'individu a atteint les conditions du taux plein</td><td>$i</td><td>$boolean</td></tr></table>

### Calculs retraites

<table><tr><td>Liq</td><td>Calcul des droits complets à la liquidation</td><td>$i</td><td></td></tr><tr><td>Revalo</td><td>Revalorisation de l'ensemble des droits (y.c. réversion)</td><td>$i</td><td></td></tr></table>

### Indicateurs dérivés

<table><tr><td>CotRet</td><td>Calcule les cotisations retraite sur salaires</td><td>$i</td><td>$a</td><td>$valeur</td></tr><tr><td>CotAut</td><td>Calcule la somme des autres cotisations sur salaires</td><td>$i</td><td>$a</td><td>$valeur</td></tr><tr><td>CSGSal</td><td>Calcule la CSG/CRDS sur salaires</td><td>$i</td><td>$a</td><td>$valeur</td></tr><tr><td>CSGRet</td><td>Calcule la CSG/CRDS sur pensions</td><td>$i</td><td>$a</td><td>$valeur</td></tr><tr><td>SalNet</td><td>Calcule le salaire net</td><td>$i</td><td>$a</td><td>$valeur</td></tr><tr><td>PNet</td><td>Calcule la pension nette</td><td>$i</td><td>$a</td><td>$valeur</td></tr><tr><td>SalMoy</td><td>Calcule la moyenne des n derniers salaires</td><td>$i,"brut/net"</td><td>$n,@serie_revalo</td><td>$valeur</td></tr><tr><td>SalCum</td><td>Calcule la somme des n derniers salaires</td><td>$i,"brut/net"</td><td>$n,@serie_revalo</td><td>$valeur</td></tr><tr><td>Pente</td><td>Calcule un indice de pente de la carrière</td><td>$i,"brut/net"</td><td>$n,@serie_revalo</td><td>$valeur</td></tr><tr><td>TauxRemp</td><td>Calcule un taux de remplacement rapporté aux n derniers salaires</td><td>$i,"brut/net"</td><td>$n,@serie_revalo</td><td>$valeur</td></tr><tr><td>TauxAnn</td><td>Calcule un taux d'annuité apparent</td><td>$i,"brut/net"</td><td>$n,@serie_revalo</td><td>$valeur</td></tr></table>
## OutilsExcel

### Procédure de gestion générale de classeurs Excel

<table><tbody><tr><td>ClassIn</td><td>Ouvre un classeur en lecture</td><td>"nom fichier"</td><td>$classeur</td></tr><tr><td>ClassOut</td><td>Ouvre un nouveau classeur en écriture</td><td>"nom fichier"</td><td>$classeur</td></tr><tr><td>CloseOut</td><td>Ferme un classeur ouvert en écriture</td><td>$classeur</td><td></td></tr><tr><td>ListClass</td><td>Liste des classeurs d'un repertoire et leur contenu</td><td>"nom repertoire"</td><td>@liste_classeurs</td></tr><tr><td>ListFeuil</td><td>Liste des feuilles d'un classeur ouvert en entree</td><td>$classeur</td><td>@liste_feuilles</td></tr><tr><td colspan="4"><strong>Lecture de données</strong></td></tr><tr><td>GetAP</td><td>Lecture d'un tableau par age et période</td><td>$classeur, "feuille"</td><td>@tab</td></tr><tr><td>GetSer</td><td>Lecture d'une série temporelle</td><td>$classeur, "feuille", $colonne</td><td>@tab</td></tr><tr><td>GetPro</td><td>Lecture d'un profil par age</td><td>$classeur, "feuille", $ligne</td><td>@tab</td></tr><tr><td>GetH</td><td>Lecture d'un hachage simple</td><td>$classeur, "feuille", $ligne</td><td>%tab</td></tr><tr><td>GetHH</td><td>Lecture d'un double hachage</td><td>$classeur, "feuille", $ligne</td><td>%tab</td></tr><tr><td colspan="4"><strong>Écriture de données</strong></td></tr><tr><td>SavAP</td><td>Sauvegarde d'un tableau par age et période</td><td>$classeur, "feuille", " titre", @tab</td><td>Création feuille Excel</td></tr><tr><td>SavPro</td><td>Sauvegarde d'un ensemble de profils par age</td><td>$classeur, "feuille", " titre", "nomvar1", @var1</td><td>Création feuille Excel</td></tr><tr><td>SavSer</td><td>Sauvegarde d'un ensemble de série temporelle</td><td>$classeur, "feuille", " titre", "nomvar1", @var1</td><td>Création feuille Excel</td></tr><tr><td>SavHS</td><td>Sauvegarde d'un hachage de série temporelle</td><td>$classeur, "feuille", " titre", %hach</td><td>Création feuille Excel</td></tr><tr><td>SavSH</td><td>Sauvegarde d'une série temporelle de hachages</td><td>$classeur, "feuille", " titre", @tab</td><td>Création feuille Excel</td></tr><tr><td>SavHH</td><td>Sauvegarde d'un hachage de hachages</td><td>$classeur, "feuille", " titre", %hach</td><td>Création feuille Excel</td></tr></tbody></table>

## OutilsMen

### Fonctions démographiques

<table><tbody><tr><td>ACharg</td><td>Indique si l'individu est un enfant à charge</td><td>$i</td><td>$boolean</td></tr><tr><td>PersRef</td><td>Retourne la personne de référence du ménage d'appartenance</td><td>$i</td><td>$j</td></tr><tr><td>EcartAge</td><td>Calcule l'écart d'âge entre l'individu et son conjoint</td><td>$i</td><td>$valeur</td></tr><tr><td>NbEnf</td><td>Nombre d'enfants</td><td>$i</td><td>[a0..al] ou "tous"</td></tr><tr><td>NbEnfC</td><td>Nombre d'enfants à charge</td><td>$i</td><td>[a0..al]</td></tr><tr><td>TailMen</td><td>Taille du ménage</td><td>$i</td><td>$valeur</td></tr><tr><td>ListEnf</td><td>Liste des identifiants des enfants</td><td>$i</td><td>[a0..al] ou "tous"</td></tr><tr><td>ListEnfC</td><td>Liste des identifiants des enfants à charge</td><td>$i</td><td>@liste</td></tr><tr><td>ListMen</td><td>Liste des identifiants des membres du ménage</td><td>$i</td><td>@liste</td></tr></tbody></table>

### Fonctions de calcul du niveau de vie

<table><tbody><tr><td>NbUC</td><td>Nombre d'unités de consommation</td><td>$i</td><td>$valeur</td></tr><tr><td>RevMen</td><td>Revenu global du ménage</td><td>$i</td><td>$valeur</td></tr><tr><td>NVMen</td><td>Niveau de vie du ménage</td><td>$i</td><td>$valeur</td></tr></tbody></table>
## OutilsRetr

### Programmes précisant les hypothèses de simulation des retraites

<table><tr><td>UseBios</td><td>Définition des fichiers dans lesquels sont récupérées les biographies</td><td>"repertoire", $annee depart, $taux sondage</td><td></td></tr><tr><td>UseOpt</td><td>Choix des options générales de simulation</td><td>"Exo/pmin/TP/Uinst/Uact/SSW/Accrual /NoMDA/NoBonif/NoAVFP/ /NoMC/NoMG NoAssim/CN"</td><td>@cible (pour options Exo et pmin)</td></tr><tr><td>UseOptCN</td><td>Choix des options comptes notionnels, s'il y a lieu</td><td>$t_0,"RG/base/etendu/global /progressif/immediat"</td><td></td></tr><tr><td>UseLeg</td><td>Choix de la législation en projection</td><td>$date, $generation</td><td></td></tr><tr><td>UseLegRetroMax</td><td>Choix de la législation pour les reconstitutions initiales</td><td>$date</td><td></td></tr><tr><td>UseConv</td><td>Choix des coefficients de conversion si comptes notionnels</td><td>$a_deb, $a_fin, "EV", $t ou $a_deb, $a_fin, $val_deb..., $val_fin</td><td></td></tr></table>

### Programme de récupération des résultats de l'étape Bios

<table><tr><td>Relec</td><td>Relecture des données initiales ou projetées</td><td>$t</td><td></td></tr></table>

### Programmes d'initialisation ou de projection des pensions

<table><tr><td>SimDir</td><td>Initialisation ou projection des droits directs</td><td>$i</td><td></td></tr><tr><td>SimDer</td><td>Initialisation ou projection des droits dérivés</td><td>$i</td><td></td></tr><tr><td>SimMinVieil</td><td>Initialisation ou projection des droits directs</td><td>$i</td><td></td></tr></table>

### Programmes d'affichage des données individuelles (surtout utilisés par l'explorateur)

<table><tr><td>ShowBio</td><td>Affichage de la carrière complète</td><td>$i</td><td>"option"</td></tr><tr><td>ShowPens</td><td>Affichage des différents éléments de la pension pour un départ à age donné</td><td>$i</td><td>"option"</td></tr></table>

## OutilsTab

### Initialisation

<table><tr><td>UseW</td><td>Définit poids pour calculs des effectifs et des masses</td><td>$poids_ind, $poids_fin</td><td></td></tr></table>

### Tabulations générales simples

<table><tr><td>SVar</td><td>Somme des valeurs d'une variable (avec possibilité de filtrage)</td><td>@var, sub{filtre}</td><td>$valeur</td></tr><tr><td>MVar</td><td>Moyenne des valeurs d'une variable (avec possibilité de filtrage)</td><td>@var, sub{filtre}</td><td>$valeur</td></tr><tr><td>QVar</td><td>Quantiles (au choix) d'une variable (avec possibilité de filtrage)</td><td>@var, sub{filtre}</td><td>$valeur</td></tr><tr><td>EVar</td><td>Ecart-type d'une variable</td><td>@var, sub{filtre}</td><td>$valeur</td></tr><tr><td>Count</td><td>Comptage nombre d'identifiants vérifiant filtre</td><td>sub{filtre}</td><td>$valeur</td></tr><tr><td>Taux</td><td>Calcul d'un taux</td><td>sub{filtre 1}</td><td>sub{filtre 2}</td></tr><tr><td>Ratio</td><td>Calcul d'un ratio</td><td>sub{filtre 1}</td><td>sub{filtre 2}</td></tr><tr><td>Distrib</td><td>Distribution d'une variable discrète</td><td>@var</td><td>%tab</td></tr></table>

### Raccourcis pour tabulations spécifiques

<table><tr><td>SSal</td><td>Somme des salaires</td><td>"option"</td><td>sub {filtre}</td><td>$valeur</td></tr><tr><td>MSal</td><td>Salaire moyen</td><td>"option"</td><td>sub {filtre}</td><td>$valeur</td></tr><tr><td>SPens</td><td>Somme des pensions</td><td>"option"</td><td>sub {filtre}</td><td>$valeur</td></tr></table>
<table><thead><tr><th>MPens</th><th>Pension moyenne</th><th>"option"</th><th>sub {filtre}</th><th>$valeur</th></tr></thead><tbody><tr><td colspan="5"><strong>Tabulations par âge</strong></td></tr><tr><td>UseGrAge</td><td>Definit les classes d'âge</td><td>$agedeb, $agefin</td><td>$pas</td><td></td></tr><tr><td>GrAge</td><td>Calcule le groupe d'âge auquel appartient l'individu $i</td><td>$i</td><td></td><td>$age ou "mm-nn"</td></tr><tr><td>MAge</td><td>Moyenne par âge des valeurs d'une variable</td><td>@var, sub {filtre}</td><td></td><td>@tab ou %tab</td></tr><tr><td>CountAge</td><td>Comptage nombre d'identifiants par âge vérifiant condition de filtrage</td><td>sub {filtre}</td><td></td><td>@tab ou %tab</td></tr><tr><td>TauxAge</td><td>Calcul d'un taux par âge</td><td>sub {filtre1}</td><td>sub {filtre2}</td><td>@tab ou %tab</td></tr><tr><td colspan="5"><strong>Tabulations par génération</strong></td></tr><tr><td>UseGrGen</td><td>Définit les classes de générations</td><td>$genedeb, $genefin</td><td>$pas</td><td></td></tr><tr><td>GrGen</td><td>Calcule le groupe de génération auquel appartient l'individu $i</td><td>$i</td><td></td><td>$gene ou "mm-nn"</td></tr><tr><td>MGen</td><td>Moyenne par génération des valeurs d'une variable</td><td>@var, sub {filtre}</td><td></td><td>@tab ou %tab</td></tr><tr><td>CountGen</td><td>Comptage nombre d'identifiants par génération vérifiant condition de filtrage</td><td>sub {filtre}</td><td></td><td>@tab ou %tab</td></tr><tr><td>TauxGen</td><td>Calcul d'un taux par génération</td><td>sub {filtre1}</td><td>sub {filtre2}</td><td>@tab ou %tab</td></tr><tr><td colspan="5"><strong>Autres manipulations de tableaux</strong></td></tr><tr><td>Coupe</td><td>Extraction d'une partie d'un tableau à double indice (y.c. coupes diagonales)</td><td>@tab_in, [n..m]</td><td></td><td>@tab_out</td></tr><tr><td>STab</td><td>Somme des valeurs des cases d'un tableau à une dimension, ou de produits de cases de deux tableaux ou plus</td><td>@tab1, [n1..m1]</td><td>@tab2, [n2..m2], @tab3, [n3..m3]...</td><td>$valeur</td></tr><tr><td>MTab</td><td>Moyenne des valeurs</td><td>@tab1, [n1..m1]</td><td>@tab2, [n2..m2], @tab3, [n3..m3]...</td><td>$valeur</td></tr><tr><td>SAct</td><td>Idem STab avec actualisation</td><td>$taux, @tab1, [n1..m1]</td><td>@tab2, [n2..m2], @tab3, [n3..m3]...</td><td>$valeur</td></tr><tr><td>TRI</td><td>Calcul d'un taux de rendement interne associé à un tableau simple</td><td>@tab_in, [n..m]</td><td></td><td>$valeur</td></tr></tbody></table>
G 9001 J. FAYOLLE et M. FLEURBAEY Accumulation, profitabilité et endettement des entreprises

G 9002 H. ROUSSE Détection et effets de la multicolinéarité dans les modèles linéaires ordinaires - Un prolongement de la réflexion de BELSLEY, KUH et WELSCH

G 9003 P. RALLE et J. TOUJAS-BERNATE Indexation des salaires : la rupture de 1983

G 9004 D. GUELLEC et P. RALLE Compétitivité, croissance et innovation de produit

G 9005 P. RALLE et J. TOUJAS-BERNATE Les conséquences de la désindexation. Analyse dans une maquette prix-salaires

G 9101 Equipe AMADEUS Le modèle AMADEUS - Première partie - Présentation générale

G 9102 J.L. BRILLET Le modèle AMADEUS - Deuxième partie - Propriétés variantielles

G 9103 D. GUELLEC et P. RALLE Endogenous growth and product innovation

G 9104 H. ROUSSE Le modèle AMADEUS - Troisième partie - Le commerce extérieur et l'environnement international

G 9105 H. ROUSSE Effets de demande et d'offre dans les résultats du commerce extérieur manufacturé de la France au cours des deux dernières décennies

G 9106 B. CREPON Innovation, taille et concentration : causalités et dynamiques

G 9107 B. AMABLE et D. GUELLEC Un panorama des théories de la croissance endogène

G 9108 M. GLAUDE et M. MOUTARDIER Une évaluation du coût direct de l'enfant de 1979 à 1989

G 9109 P. RALLE et alii France - Allemagne : performances économiques comparées

G 9110 J.L. BRILLET Micro-DMS

NON PARU

G 9111 A. MAGNIER Effets accélérateur et multiplicateur en France depuis 1970 : quelques résultats empiriques

G 9112 B. CREPON et G. DUREAU Investissement en recherche-développement : analyse de causalités dans un modèle d'accélérateur généralisé

G 9113 J.L. BRILLET, H. ERKEL-ROUSSE, J. TOUJAS-BERNATE "France-Allemagne Couplées" - Deux économies vues par une maquette macro-économétrique

G 9201 W.J. ADAMS, B. CREPON, D. ENCAOVA Choix technologiques et stratégies de dissuasion d'entrée

G 9202 J. OLIVEIRA-MARTINS, J. TOUJAS-BERNATE

Macro-economic import functions with imperfect competition - An application to the E.C. Trade

G 9203 I. STAPIC Les échanges internationaux de services de la France dans le cadre des négociations multilatérales du GATT
Juin 1992 (1ère version)
Novembre 1992 (version finale)

G 9204 P. SEVESTRE L'économie sur données individuelles-temporelles. Une note introductive

G 9205 H. ERKEL-ROUSSE Le commerce extérieur et l'environnement international dans le modèle AMADEUS (réestimation 1992)

G 9206 N. GREENAN et D. GUELLEC Coordination within the firm and endogenous growth

G 9207 A. MAGNIER et J. TOUJAS-BERNATE Technology and trade : empirical evidences for the major five industrialized countries

G 9208 B. CREPON, E. DUGUET, D. ENCAOVA et P. MOHNEN Cooperative, non cooperative R & D and optimal patent life

G 9209 B. CREPON et E. DUGUET Research and development, competition and innovation : an application of pseudo maximum likelihood methods to Poisson models with heterogeneity

G 9301 J. TOUJAS-BERNATE Commerce international et concurrence impartie : développements récents et implications pour la politique commerciale

G 9302 Ch. CASES Durées de chômage et comportements d'offre de travail : une revue de la littérature

G 9303 H. ERKEL-ROUSSE Union économique et monétaire : le débat économique

G 9304 N. GREENAN - D. GUELLEC / G. BROUSSAUDIER - L. MIOTTI Innovation organisationnelle, dynamisme technologique et performances des entreprises

G 9305 P. JAILLARD Le traité de Maastricht : présentation juridique et historique

G 9306 J.L. BRILLET Micro-DMS : présentation et propriétés

G 9307 J.L. BRILLET Micro-DMS - variantes : les tableaux

G 9308 S. JACOBZONE Les grands réseaux publics français dans une perspective européenne

G 9309 L. BLOCH - B. CŒURÉ Profitabilité de l'investissement productif et transmission des chocs financiers

G 9310 J. BOURDIEU - B. COLIN-SEDILLOT Les théories sur la structure optimal du capital : quelques points de repère

G 9311 J. BOURDIEU - B. COLIN-SEDILLOT Les décisions de financement des entreprises

G 9312 L. BLOCH - B. CŒURÉ Q de Tobin marginal et transmission des chocs financiers

G 9313 Equipes Amadeus (INSEE), Banque de France, Métric (DP)
Présentation des propriétés des principaux modèles macroéconomiques du Service Public

G 9314 B. CREPON - E. DUGUET Research & Development, competition and innovation

G 9315 B. DORMONT Quelle est l'influence du coût du travail sur l'emploi ?

G 9316 D. BLANCHET - C. BROUSSE Deux études sur l'âge de la retraite

G 9317 D. BLANCHET Répartition du travail dans une population hétérogène : deux notes

G 9318 D. EYSSARTIER - N. PONTY AMADEUS - an annual macro-economic model for the medium and long term

G 9319 G. CETTE - Ph. CUNÉO - D. EYSSARTIER - J. GAUTIÉ Les effets sur l'emploi d'un abaissement du coût du travail des jeunes

G 9401 D. BLANCHET Les structures par âge importent-elles ?

G 9402 J. GAUTIÉ Le chômage des jeunes en France : problème de formation ou phénomène de file d'attente ? Quelques éléments du débat

G 9403 P. QUIRION Les déchets en France : éléments statistiques et économiques

G 9404 D. LADIRAY - M. GRUN-REHOMME Lissage par moyennes mobiles - Le problème des extrémités de série

G 9405 V. MAILLARD Théorie et pratique de la correction des effets de jours ouvrables

G 9406 F. ROSENWALD La décision d'investir

G 9407 S. JACOBZONE Les apports de l'économie industrielle pour définir la stratégie économique de l'hôpital public

G 9408 L. BLOCH, J. BOURDIEU, B. COLIN-SEDILLOT, G. LONGUEVILLE Du défaut de paiement au dépôt de bilan : les banquiers face aux PME en difficulté

G 9409 D. EYSSARTIER, P. MAIRE Impacts macro-économiques de mesures d'aide au logement - quelques éléments d'évaluation

G 9410 F. ROSENWALD Suivi conjoncturel de l'investissement

G 9411 C. DEFEUILLE - Ph. QUIRION Les déchets d'emballages ménagers : une analyse économique des politiques française et allemande

G 9412 J. BOURDIEU - B. CŒURÉ - B. COLIN-SEDILLOT Investissement, incertitude et irréversibilité Quelques développements récents de la théorie de l'investissement

G 9413 B. DORMONT - M. PAUCHET L'évaluation de l'élasticité emploi-salaire dépend-elle des structures de qualification ?

G 9414 I. KABLA Le Choix de breveter une invention

G 9501 J. BOURDIEU - B. CŒURÉ - B. SEDILLOT Irreversible Investment and Uncertainty : When is there a Value of Waiting ?

G 9502 L. BLOCH - B. CŒURÉ Imperfections du marché du crédit, investissement des entreprises et cycle économique

G 9503 D. GOUX - E. MAURIN Les transformations de la demande de travail par qualification en France Une étude sur la période 1970-1993

G 9504 N. GREENAN Technologie, changement organisationnel, qualifications et emploi : une étude empirique sur l'industrie manufacturière

G 9505 D. GOUX - E. MAURIN Persistance des hiérarchies sectorielles de salaires: un réexamen sur données françaises

G 9505 Bis D. GOUX - E. MAURIN Persistance of inter-industry wages differentials: a reexamination on matched worker-firm panel data

G 9506 S. JACOBZONE Les liens entre RMI et chômage, une mise en perspective NON PARU - article (sorti dans Economie et Prévision n°122 (1996) - pages 95 à 113

G 9507 G. CETTE - S. MAHFOUZ Le partage primaire du revenu Constat descriptif sur longue période

G 9601 Banque de France - CEPREMAP - Direction de la Prévision - Erasme - INSEE - OFCE Structures et propriétés de cinq modèles macro-économiques français

G 9602 Rapport d'activité de la DESE de l'année 1995

G 9603 J. BOURDIEU - A. DRAZNIEKS L'octroi de crédit aux PME : une analyse à partir d'informations bancaires

G 9604 A. TOPIOL-BENSAÎD Les implantations japonaises en France

G 9605 P. GENIER - S. JACOBZONE Comportements de prévention, consommation d'alcool et tabagie : peut-on parler d'une gestion globale du capital santé ? Une modélisation microéconométrique empirique

G 9606 C. DOZ - F. LENGLART Factor analysis and unobserved component models: an application to the study of French business surveys

G 9607 N. GREENAN - D. GUELLEC La théorie coopérative de la firme
<table><tr><td>G 9608</td><td>N. GREENAN - D. GUELLEC<br>Technological innovation and employment<br>reallocation</td></tr><tr><td>G 9609</td><td>Ph. COUR - F. RUPPRECHT<br>L'intégration asymétrique au sein du continent<br>américain : un essai de modélisation</td></tr><tr><td>G 9610</td><td>S. DUCHENE - G. FORGEOT - A. JACQUOT<br>Analyse des évolutions récentes de la productivité apparente du travail</td></tr><tr><td>G 9611</td><td>X. BONNET - S. MAHFOUZ<br>The influence of different specifications of<br>wages-prices spirals on the measure of the<br>NAIRU : the case of France</td></tr><tr><td>G 9612</td><td>PH. COUR - E. DUBOIS, S. MAHFOUZ,<br>J. PISANI-FERRY<br>The cost of fiscal retrenchment revisited: how<br>strong is the evidence ?</td></tr><tr><td>G 9613</td><td>A. JACQUOT<br>Les flexions des taux d'activité sont-elles seule-<br>ment conjoncturelles ?</td></tr><tr><td>G 9614</td><td>ZHANG Yingxiang - SONG Xueqing<br>Lexique macroéconomique Français-Chinois</td></tr><tr><td>G 9701</td><td>J.L. SCHNEIDER<br>La taxe professionnelle : éléments de cadrage<br>économique</td></tr><tr><td>G 9702</td><td>J.L. SCHNEIDER<br>Transition et stabilité politique d'un système<br>redistributif</td></tr><tr><td>G 9703</td><td>D. GOUX - E. MAURIN<br>Train or Pay: Does it Reduce Inequalities to En-<br>courage Firms to Train their Workers?</td></tr><tr><td>G 9704</td><td>P. GENIER<br>Deux contributions sur dépendance et équité</td></tr><tr><td>G 9705</td><td>E. DUGUET - N. IUNG<br>R & D Investment, Patent Life and Patent Value<br>An Econometric Analysis at the Firm Level</td></tr><tr><td>G 9706</td><td>M. HOUBEBINE - A. TOPIOL-BENSAÏD<br>Les entreprises internationales en France : une<br>analyse à partir de données individuelles</td></tr><tr><td>G 9707</td><td>M. HOUBEBINE<br>Polarisation des activités et spécialisation des<br>départements en France</td></tr><tr><td>G 9708</td><td>E. DUGUET - N. GREENAN<br>Le biais technologique : une analyse sur don-<br>nées individuelles</td></tr><tr><td>G 9709</td><td>J.L. BRILLET<br>Analyzing a small French ECM Model</td></tr><tr><td>G 9710</td><td>J.L. BRILLET<br>Formalizing the transition process : scenarios for<br>capital accumulation</td></tr><tr><td>G 9711</td><td>G. FORGEOT - J. GAUTIÉ<br>Insertion professionnelle des jeunes et proces-<br>sus de déclassement</td></tr><tr><td>G 9712</td><td>E. DUBOIS<br>High Real Interest Rates: the Consequence of a<br>Saving Investment Disequilibrium or of an in-<br>sufficient Credibility of Monetary Authorities?</td></tr><tr><td>G 9713</td><td>Bilan des activités de la Direction des Etudes<br>et Synthèses Economiques - 1996</td></tr></table>

<table><tr><td>G 9714</td><td>F. LEQUILLER<br>Does the French Consumer Price Index Over-<br>state Inflation?</td></tr><tr><td>G 9715</td><td>X. BONNET<br>Peut-on mettre en évidence les rigidités à la<br>baisse des salaires nominaux ?<br>Une étude sur quelques grands pays de l'OCDE</td></tr><tr><td>G 9716</td><td>N. IUNG - F. RUPPRECHT<br>Productivité de la recherche et rendements<br>d'échelle dans le secteur pharmaceutique<br>français</td></tr><tr><td>G 9717</td><td>E. DUGUET - I. KABLA<br>Appropriation strategy and the motivations to use<br>the patent system in France - An econometric<br>analysis at the firm level</td></tr><tr><td>G 9718</td><td>L.P. PELÉ - P. RALLE<br>Âge de la retraite : les aspects incitatifs du ré-<br>gime général</td></tr><tr><td>G 9719</td><td>ZHANG Yingxiang - SONG Xueqing<br>Lexique macroéconomique français-chinois,<br>chinois-français</td></tr><tr><td>G 9720</td><td>M. HOUBEBINE - J.L. SCHNEIDER<br>Mesurer l'influence de la fiscalité sur la locali-<br>sation des entreprises</td></tr><tr><td>G 9721</td><td>A. MOUROUGANE<br>Crédibilité, indépendance et politique monétaire<br>Une revue de la littérature</td></tr><tr><td>G 9722</td><td>P. AUGERAUD - L. BRIOT<br>Les données comptables d'entreprises<br>Le système intermédiaire d'entreprises<br>Passage des données individuelles aux données<br>sectorielles</td></tr><tr><td>G 9723</td><td>P. AUGERAUD - J.E. CHAPRON<br>Using Business Accounts for Compiling National<br>Accounts: the French Experience</td></tr><tr><td>G 9724</td><td>P. AUGERAUD<br>Les comptes d'entreprise par activités - Le pas-<br>sage aux comptes - De la comptabilité<br>d'entreprise à la comptabilité nationale - A<br>paraitre</td></tr><tr><td>G 9801</td><td>H. MICHAUDON - C. PRIGENT<br>Présentation du modèle AMADEUS</td></tr><tr><td>G 9802</td><td>J. ACCARDO<br>Une étude de comptabilité générationnelle<br>pour la France en 1996</td></tr><tr><td>G 9803</td><td>X. BONNET - S. DUCHÈNE<br>Apports et limites de la modélisation<br>« Real Business Cycles »</td></tr><tr><td>G 9804</td><td>C. BARLET - C. DUGUET -<br>D. ENCAOUA - J. PRADEL<br>The Commercial Success of Innovations<br>An econometric analysis at the firm level in<br>French manufacturing</td></tr><tr><td>G 9805</td><td>P. CAHUC - Ch. GIANELLA -<br>D. GOUX - A. ZILBERBERG<br>Equalizing Wage Differences and Bargaining<br>Power - Evidence form a Panel of French Firms</td></tr><tr><td>G 9806</td><td>J. ACCARDO - M. JLASSI<br>La productivité globale des facteurs entre 1975<br>et 1996</td></tr><tr><td>G 9807</td><td>Bilan des activités de la Direction des Etudes et<br>Synthèses Economiques - 1997</td></tr></table>

<table><tr><td>G 9808</td><td>A. MOUROUGANE<br>Can a Conservative Governor Conduct an Ac-<br>comodative Monetary Policy ?</td></tr><tr><td>G 9809</td><td>X. BONNET - E. DUBOIS - L. FAUVET<br>Asymétrie des inflations relatives et menus costs<br>: tests sur l'inflation française</td></tr><tr><td>G 9810</td><td>E. DUGUET - N. IUNG<br>Sales and Advertising with Spillovers at the firm<br>level: Estimation of a Dynamic Structural Model<br>on Panel Data</td></tr><tr><td>G 9811</td><td>J.P. BERTHIER<br>Congestion urbaine : un modèle de trafic de<br>pointe à courbe débit-vitesse et demande<br>élastique</td></tr><tr><td>G 9812</td><td>C. PRIGENT<br>La part des salaires dans la valeur ajoutée : une<br>approche macroéconomique</td></tr><tr><td>G 9813</td><td>A.Th. AERTS<br>L'évolution de la part des salaires dans la valeur<br>ajoutée en France reflète-t-elle les évolutions<br>individuelles sur la période 1979-1994 ?</td></tr><tr><td>G 9814</td><td>B. SALANIÉ<br>Guide pratique des séries non-stationnaires</td></tr><tr><td>G 9901</td><td>S. DUCHÈNE - A. JACQUOT<br>Une croissance plus riche en emplois depuis le<br>début de la décennie ? Une analyse en compa-<br>raison internationale</td></tr><tr><td>G 9902</td><td>Ch. COLIN<br>Modélisation des carrières dans Destinie</td></tr><tr><td>G 9903</td><td>Ch. COLIN<br>Evolution de la dispersion des salaires : un essai<br>de prospective par microsimulation</td></tr><tr><td>G 9904</td><td>B. CREPON - N. IUNG<br>Innovation, emploi et performances</td></tr><tr><td>G 9905</td><td>B. CREPON - Ch. GIANELLA<br>Wages inequalities in France 1969-1992<br>An application of quantile regression techniques</td></tr><tr><td>G 9906</td><td>C. BONNET - R. MAHIEU<br>Microsimulation techniques applied to inter-<br>generational transfers - Pensions in a dynamic<br>framework: the case of France</td></tr><tr><td>G 9907</td><td>F. ROSENWALD<br>L'impact des contraintes financières dans la dé-<br>cision d'investissement</td></tr><tr><td>G 9908</td><td>Bilan des activités de la DESE - 1998</td></tr><tr><td>G 9909</td><td>J.P. ZOYEM<br>Contrat d'insertion et sortie du RMI<br>Evaluation des effets d'une politique sociale</td></tr><tr><td>G 9910</td><td>Ch. COLIN - FI. LEGROS - R. MAHIEU<br>Bilans contributifs comparés des régimes de<br>retraite du secteur privé et de la fonction<br>publique</td></tr><tr><td>G 9911</td><td>G. LAROQUE - B. SALANIÉ<br>Une décomposition du non-emploi en France</td></tr><tr><td>G 9912</td><td>B. SALANIÉ<br>Une maquette analytique de long terme du<br> marché du travail</td></tr><tr><td>G 9912</td><td>Ch. GIANELLA<br>Une estimation de l'élasticité de l'emploi peu<br>qualifié à son coût</td></tr></table>

<table><tr><td>G 9913</td><td>Division « Redistribution et Politiques Sociales »<br>Le modèle de microsimulation dynamique<br>DESTINIE</td></tr><tr><td>G 9914</td><td>E. DUGUET<br>Macro-commandes SAS pour l'économétrie des<br>panels et des variables qualitatives</td></tr><tr><td>G 9915</td><td>R. DUHAUTOIS<br>Evolution des flux d'emplois en France entre<br>1990 et 1996 : une étude empirique à partir du<br>fichier des bénéfices réels normaux (BRN)</td></tr><tr><td>G 9916</td><td>J.Y. FOURNIER<br>Extraction du cycle des affaires : la méthode de<br>Baxter et King</td></tr><tr><td>G 9917</td><td>B. CRÉPON - R. DESPLATZ - J. MAIRESSE<br>Estimating price cost margins, scale economies<br>and workers' bargaining power at the firm level</td></tr><tr><td>G 9918</td><td>Ch. GIANELLA - Ph. LAGARDE<br>Productivity of hours in the aggregate production<br>function: an evaluation on a panel of French<br>firms from the manufacturing sector</td></tr><tr><td>G 9919</td><td>S. AUDRIC - P. GIVORD - C. PROST<br>Evolution de l'emploi et des coûts par quali-<br>fication entre 1982 et 1996</td></tr><tr><td>G 2000/01</td><td>R. MAHIEU<br>Les déterminants des dépenses de santé : une<br>approche macroéconomique</td></tr><tr><td>G 2000/02</td><td>C. ALLARD-PRIGENT - H. GUILMEAU -<br>A. QUINET<br>The real exchange rate as the relative price of<br>nontrables in terms of tradables: theoretical<br>investigation and empirical study on French data</td></tr><tr><td>G 2000/03</td><td>J.-Y. FOURNIER<br>L'approximation du filtre passe-bande proposée<br>par Christiano et Fitzgerald</td></tr><tr><td>G 2000/04</td><td>Bilan des activités de la DESE - 1999</td></tr><tr><td>G 2000/05</td><td>B. CREPON - F. ROSENWALD<br>Investissement et contraintes de financement : le<br>poids du cycle<br>Une estimation sur données françaises</td></tr><tr><td>G 2000/06</td><td>A. FLIPO<br>Les comportements matrimoniaux de fait</td></tr><tr><td>G 2000/07</td><td>R. MAHIEU - B. SÉDILLOT<br>Microsimulations of the retirement decision: a<br>supply side approach</td></tr><tr><td>G 2000/08</td><td>C. AUDENIS - C. PROST<br>Déficit conjoncturel : une prise en compte des<br>conjonctures passées</td></tr><tr><td>G 2000/09</td><td>R. MAHIEU - B. SÉDILLOT<br>Equivalent patrimonial de la rente et souscription<br>de retraite complémentaire</td></tr><tr><td>G 2000/10</td><td>R. DUHAUTOIS<br>Ralentissement de l'investissement : petites ou<br>grandes entreprises ? industrie ou tertiaire ?</td></tr><tr><td>G 2000/11</td><td>G. LAROQUE - B. SALANIÉ<br>Temps partiel féminin et incitations financières à<br>l'emploi</td></tr><tr><td>G 2000/12</td><td>Ch. GIANELLA<br>Local unemployment and wages</td></tr><tr><td>G 2000/13</td><td>B. CREPON - Th. HECKEL<br>- Informatisation en France : une évaluation à<br>partir de données individuelles</td></tr></table>
- Computerization in France: an evaluation based on individual company data

G2001/01 F. LEQUILLER

- La nouvelle économie et la mesure du croissance du PIB

- The new economy and the measurement of GDP growth

G2001/02 S. AUDRIC

La reprise de la croissance de l'emploi profonde aussi aux non-diplômés ?

G2001/03 I. BRAUN-LEMAIRE

Évolution et répartition du surplus de productivité

G2001/04 A. BEAUDU - Th. HECKEL

Le canal du crédit fonctionne-t-il en Europe ? Une étude de l'hétérogénéité des comportements d'investissement à partir de données de bilan agrégées

G2001/05 C. AUDENIS - P. BISCOURP -

N. FOURCADE - O. LOISEL

Testing the augmented Solow growth model : An empirical reassessment using panel data

G2001/06 R. MAHIEU - B. SÉDILLOT

Départ à la retraite, irréversibilité et incertitude

G2001/07 Bilan des activités de la DESE - 2000

G2001/08 J. Ph. GAUDEMET

Les dispositifs d'acquisition à titre facultatif d'annuités viagères de retraite

G2001/09 B. CRÉPON - Ch. GIANELLA

Fiscalité, coût d'usage du capital et demande de facteurs : une analyse sur données individuelles

G2001/10 B. CRÉPON - R. DESPLATZ

Evaluation des effets des dispositifs d'allégements de charges sociales sur les bas salaires

G2001/11 J.-Y. FOURNIER

Comparaison des salaires des secteurs public et privé

G2001/12 J.-P. BERTHIER - C. JAULENT

R. CONVENEVOLE - S. PISANI

Une méthodologie de comparaison entre consommations intermédiaires de source fiscale et de comptabilité nationale

G2001/13 P. BISCOURP - Ch. GIANELLA

Substitution and complementarity between capital, skilled and less skilled workers: an analysis at the firm level in the French manufacturing industry

G2001/14 I. ROBERT-BOBEE

Modelling demographic behaviours in the French microsimulation model Destinie: An analysis of future change in completed fertility

G2001/15 J.-P. ZOYEM

Diagnostic sur la pauvreté et calendrier de revenus : le cas du "Panel européen des ménages"

G2001/16 J.-Y. FOURNIER - P. GIVORD

La réduction des taux d'activité aux âges extrêmes, une spécificité française ?

G2001/17 C. AUDENIS - P. BISCOURP - N. RIEDINGER

Existe-t-il une asymétrie dans la transmission du prix du brut aux prix des carburants ?

G2002/01 F. MAGNIEN - J.-L. TAVERNIER - D. THESMAR

Les statistiques internationales de PIB par habitant en standard de pouvoir d'achat : une analyse des résultats

G2002/02 Bilan des activités de la DESE - 2001

G2002/03 B. SÉDILLOT - E. WALRAET

La cessation d'activité au sein des couples : y a-t-il interdépendance des choix ?

G2002/04 G. BRILHAULT

- Rétroposition des séries de FBCF et calcul du capital fixe en SEC-95 dans les comptes nationaux français

- Rétroposition of the investment series (GFCF) and estimation of fixed capital stocks on the ESA-95 basis for the French balance sheets

G2002/05 P. BISCOURP - B. CRÉPON - T. HECKEL - N.

RIEDINGER
How do firms respond to cheaper computers? Microeconomic evidence for France based on a production function approach

G2002/06 C. AUDENIS - J. DEROYON - N. FOURCADE

L'impact des nouvelles technologies de l'information et de la communication sur l'économie française - un bouclage macro-économique

G2002/07 J. BARDAJI - B. SÉDILLOT - E. WALRAET

Évaluation de trois réformes du Régime Général d'assurance vieillesse à l'aide du modèle de microsimulation DESTINIE

G2002/08 J.-P. BERTHIER

Réflexions sur les différentes notions de volume dans les comptes nationaux : comptes aux prix d'une année fixe ou aux prix de l'année précédente, séries chaînées

G2002/09 F. HILD

Les soldes d'opinion résument-ils au mieux les réponses des entreprises aux enquêtes de conjoncture ?

G2002/10 I. ROBERT-BOBÉE

Les comportements démographiques dans le modèle de microsimulation Destinie - Une comparaison des estimations issues des enquêtes Jeunes et Carrières 1997 et Histoire Familiale 1999

G2002/11 J.-P. ZOYEM

La dynamique des bas revenus : une analyse des entrées-sorties de pauvreté

G2002/12 F. HILD

Prévisions d'inflation pour la France

G2002/13 M. LECLAIR

Réduction du temps de travail et tensions sur les facteurs de production

G2002/14 E. WALRAET - A. VINCENT

- Analyse de la redistribution intragénérationnelle dans le système de retraite des salariés du privé - Une approche par microsimulation

- Intragenerational distributional analysis in the french private sector pension scheme - A microsimulation approach

G2002/15 P. CHONE - D. LE BLANC - I. ROBERT-BOBEE

Offre de travail féminine et garde des jeunes enfants

G2002/16 F. MAUREL - S. GREGOIR

Les indices de compétitivité des pays : interprétation et limites

G2003/01 N. RIEDINGER - E. HAUVY

Le coût de dépollution atmosphérique pour les entreprises françaises : Une estimation à partir de données individuelles

G2003/02 P. BISCOURP et F. KRAMARZ

Création d'emplois, destruction d'emplois et internationalisation des entreprises industrielles françaises : une analyse sur la période 1986-1992

G2003/03 Bilan des activités de la DESE - 2002

G2003/04 P.-O. BEFFY - J. DEROYON -

N. FOURCADE - S. GREGOIR - N. LAÎB - B. MONFORT

Évolutions démographiques et croissance : une projection macro-économique à l'horizon 2020

G2003/05 P. AUBERT

La situation des salariés de plus de cinquante ans dans le secteur privé

G2003/06 P. AUBERT - B. CRÉPON

Âge, salaire et productivité

La productivité des salariés décline-t-elle en fin de carrière ?

G2003/07 H. BARON - P.O. BEFFY - N. FOURCADE - R. MAHIEU

Le ralentissement de la productivité du travail au cours des années 1990

G2003/08 P.-O. BEFFY - B. MONFORT

Patrimoine des ménages, dynamique d'allocation et comportement de consommation

G2003/09 P. BISCOURP - N. FOURCADE

Peut-on mettre en évidence l'existence de rigidités à la baisse des salaires à partir de données individuelles ? Le cas de la France à la fin des années 90

G2003/10 M. LECLAIR - P. PETIT

Présence syndicale dans les firmes : quel impact sur les inégalités salariales entre les hommes et les femmes ?

G2003/11 P.-O. BEFFY - X. BONNET - M. DARRACQ-PARIES - B. MONFORT

MZE: a small macro-model for the euro area

G2004/01 P. AUBERT - M. LECLAIR

La compétitivité exprimée dans les enquêtes trimestrielles sur la situation et les perspectives dans l'industrie

G2004/02 M. DUÉE - C. REBILLARD

La dépendance des personnes âgées : une projection à long terme

G2004/03 S. RASPILLER - N. RIEDINGER

Régulation environnementale et choix de localisation des groupes français

G2004/04 A. NABOULET - S. RASPILLER

Les déterminants de la décision d'investir : une approche par les perceptions subjectives des firmes

G2004/05 N. RAGACHE

La déclaration des enfants par les couples non mariés est-elle fiscalement optimale ?

G2004/06 M. DUÉE

L'impact du chômage des parents sur le devenir scolaire des enfants

G2004/07 P. AUBERT - E. CAROLI - M. ROGER

New Techologies, Workplace Organisation and the Age Structure of the Workforce: Firm-Level Evidence

G2004/08 E. DUGUET - C. LELARGE

Les brevets accroissent-ils les incitations privées à innover ? Un examen microéconométrique

G2004/09 S. RASPILLER - P. SILLARD

Affiliating versus Subcontracting: the Case of Multinationals

G2004/10 J. BOISSINOT - C. L'ANGEVIN - B. MONFORT

Public Debt Sustainability: Some Results on the French Case

G2004/11 S. ANANIAN - P. AUBERT

Travailleurs âgés, nouvelles technologies et changements organisationnels : un réexamen à partir de l'enquête « REPONSE »

G2004/12 X. BONNET - H. PONCET

Structures de revenus et propensions différentes à consommer - Vers une équation de consommation des ménages plus robuste en prévision pour la France

G2004/13 C. PICART

Évaluer la rentabilité des sociétés non financières

G2004/14 J. BARDAJI - B. SÉDILLOT - E. WALRAET

Les retraites du secteur public : projections à l'horizon 2040 à l'aide du modèle de microsimulation DESTINIE

G2005/01 S. BUFFETEAU - P. GODEFROY

Conditions de départ en retraite selon l'âge de fin d'études : analyse prospective pour les générations 1945 a1974

G2005/02 C. AFSA - S. BUFFETEAU

L'évolution de l'activité féminine en France : une approche par pseudo-panel

G2005/03 P. AUBERT - P. SILLARD

Délocalisations et réductions d'effectifs dans l'industrie française

G2005/04 M. LECLAIR - S. ROUX

Mesure et utilisation des emplois instables dans les entreprises

G2005/05 C. L'ANGEVIN - S. SERRAVALLE

Performances à l'exportation de la France et de l'Allemagne - Une analyse par secteur et destination géographique

G2005/06 Bilan des activités de la Direction des Études et Synthèses Economiques - 2004

G2005/07 S. RASPILLER

La concurrence fiscale : principaux enseignements de l'analyse économique

G2005/08 C. L'ANGEVIN - N. LAÎB

Éducation et croissance en France et dans un panel de 21 pays de l'OCDE

G2005/09 N. FERRARI

Prévoir l'investissement des entreprises
Un indicateur des révisions dans l'enquête de conjoncture sur les investissements dans l'industrie.
G2005/10 P.-O. BEFFY - C. L'ANGEVIN
Chômage et boucle prix-salaires : apport d'un modèle « qualifiés/peu qualifiés »

G2005/11 B. HEITZ
A two-states Markov-switching model of inflation in France and the USA: credible target VS inflation spiral

G2005/12 O. BIAU - H. ERKEL-ROUSSE - N. FERRARI
Réponses individuelles aux enquêtes de conjoncture et prévision macroéconomiques : Exemple de la prévision de la production manufacturière

G2005/13 P. AUBERT - D. BLANCHET - D. BLAU
The labour market after age 50: some elements of a Franco-American comparison

G2005/14 D. BLANCHET - T. DEBRAND - P. DOURGNON - P. POLLET
L'enquête SHARE : présentation et premiers résultats de l'édition française

G2005/15 M. DUÉE
La modélisation des comportements démographiques dans le modèle de microsimulation DESTINIE

G2005/16 H. RAOUI - S. ROUX
Étude de simulation sur la participation versée aux salariés par les entreprises

G2006/01 C. BONNET - S. BUFFETEAU - P. GODEFROY
Disparités de retraite de droit direct entre hommes et femmes : quelles évolutions ?

G2006/02 C. PICART
Les gazelles en France

G2006/03 P. AUBERT - B. CRÉPON - P. ZAMORA
Le rendement apparent de la formation continue dans les entreprises : effets sur la productivité et les salaires

G2006/04 J.-F. OUVRARD - R. RATHELOT
Demographic change and unemployment: what do macroeconometric models predict?

G2006/05 D. BLANCHET - J.-F. OUVRARD
Indicateurs d'engagements implicites des systèmes de retraite : chiffrages, propriétés analytiques et réactions à des chocs démographiques types

G2006/06 G. BIAU - O. BIAU - L. ROUVIERE
Nonparametric Forecasting of the Manufacturing Output Growth with Firm-level Survey Data

G2006/07 C. AFSA - P. GIVORD
Le rôle des conditions de travail dans les absences pour maladie

G2006/08 P. SILLARD - C. L'ANGEVIN - S. SERRAVALLE
Performances comparées à l'exportation de la France et de ses principaux partenaires
Une analyse structurelle sur 12 ans

G2006/09 X. BOUTIN - S. QUANTIN
Une méthodologie d'évaluation comptable du coût du capital des entreprises françaises : 1984-2002

G2006/10 C. AFSA
L'estimation d'un coût implicite de la pénibilité du travail chez les travailleurs âgés

G2006/11 C. LELARGE
Les entreprises (industrielles) françaises sont-elles à la frontière technologique ?

G2006/12 O. BIAU - N. FERRARI
Théorie de l'opinion
Faut-il pondérer les réponses individuelles ?

G2006/13 A. KOUBI - S. ROUX
Une réinterprétation de la relation entre productivité et inégalités salariales dans les entreprises

G2006/14 R. RATHELOT - P. SILLARD
The impact of local taxes on plants location decision

G2006/15 L. GONZALEZ - C. PICART
Diversification, recentrage et poids des activités de support dans les groupes (1993-2000)

G2007/01 D. SRAER
Allègements de cotisations patronales et dynamique salariale

G2007/02 V. ALBOUY - L. LEQUIEN
Les rendements non monétaires de l'éducation : le cas de la santé

G2007/03 D. BLANCHET - T. DEBRAND
Aspiration à la retraite, santé et satisfaction au travail : une comparaison européenne

G2007/04 M. BARLET - L. CRUSSON
Quel impact des variations du prix du pétrole sur la croissance française ?

G2007/05 C. PICART
Flux d'emploi et de main-d'œuvre en France : un réexamen

G2007/06 V. ALBOUY - C. TAVAN
Massification et démocratisation de l'enseignement supérieur en France

G2007/07 T. LE BARBANCHON
The Changing response to oil price shocks in France : a DSGE type approach

G2007/08 T. CHANEY - D. SRAER - D. THESMAR
Collateral Value and Corporate Investment Evidence from the French Real Estate Market

G2007/09 J. BOISSINOT
Consumption over the Life Cycle: Facts for France

G2007/10 C. AFSA
Interpréter les variables de satisfaction : l'exemple de la durée du travail

G2007/11 R. RATHELOT - P. SILLARD
Zones Franches Urbaines : quels effets sur l'emploi salarié et les créations d'établissements ?

G2007/12 V. ALBOUY - B. CRÉPON
Aléa moral en santé : une évaluation dans le cadre du modèle causal de Rubin

G2008/01 C. PICART
Les PME françaises : rentables mais peu dynamiques

G2008/02 P. BISCOURP - X. BOUTIN - T. VERGÉ
The Effects of Retail Regulations on Prices Evidence form the Loi Galland

G2008/03 Y. BARBESOL - A. BRIANT
Économies d'agglomération et productivité des entreprises : estimation sur données individuelles françaises

G2008/04 D. BLANCHET - F. LE GALLO
Les projections démographiques : principaux mécanismes et retour sur l'expérience française

G2008/05 D. BLANCHET - F. TOUTLEMONDE
Évolutions démographiques et déformation du cycle de vie active : quelles relations ?

G2008/06 M. BARLET - D. BLANCHET - L. CRUSSON
Internationalisation et flux d'emplois : que dit une approche comptable ?

G2008/07 C. LELARGE - D. SRAER - D. THESMAR
Entrepreneurship and Credit Constraints - Evidence from a French Loan Guarantee Program

G2008/08 X. BOUTIN - L. JANIN
Are Prices Really Affected by Mergers?

G2008/09 M. BARLET - A. BRIANT - L. CRUSSON
Concentration géographique dans l'industrie manufacturière et dans les services en France : une approche par un indicateur en continu

G2008/10 M. BEFFY - É. COUDIN - R. RATHELOT
Who is confronted to insecure labor market histories? Some evidence based on the French labor market transition

G2008/11 M. ROGER - E. WALRAET
Social Security and Well-Being of the Elderly: the Case of France

G2008/12 C. AFSA
Analyser les composantes du bien-être et de son évolution
Une approche empirique sur données individuelles

G2008/13 M. BARLET - D. BLANCHET - T. LE BARBANCHON
Microsimuler le marché du travail : un prototype

G2009/01 P.-A. PIONNIER
Le partage de la valeur ajoutée en France, 1949-2007

G2009/02 Laurent CLAVEL - Christelle MINODIER
A Monthly Indicator of the French Business Climate

G2009/03 H. ERKEL-ROUSSE - C. MINODIER
Do Business Tendency Surveys in Industry and Services Help in Forecasting GDP Growth?
A Real-Time Analysis on French Data

G2009/04 P. GIVORD - L. WILNER
Les contrats temporaires : trappe ou marchepied vers l'emploi stable ?

G2009/05 G. LALANNE - P.-A. PIONNIER - O. SIMON
Le partage des fruits de la croissance de 1950 à 2008 : une approche par les comptes de surplus

G2009/06 L. DAVEZIES - X. D'HAULTFOEUILLE
Faut-il pondérer ?... Ou l'éternelle question de l'économètre confronté à des données d'enquête

G2009/07 S. QUANTIN - S. RASPILLER - S. SERRAVALLE
Commerce intragroupe, fiscalité et prix de transferts : une analyse sur données françaises

G2009/08 M. CLERC - V. MARCUS
Élasticités-prix des consommations énergétiques des ménages

G2009/09 G. LALANNE - E. POULIQUEN - O. SIMON
Prix du pétrole et croisssance potentielle à long terme

G2009/10 D. BLANCHET - J. LE CACHEUX - V. MARCUS
Adjusted net savings and other approaches to sustainability: some theroretical background

G2009/11 V. BELLAMY - G. CONSALES - M. FESSEAU - S. LE LAIDIER - É. RAYNAUD
Une décomposition du compte des ménages de la comptabilité nationale par catégorie de ménage en 2003

G2009/12 J. BARDAJI - F. TALLET
Detecting Economic Regimes in France : a Qualitative Markov-Switching Indicator Using Mixed Frequency Data

G2009/13 R. AEBERHARDT - D. FOUGÈRE - R. RATHELOT

Discrimination à l'embauche : comment exploiter les procédures de testing ?

G2009/14 Y. BARBESOL - P. GIVORD - S. QUANTIN
Partage de la valeur ajoutée, approche par données microéconomiques

G2009/15 I. BUONO - G. LALANNE
The Effect of the Uruguay round on the Intensive and Extensive Margins of Trade

G2010/01 C. MINODIER
Avantages comparés des séries des premières valeurs publiées et des séries des valeurs révisées - Un exercice de prévision en temps réel de la croissance trimestrielle du PIB en France

G2010/02 V. ALBOUY - L. DAVEZIES - T. DEBRAND
Health Expenditure Models: a Comparison of Five Specifications using Panel Data

G2010/03 C. KLEIN - O. SIMON
Le modèle MÉSANGE réestimé en base 2000
Tome 1 – Version avec volumes à prix constants

G2010/04 M.-É. CLERC - É. COUDIN
L'IPC, miroir de l'évolution du coût de la vie en France ? Ce qu'apporte l'analyse des courbes d'Engel

G2010/05 N. CECI-RENAUD - P.-A. CHEVALIER
Les seuils de 10, 20 et 50 salariés : impact sur la taille des entreprises françaises

G2010/06 R. AEBERHARDT - J. POUGET
National Origin Differences in Wages and Hierarchical Positions - Evidence on French Full-Time Male Workers from a matched Employer-Employee Dataset

G2010/07 S. BLASCO - P. GIVORD
Les trajectoires professionnelles en début de vie active : quel impact des contrats temporaires ?

G2010/08 P. GIVORD
Méthodes économétriques pour l'évaluation de politiques publiques

G2010/09 P.-Y. CABANNES - V. LAPÈGUE - E. POULIQUEN - M. BEFFY - M. GAINI
Quelle croissance de moyen terme après la crise ?

G2010/10 I. BUONO - G. LALANNE
La réaction des entreprises françaises à la baisse des tarifs douaniers étrangers
G2010/11 R. RATHELOT - P. SILLARD
L'apport des méthodes à noyaux pour mesurer la concentration géographique - Application à la concentration des immigrés en France de 1968 à 1999

G2010/12 M. BARATON - M. BEFFY - D. FOUGÈRE
Une évaluation de l'effet de la réforme de 2003 sur les départs en retraite - Le cas des enseignants du second degré public

G2010/13 D. BLANCHET - S. BUFFETEAU - E. CRENNER
S. LE MINEZ
Le modèle de microsimulation Destinie 2 : principales caractéristiques et premiers résultats

G2010/14 D. BLANCHET - E. CRENNER
Le bloc retraites du modèle Destinie 2 :
guide de l'utilisateur