{"word_count": 492, "character_count": 3841}
L'autre jour, en regardant des catalogues de jeux avec les enfants, je me suis fait la réflexion que les prix des jouets (en dollars canadiens) me faisaient penser au prix des jouets (en francs) quand j'étais petit. Je me suis souvenu d'un Noël où mon père me demandait si je voulais vraiment le truc-que-j'ai-depuis-oublié parce que, quand même, c'était cher, ça coutait "plus que 100 Fr". Et ce matin, au cours une discussion entre tekool et tanx_xx (sur Twitter) j'ai vu passer le message suivant "Entre les années 70 et aujourd'hui il faut simplement (c'est sérieux) convertir de francs à euros" suivi de "Je veux dire un francs en 70 c'est un euros aujourd'hui". Ce qui confirmerait mon intuition (et tenant compte du taux de change euro-dollar, car mon enfance, c'est plutôt les années 80).Pour vérifier cette histoire, je suis allé chercher des taux d'inflation, et des évolutions d'indices de prix. Pour avoir des données mensuelles, il suffisait d'aller sur http://bdm.insee.fr/... mais les donnes remontent seulement aux années 90. En revanche, http://france-inflation.com/... remonte à 1901 (un tout petit peu avant ma naissance comme dirait ma fille), mais en données annuelles. La bonne chose est que les deux séries sont consistantes,&#62; T1=ts(insee,start=1990,frequency=12)&#62; T2=ts(inffrance,start=1901,frequency=1)&#62; plot(lag(T1,6),xlim=c(1970,2012),ylim=c(20,130),col="red",lwd=2)&#62; lines(T2,col="blue")et si on regarder la variation de l'indice des prix, on retrouve un niveau d'inflation comparable là aussi&#62; plot(diff(T2)/T2*100,col="blue",ylab="Inflation (%)",xlim=c(1960,2012),ylim=c(0,15))&#62; lines(lag(diff(T1,12)/T1*100,6),col="red")L'idée va être d'utiliser le taux annuel, éventuellement interpolé (linéairement pour faire simple), pour voir quand le niveau des prix était 6,5597 fois plus faible qu'aujourd'hui. On peut utiliser la petite fonction&#62; interpol.linear = function(u,n){+ v=u[1]+ for(i in 1:(length(u)-1)){+ v=c(v,seq(u[i],u[i+1],length=n+1)[-1])}+ return(v)}On crée alors un vecteur d'indice des prix plus fin (à partir des prix annuels),&#62; h=50&#62; T2b=interpol.linear(T2,n=50)On va alors chercher quand avec 1 Fr. on avait l'équivalent de 1 € (aujourd'hui)&#62; last=T2b[length(T2b)]&#62; euro=6.5597&#62; level=last/euro&#62; max(which(T2b&#60;=level))/h+1900[1] 1969.92Effectivement, début 1970, les prix devaient correspondre. Si quelqu'un a un vieux catalogue de vente par correspondance de cette époque, je pense qu'on pourrait regarder les montants nominaux. Ça fait donc environ 42 ans...&#62; date=1901+seq(0,by=1/h,length=length(T2b))&#62; when=function(D){+ last=T2b[max(which(date&#60;=D))]+ euro=6.5597+ level=last/euro+ return(D-max(which(T2b&#60;=level))/h-1900)}&#62; when(2012)[1] 42.08Ça fait beaucoup ou pas ? Car les prix montent, ce n'est un secret pour personne (ou presque)Si on avait un taux d'inflation (annualisé) à 5%, il faudrait attendre  (années) avant de multiplier les prix par 6.5597, avec  solution desoitcomme en témoigne le calcul&#62; log(6.5597)/log(1.05)[1] 38.55172Bref, une quarantaine d'années est un ordre de grandeur plausible (car l'inflation n'a pas été constante pendant les 40 dernières années en France, loin de là). En fait, on peut faire des calculs, pour voir, dans le passé combien de temps il a fallu attendre avant d'avoir une telle hausse des prix,&#62; VD=seq(1985,2012,by=.5)&#62; VW=Vectorize(when)(VD)&#62; plot(VD,VW,type="l",col="purple",ylab="Nombre d'années",lwd=2)On retrouve ici le faut que l'inflation a fortement baissé. Lors du passage à l'euro, en 2002, les prix (nominaux) étaient les mêmes que ceux affichés 35 ans auparavant&#62; when(2002)[1] 35.3Amusant non ? Je laisse les amateurs d'actualisation interpréter maintenant le fait que le temps à attendre soit linéaire depuis une quinzaine d'années...