vendredi 30 décembre 2011

Changement de gamme tarifaire : spéculation

Le petit monde s'intéressant à la SNCF n'a évidemment pas manqué les diverses annonces concernant l'évolution des tarifs.

Comme c'est traditionnel au début de l'année les tarifs TGV vont augmenter, et c'est l'occasion de la publication des nouveaux « Tarifs Voyageurs ». Cette année est particulière pour deux raisons :

  • La TVA passe de 5,5% à 7%.
  • La gamme tarifaire va être remaniée.

Ces deux changements sont annoncés dans un communiqué de presse du groupe SNCF.

Augmentation du taux de TVA

La SNCF a décidé de répercuter en entier la hausse sur le prix des billets, et donc tous les tarifs augmentent :

  • Ceux qui augmentent traditionnellement en juillet (abonnements, Tarif Normal) ne prennent que l'augmentation de TVA (il sont donc multipliés par 1,07/1,055, c'est à dire augmentent de 1,42%). Contrairement à ce qui a pu être dit ailleurs dans certains journaux, cela inclut bien les prix sur les TER. Le prix hors taxe n'a donc quasiment pas changé, il sera très certainement augmenté en juillet 2012.
  • Les tarifs TGV prennent l'augmentation complète. En grand seigneur, le prix des réservations abonnements pour les places assises n'est pas changé (sachant que le prix perçu est essentiellement symbolique).

Remaniement de la gamme SNCF

Déjà, je remarque que les marques commerciales Téoz et Lunéa disparaissent, au profit d'« INTERCITÉS »[1]. C'est probablement un effet de la volonté depuis quelques temps du groupe SNCF de réduire son nombre de marques commerciales.

On peut ensuite noter que les tarifs voyageurs (page 12 du vol. 2) actent le fait qu'il y a bien 3 niveaux de prix Prem's en seconde dans les TGV. Je l'avais observé à l'occasion de l'écriture de cette entrée, mais aucune documentation grand public ne l'attestait.

Autre modification mineure, les plein tarifs sont maintenant arrondis à l'euro, rejoignant à peu de choses près le reste de la gamme.

Vient maintenant le plat de résistance : il avait été annoncé cet été que le principe des périodes de pointe et normale allait être revu, et le décret encadrant les prix en seconde classe[2] a été mis à jour. En gros, dorénavant, la SNCF devra vendre 50% des billets en dessous de 140% du Tarif Normal pour leur distance, et ne jamais vendre de billets dépassant 210% du Tarif Normal. Jusqu'alors il fallait que 40% des trains aient un tarif inférieur à 140% du Tarif Normal (hors promotions), objectif largement atteint sur la plupart des lignes.

Ça aurait pû être l'occasion de reconstruire la hiérarchie des classes de contingence pour mettre tout à plat au lieu d'avoir deux périodes[3], avec par exemple deux classes pour les pros[4]. Je ne pense pas que ça sera le cas (surtout que les « Tarifs Voyageurs » continuent de parler de période de pointe et de période normale). Je pense que ce qu'il se passera est qu'un TGV pourra dorénavant être passé de la période normale à la période de pointe en cours de vente. Auparavant, la période était décidée longtemps à l'avance et parfois au doigt mouillé[5], ce qui nuisait au principe d'optimisation du remplissage des trains.

Par ailleurs, le communiqué de presse sur l'augmentation tarifaire précise que le nombre de tarifs sera réduit d'environ 30%. Une possibilité serait d'unifier les prix Période Normale et Période de Pointe des trois tarifs les plus bas[6] dans la gamme loisir et loisir avec carte.

Rendez-vous donc à partir du 3 janvier 2012 pour les changements.

[1] C'est d'ailleurs ce changement qui concentre la plupart des différences dans le texte des nouveaux tarifs voyageurs. Voyez par exemple p.17 du vol. 1 : « INTERCITÉS Pro » a remplacé « Téoz Pro » qu'on trouvait dans les versions précédentes.

[2] En première classe, la SNCF fait ce qu'elle veut.

[3] Dans le jargon SNCF, la période est parfois appellée niveau de prix, ce qui pose parfois des problèmes de compréhension.

[4] Ceci se heurterait au problème qu'il commence à y avoir un manque de lettres dans l'alphabet.

[5] Sur Bordeaux → Paris il était fréquent que le train de 17h27 (anciens horaires), en pointe, soit bien moins plein que celui de 18h18, en période normale.

[6] La gamme Loisir a 5 paliers de prix par période, ce qui fait 10 en tout. Diminuer de 30% signifie en supprimer 3.

Edit (2012-01-04) : La SNCF a publié un communiqué de presse sur le sujet de la disparition des marques Lunéa et Téoz.

lundi 21 novembre 2011

Segmentation de clientèle : exemple des TGV vers l'Italie

Je tiens un exemple amusant (si l'on peut dire) de segmentation de clientèle.

La liaison vers l'Italie est(était) assurée jusqu'au 10 décembre 2011 par une joint-venture entre Trenitalia et SNCF nommée Artésia. Pour diverses raisons cette alliance a cessé, et la SNCF reprend à son compte (avec l'aide de NTV) les liaisons de jour, tandis que Trenitalia reprend avec l'aide de Véolia les liaisons de nuit. Je vais parler de la liaison de jour.

Pour des raisons pratiques le TGV s'arrête à la gare de Modane, pour échanger les conducteurs, permettre à la douane de faire son travail etc.. Plutôt que de faire de cet arrêt un simple arrêt technique et de ne pas vendre du tout le trajet Paris->Modane et inversement, les contingents ont été complètement dissociés entre les trajets internationaux et les trajets nationaux. De même le pricing a été dissocié (ce qui est fréquent sur les trains internationaux).

Pricing

Rien de systématique, mais deux exemples amusants :

  • Je remarque que le tarif Flexi (en trafic international l'équivalent du tarif PRO s'appelle souvent comme ça) Paris->Italie (peu importe la gare d'Italie) en première classe est moins cher que le tarif Pro première Paris->Modane. À l'heure ou je l'écris, c'est 130 EUR contre 144 EUR. Cela ne m'étonnerait pas que l'effet soit dû aux règles algorithmiques qui donnent les tarifs domestiques (bien qu'en première la SNCF est censée pouvoir faire ce qu'elle veut) contre aucune règle mécanique du tout pour l'international.
  • Les prem's (ou assimilés) ont l'air moins chers quand on traverse la frontière.
Peut-être s'agit il bêtement de la TVA qui se rajoute en parcours domestique ? À toute fin utile, je rappelle que les abandons de parcours sont possibles.

Disponibilités

Là où ça devient funky, c'est au niveau des disponibilités (en tout cas pour l'instant). Dans le sens Paris->Modane, à priori pas grand chose à signaler sauf que les disponibilités ont l'air plus réduites, et ce dans toutes les classes de service, y compris jusqu'à mentir dans la classe de confort disponible. Par exemple à l'heure où j'écris, le Paris->Modane (TGV 9241) du 02 février à 7h49 n'a prétendument plus de place en seconde, mais il reste des places en Prem's en première, ce qui met la puce à l'oreille. Évidemment, si je demande Paris->Bardonnechia (juste derrière le tunnel du Fréjus), la seconde est ouverte, et avec des prem's. Joli mensonge.

Dans le sens Modane->Paris, c'est pire. Là, tout est carrément marqué complet (ce sont certainement des groupes qui ont tout réservé :-), sauf le samedi et dimanche. Quelques disponibilités ont l'air d'apparaître quand on s'approche du jour du départ (au moment où j'écris, des places viennent de se "libérer" sur les trains quelques jours après le 11 décembre). Là aussi, c'est un mensonge, il reste des prem's sur presque tous les trains dont la date de départ est dans plus d'un mois. De manière amusante, on peut réserver un Bardonecchia->Modane pour pas grand chose et donc "griller" une place pour tout le monde (les gens qui voudraient monter à Milan pour aller en France et les gens qui veulent monter à Modane ne peuvent de toutes façons pas réserver).

Je rappelle que les billets au départ des gares étrangères à destination de la France n'ont pas à être compostés.

Où est la logique ?

J'ai l'impression qu'il y a un certain manque de logique :

  • D'une part, les trains ouverts-mais-chers au départ de Paris semblent accréditer la thèse que l'on n'aime pas que les passagers descendant/montant à Modane fassent perdre du revenu.
  • D'autre part les trains carrément fermés à la montée à Modane vers Paris semblent plutôt accréditer la thèse que l'on cherche à maximiser le nombre de voyageurs transfrontaliers afin de laisser le moins de marché possible aux trains de nuits (passés à la conccurence), et qu'il y a donc d'autres critères que le revenu pur.
Mais la combinaison des deux me laisse perplexe. Il pourrait donc y avoir une erreur quelque part ou bien une limitation technique.

Dernière remarque

Les tarifs Éco ont l'air d'avoir des conditions de remboursement/échanges avec des retenues variables en fonction du niveau de prix. Cela pourrait préfixer un changement en ce qui concerne la tarification domestique, au niveau des tarifs loisir.

Edit (2011-11-22) : Cette entrée du blog de Capitaine Train confirme.

vendredi 18 novembre 2011

Titre de transports : billets papier

J'appelle billet papier un titre de transport à priori pièce unique dont la seule présentation est une preuve de l'existence d'un contrat de transport entre le porteur et la SNCF. Cela ne concerne donc pas les billet dématerialisés.

Voici une copie (un peu trafiquée) d'un billet domestique comportant une réservation sur un TGV et une correspondance en TER. Il a été ticketé (c'est à dire imprimé) sur une borne automatique dans une gare, après avoir été payé sur voyages-sncf.com.

Légende :
  1. Classe de service sur le TGV. AD donc en première classe, contingent D.
  2. Code tarif à deux lettres et deux chiffres. Ici CJ11 désigne la Carte 12/25, probablement comme "Carte Jeune". À priori un billet ne peut avoir qu'un seul code tarif.
  3. Prix effectif du premier segment.
  4. Kilométrage du premier segment.
  5. Niveau de prix du TGV. "PP" pour période de pointe. La période normale est indiquée "PN".
  6. Type de titre. Ici c'est "DV", comme titre de transport domestique à train désigné. Il y en a plein d'autres. Notamment les billets internationaux ("IV"), les billets ouverts sans mention de train ("DT"), mais aussi les cartes d'abonnement ("BA","BB"), les coupons d'abonnement ("BC","BD"), les cartes de réduction ("EJ" p.ex. pour les cartes 12/25) etc.. En fait tout ce qui est considéré comme un billet par le système de réservation a son type de titre, y compris donc les confirmations e-billets ou les mémos e-billets.
  7. Numéro du billet pour le système de réservation. C'est un compteur qui cycle environ tous les 9(?) mois et dont le dernier chiffre est le reste de la division euclidienne par 7 du nombre formé par les huit autres chiffres. Tous les titres se partagent la même séquence.
  8. Pourcentage de réduction sur le second segment.
  9. Numéro du billet qui tient la réservation. Il est préfixé par 87, qui est le code UIC court de la SNCF (et donc probablement le code CIT de la SNCF). Dans notre cas, la suite est égale au numéro de titre (suivi d'un checksum que je ne sais pas calculer mais qui est probablement un reste modulaire), mais cela peut être autre chose, par exemple quand les réservations sont gérées par une autre entité et que la SNCF émet le billet pour le compte de cette autre entité (typiquement sur les titres internationaux).
  10. Numéro de dossier voyage (ou PNR) qui détient le billet. Le dossier, outre les billets contient les réservations, des notes sur les passagers etc.. C'est la clef de base pour les entrées dans le système de réservation.
  11. Type de paiement, suivi ici du numéro. Certain de ces codes sont repris de l'industrie aérienne. "TS" apparaît sur les billets télépayés par téléphone ou voyages-sncf.com (télépaiement SNCF?). J'ai déjà vu "CA" (Cash), "CB" (Carte Bancaire), "TB" (titre bonus?? pour les titres primes), "CC" (carte de crédit style amex ?), "EC" (en compte, utilisé pour les titres vendus par les agences de voyage), "TG" (paiement par carte logée ??), "BV" (bon voyage), "CK" (chèque), "CV" (chèque vacances). Il n'est fiable que lorsque le titre est émis par la SNCF : il est fréquent de voir des titres émis par des agences de voyages avec la mention "CA", ce qui est un mensonge. Quand on paye au guichet un nouveau billet avec un autre billet, le type de paiement est recopié.
  12. Nom du guichet qui a "émis" le billet. Les bornes écrasent cette mention par la leur. Ici on voit que j'ai imprimé le billet à une borne de la gare de Paris Montparnasse.
  13. Date de création du billet (qui peut-être fausse, notamment lors d'un échange par téléphone d'un billet télépayé).
  14. Heure de création du billet.
  15. Identifiant hexadécimal du guichet émetteur. Chaque borne, chaque bureau de vente dans les gares, agences de voyages en a un. Voyages-sncf.com en a un paquet.
  16. Il peut y avoir plusieurs pages.
  17. Prix en EUR, à priori le prix par voyageur multiplié par le nombre de voyageurs. Il n'apparaît pas toujours : ni sur les premières pages d'un billet qui en comporte plusieurs, ni sur les billets dont on ne veut pas rendre public le prix (tarifs corporate[1], billet prime). Les étoiles servent à rendre difficile la fraude en vue de changer le prix payé. De même lorsque la page ne contient qu'un segment, les données du second segment sont remplacées par des étoiles. Vous pourrez noter que les étoiles dans la zone train sont différentes de celles des zones prix et réservation.
  18. Endroit de la mention d'un échange en borne libre service.
  19. La date d'arrivée n'est indiquée que quand elle est différente de la date de départ.
  20. Mention du train.
  21. Zone réservation. La deuxième ligne indique le type de placement, la troisième l'espace.
  22. Trajet couvert par le billet. Sert surtout quand le billet possède plusieurs pages.
  23. Nom/Prénom. Il n'existe pas toujours, notamment avec les billets émis au guichet ou dans les bornes (bien que le dossier dans le système de réservation possède bien un nom, il n'est pas affiché. Les bornes mettent A/A. Les guichets mettent xQQQ/??, avec x une lettre apparamment aléatoire et ?? valant peut-être Xx, avec x l'ordre du passager en commençant par A).
  24. Un billet peut posséder plusieurs voyageurs.
  25. Type de passager : adulte/enfant typiquement.
  26. Num de carte de fidélité, avec la mention que c'est une carte grand voyageur. Les numéros de client à la SNCF commencent toujours par 290901. Les cartes de fidélité ont le préfixe 09. Le dernier chiffre est un chiffre de contrôle. Quand un billet papier présente un numéro de fidélité SNCF, il devient incessible.
  27. Non fumeur !
  28. Numéro de série du carton. Préfixé par le code UIC court de la SNCF, et suivi d'un checksum probablement type UIC.
  29. Numéro de référence du carton. Les billets émis par les agences ont un autre numéro (l'impression de base est différente car il n'y a pas le blanc pour mettre le code à lecture optique), de même que les billets envoyés à domicile (car l'arrière est légèrement différent).
  30. Code à lecture optique type PDF417. Voir cette entrée pour plus d'informations.
  31. Zone mention facultative "publicitaire". À priori n'apparaît que lorsque le dossier a été créé en borne libre service ou au guichet. Je ne l'ai vue utilisée que pour indiquer les numéros de téléphone pour réaliser un échange (donc il est logique de ne pas les donner quand le passager a utilisé internet pour acheter le billet).
  32. Mentions supplémentaires, on y voit souvent le compostage automatique ou certaines condition d'utilisation.
  33. La Fiche Client Entreprise apparaît ici. C'est un numéro attribué aux entreprises par la SNCF et qui permet de faire du suivi. Ne concerne donc pas les billets vendus aux particuliers, et donc il ne figure pas sur ce billet.
  34. "Condition" d'utilisation du segment. Dépend de la classe de service du segment et du code tarif.
  35. Trou de compostage "à l'ancienne". Au dos on voit le code UIC de la gare (sans le préfixe 87) et le numéro du jour dans l'année.
  36. Trou du contrôleur. Il sert à éviter que l'on puisse présenter un billet deux fois.

[1] Pour les tarifs corporate, le prix est en fait indiqué dans le code tarif. Le numéro doit certainement être en relation simple avec un pourcentage de réduction sur le tarif PRO.

mardi 1 novembre 2011

Composition de segments étape 2

Après les généralités sur la compostion de segments, voici les détails mathématiques sur ce que je crois être la formule de composition des segments hétérogènes (navigateur supportant MathML requis).

La partie transport de chaque segment i est affectée d'un coefficient multiplicatif xi : si Pi est le prix initial du segment i, alors le prix final du segment P'i vaudra Pixi, arrondi au décime d'euro supérieur. En outre il ne peut être inférieur au minimum de perception. Par ailleurs on note Pin le prix plein tarif correspondant au segment i, et di la distance tarifaire du segment i.

On définit les deux grandeurs Q et Qn de la manière suivante :

  • Q = f ( j f - 1 ( P j ) ) (il s'agit de la formule exposée dans l'entrée précédente)
  • Q n = f ( j f - 1 ( P j n ) )
f est une fonction affine par morceaux similaire au tarif normal, qu'on peut approximer par la fonction xx0,85[1], et f-1 son inverse.

Les xi sont calculés de la manière suivante :

  1. x i = 1 pour les segments type Prem's (en fait je ne sais pas comment on combine des Prem's avec d'autres types de segments). Dans la suite je supposerai qu'il n'y a pas de Prem's.
  2. x i = Q P i d i j d j pour les segments sur les trains à gestion fine (TGV, Téoz, Lunéa).
  3. x i = Q n P i n d i j d j pour les segments sur les trains à reservation facultative.

Si on colle tous les morceaux et qu'on ignore les effets d'arrondis, la formule de compostion se résume à :

1 j d j ( Q { j } d j + Q n { j } d j P j P j n )

où l'ensemble contient les indices des segments pour les trains à gestion fine.

Exemple typique

Un usager veut faire Bordeaux→Paris→Rouen en seconde classe et possède une carte Sénior. Le départ se fait en période bleue, et le TGV Bordeaux→Paris est en période normale. Il reste des places en BD dans le TGV (tarif BDSR11PN), et l'usager aura une réduction de 50% (tarif BSR11PC50) dans l'Intercités puisque le départ est en période bleue. Comme les tarifs ne sont pas compatibles entre l'Intercités et le TGV, le prix global est déterminé grâce à la formule de composition des segments hétérogènes.

Les éléments de prix sont les suivants :

  • Bordeaux→Paris : P1 = 34,00 EUR; P1n = 70,80 EUR; d1 = 581 km.
  • Paris→Rouen : P2 = 10,80 EUR; P2n = 21,60 EUR; d2 = 140 km.

Je calcule :

  • Q = (341/0.85 + 10.81/0.85)0.85 = 41.36
  • Qn = (70.81/0.85 + 21.61/0.85)0.85 = 85.44
  • x1 = Q/P1 * d1/(d1 + d2) = 41.36 / 34 * 581/(581 + 140) = 0.98
  • x2 = Qn/P2n * d2/(d1 + d2) = 85.44 / 21.6 * 140/(581 + 140) = 0.77
  • P'1 = x1 * P1 = 0.98 * 34 = 33.32 → 33.40
  • P'2 = x2 * P2 = 0.77 * 10.8 = 8.32 → 8.40
  • Total = P'1 + P'2 = 33.40 + 8.40 = 41.80.

Je tente une réservation : le 1er novembre, à 18h45, il reste des places en BD dans le TGV 8412 du 17 novembre, 6h27. Je demande une réservation combinant ce train et le Paris→Rouen de 10h50. Résultat, 41.10 EUR. Je ne suis pas loin.

Explication

Dans l'entrée précédente, j'avais indiqué que l'idée de la composition des segments hétérogènes était de calculer les kilométrages fictifs correspondant aux prix de chaque segment, de sommer ces kilométrages puis de recalculer un prix à partir de cette somme. Cette façon de faire assure qu'on a une dégressivité du même ordre que lorsqu'on voyage au tarif normal. Et de fait, lorsque tous les segments sont au plein tarif, la formule horrible se réduit juste à Q.

Je pense que la formule actuelle peut s'expliquer par l'historique des tarifs de marché :

  • Avant les tarifs de marché, on avait juste le tarif normal, pas de composition à faire, il n'y a qu'à sommer les kilomètres et calculer un prix global, en ajoutant le prix d'une réservation si besoin (j'imagine que la réservation sur TGV était payante).
  • Ensuite les tarifs de marché ont été introduits, via une tarification globale. On a donc introduit la formule de composition avec les Qn et les pleins tarifs, puisque toutes les réductions étaient calculées en pourcentage du plein tarif, la réduction ayant lieu après calcul du coefficient xi du segment (donc deux fois l'arrondi).
  • Maintenant sur TGV l'essentiel des prix réduits (sauf quelques exceptions comme les groupes) est fixé à l'avance et non plus calculé par le système de réservation. Il a donc fallu faire une adaptation du calcul de dégressivité. Et comme on a voulu toucher le moins possible le système de réservation la formule s'est retrouvée sous cette forme à la Frankenstein, où les segments TGV voient le prix effectif mais pas les segments corail, qui voient le plein tarif, donc se trouve "dégressivés" de manière plus conséquente. Résultat, quand on combine une réduction à pourcentage et une réduction forfaitaire, le prix total est bien inférieur au prix auquel on pourrait s'attendre avec une formule simple.

[1] L'année dernière, le facteur semblait valoir 0,795. Les tarifs ont l'air d'avoir augmenté de manière insidieuse !

dimanche 23 octobre 2011

Composition de segments

Pour l'instant je n'ai parlé que de prix pour des voyages sans correspondance. Quand un trajet comporte une ou plusieurs correspondances, le voyage est dit être composé de plusieurs segments.

Pour faire court, pour un voyage donné il est intéressant de mettre le plus de trajets simples sur un même billet afin de bénéficier de la dégréssivité de bout en bout[0]. Ce qui suit concerne donc la tarification des voyages à plusieurs segments. Elle est assez compliquée, je vais essayer d'être exhaustif.

Comme toujours il s'agit de l'état actuel de la tarification. Je ne sais pas combien de temps les choses resteront en l'état. En fait je ne garantis même pas que ce que je raconte corresponde à la réalité.

Tarifs différents

Quand le code tarif n'est pas le même entre les différents segments, en général il n'est pas possible d'émettre un seul billet (ne pas oublier qu'un billet peut nécéssiter plusieurs pages). Ce cas se produit généralement quand on veut effectuer un voyage et qu'on dispose d'un abonnement valable uniquement sur une partie du trajet.

Lorsqu'on fait apparaître une fausse correspondance, c'est à dire qu'un trajet sur le même train se trouve séparé en deux billets distincts, on dit qu'une soudure a été effectuée. (Par exemple, je souhaite prendre un TGV entre Bordeaux et Paris alors que je dispose d'un abonnement demi-tarif pour la section Poitiers-Paris : je vais avoir envie de faire une soudure à Poitiers.) En fonction des cas, elle est autorisée ou non. Si la soudure se situe à un arrêt effectif du train, il suffit juste de sortir pour composter le second billet. Sinon elle n'est en général pas autorisée. En théorie une soudure n'est pas intéressante si les deux trajets sont au plein tarif à cause de la dégressivité, mais ça n'est pas toujours vrai pour les trajets internationaux, où une soudure au niveau du dernier arrêt en France est souvent intéressante.

Segments compatibles

Un autre cas simple est le cas où les segments sont compatibles, c'est-à-dire que les classes de service et la période correspondent (je crois que c'est le seul cas possible). Dans ce cas la tarification est faite de bout en bout (i.e on fait comme si l'arrêt intermédiaire n'existait pas), ce qui compte tenu de la dégressivité importante sur TGV est favorable à l'usager.

Sur les trains à gestion fine, il faut aussi que l'arrêt soit un arrêt raisonnable au regard du trajet. Par exemple, si vous voulez combiner Paris → Nice et Nice → Lyon, le tarif appliqué ne sera pas le tarif Paris → Lyon de bout en bout. La condition technique doit certainement être que la somme des kilomètres doit être inférieure ou égale au kilométrage de référence du prix de bout en bout. En réalité ces cas sont rares, la SNCF privilégiant les relations sans correspondances.

Deux remarques intéressantes :

  • Je ne crois pas que la SNCF applique ce qui s'appelle dans le monde aérien la tarification par « classes virtuelles » ou par « bid price ». On pourrait imaginer pouvoir combiner deux trajets même si les classes de service ne sont pas égales, en considérant la classe de service du segment assurant le maximum de revenu (dans une classe de confort donnée). Du coup, comme la dégressivité sur TGV est nettement supérieure à la dégressivité générale, on peut avoir intérêt à effectuer une réservation dans une classe de service moins restreinte (comprendre : plus chère) que celle qui est disponible au moment de l'achat de façon à avoir un tarif de bout en bout. Je ne pense pas que voyages-sncf.com le fasse, ou que beaucoup de guichetiers soient au courant de cette subtilité.
  • Sur les trains sans gestion fine, le tarif de bout en bout est évidemment le tarif général, mais en fonction des détails du billet, le prix peut être légèrement différent. Sur les billets ouverts (type DT)[1] sans mention d'horaire le prix est réellement le prix au kilomètre sur la somme des kilomètres. Sur les billets à train désigné (type DV notamment), une correspondance a tendance à faire un billet moins cher de 10 centimes d'euros, certainement sous l'effet d'arrondis.

Segments incompatibles (ou hétérogènes)

Les segments compatibles sont d'abord regroupés entre eux et traités comme un seul segment par la suite.

Ce qui suit correspond au cas général, qui est le plus fréquent.

Il est indiqué dans les tarifs voyageurs (point 1.7 de la gamme tarifaire) que « le prix de chaque segment ou chaque ensemble homogène de segments est affecté d'un coefficient intégrant, sur l'ensemble du trajet (…), la dégressivité de prix contenue dans la formule de calcul du tarif de base général. ». Au pire, donc, on profite d'une dégressivité semblable au tarif normal.

On pouvait imaginer plusieurs possibilités pour coller à cette formulation. Manifestement il faut faire appel à la formule du tarif normal :

  1. Pour chaque segment, prendre son kilométrage et faire le rapport entre le prix au kilomètre du tarif normal pour ce kilométrage et le prix au kilomètre du tarif normal pour la somme des kilomètres. Appliquer ce coefficient au prix initial du segment. Cette formule a l'avantage que si tous les segments sont effectivement au tarif normal, alors le prix total est effectivement le tarif normal.
  2. Pour chaque segment, prendre son kilométrage et faire le rapport entre le tarif normal pour ce kilométrage et le tarif normal pour la somme des kilométres. Appliquer ce coefficient au prix initial du segment. Cette configuration serait gênante pour le cas de segments de petit kilométrage mais très chers. Leur prix se ferait diluer par des segments longs et peu chers.
  3. Multiplier le prix de chaque segment par le rapport entre le prix du tarif normal pour la somme des kilomètres et la somme des prix du tarif normal pour les kilométrages de chaque segment. De même que pour la première formule, on a la propriété que si tous les segments sont effectivement au tarif normal, alors le prix total est effectivement le tarif normal.
En prenant l'exemple de deux segments de prix P1 et P2, de kilométrage 1 et 2, et P() la fonction du tarif normal en fonction du kilométrage, les trois possibilités donneraient (navigateur supportant MathML nécéssaire) :
  1. P 1 ( P ( 1 + 2 ) ( 1 + 2 ) 1 P ( 1 ) ) + P 2 ( P ( 1 + 2 ) ( 1 + 2 ) 2 P ( 2 ) )
  2. P 1 P ( 1 ) P ( 1 + 2 ) + P 2 P ( 2 ) P ( 1 + 2 )
  3. P 1 P ( 1 + 2 ) P ( 1 ) + P ( 2 ) + P 2 P ( 1 + 2 ) P ( 1 ) + P ( 2 )

Sauf qu'en fait ce n'est pas ce qui est fait. Après plusieurs essais, je pense que l'idée est de calculer les kilométrages fictifs correspondant au prix de chaque segment comme s'ils étaient au tarif normal, de sommer les kilométrages fictifs et de calculer le prix correspondant avec le tarif normal. Ce qui donnerait, P-1() représentant la fonction inverse du tarif normal (toujours avec MathML) : P ( P - 1 ( P 1 ) + P - 1 ( P 2 ) )

Plus en détails, si l'on veut que ça marche en vrai, il faut changer un peu P() et P-1(). Je pense qu'il s'agit bien d'un tarif normal, mais qu'il s'agit du tarif normal datant de l'introduction des tarifs de marchés et qu'elle n'a pas été changée depuis. Pour la simuler, j'ai cherché un facteur γ[2] qui pourrait correspondre. Après divers essais je pense qu'il vaut γ=0,795. On remarquera que c'est légèrement moins dégressif que le tarif normal (pour lequel γ=0,78). Sauf que ce n'est pas encore exactement ça. Même si ça marche relativement bien pour les trajets au plein tarif, ça ne marche pas pour les tarifs réduits, notamment pour les trajets incluant des réductions en pourcentage sur des trains à réservation facultative. J'exposerai une autre fois mes théories sur comment améliorer la formule.

[0] Au maximum 8 par billet, et souvent cela nécéssite de passer par un humain, voyages-sncf.com étant actuellement incapable de proposer des trajets avec plus que trois segments.

[1] Je parlerai une (en fait probablement plusieurs tant le sujet est vaste) autre(s) fois des détails de billetterie.

[2] Comme expliqué dans la première entrée, le tarif normal est très proche d'une loi de puissance paramétrée par un facteur γ.

vendredi 14 octobre 2011

Tarifs de marché épisode 2

En tentant un résumé simplifiacteur de l'entrée précédente, on pourrait dire que les tarifs (dans le sens tarif carte 12/25, tarif loisir, Prem's)) servent à segmenter la clientèle (objectif n°1) tandis que les niveaux de prix (à l'intérieur d'un tarif) sont l'outil permettant de remplir l'objectif n°2.

Le tableau qui suit est un extrait des tarifs pratiqués sur la relation Paris-Bordeaux, au 12 octobre 2011[1] :

Prix (EUR) pour un adulte en fonction du code tarif, de la classe de service et de la période

Cl. scePNPPCode Tarif
BP70,8085,90PN00
(plein tarif)
AP113,80113,80
BD27,5033,00CJ11
(12/25)
C34,0039,00
B39,0043,00
A49,0061,00
P52,0064,00
AD41,0045,00
C54,0063,00
B59,0070,00
A60,0071,00
P85,0085,00
BD34,0042,00 SR11
(sénior)
CL11
(escapades)
EF11
(enfant+)
C39,0047,00
B47,0055,00
A51,0062,00
P52,0064,00
AD49,0056,00
C56,0067,00
B59,0070,00
A60,0071,00
P85,0085,00
BJ45,0055,00PR11
(loisir)
I57,0070,00
H62,0072,00
G66,0081,00
P70,8085,90
AJ65,0073,00
I72,00??
H78,0085,00
G81,0096,00
P113,80113,80
BF76,5092,00FA00
(PRO)
AF119,50119,50
BF38,0046,00FQ50
(fréquence)
FF50
(forfait éch.)
AF59,5059,50
BZ22,0025,00N/A
(Prem's)
Y34,0039,00
N41,0047,00
AZ40,0045,00
Y47,0052,00
BWf(XX)f(XX)PPXX
(promos)
AWf(XX)f(XX)

Un certain nombre d'explications pour lire le tableau sont nécéssaires :

  • Ce tableau n'est pas complet, il a été rempli en cherchant les prix proposés sur les prochains mois. "??" indique que je n'ai pas trouvé de train proposant le prix : soit il est identique à un prix voisin, soit le contingent est très peu utilisé.
  • La classe de service est formée en prenant les lettres des deux premières colonnes. La première lettre indique la classe de confort, "A" pour la 1ère et "B" pour la seconde (il y a d'autres classes de confort, notamment dans les trains de nuit). La deuxième lettre indique le contingent proprement dit.
  • Le code tarif se lit dans la colonne la plus à droite. Il est toujours formé d'un couple de lettres suivi d'un nombre à 2 chiffres et respecte une certaine logique. Les tarifs en ..11 sont l'essentiel des tarifs sur lesquels le prix varie en fonction de l'occupation.
  • "PN" et "PP" indiquent la période du train, pointe ou normale
  • Le prix dépend donc de la période du train (qui est pour l'instant fixée à l'avance), de la classe de service et du code tarif.
  • Les contingents de Prem's (ici X,Y,Z mais je ne suis pas sûr des noms) ont des prix différents selon que le TGV est normal ou 100%Prem's. Ne sont affichés que les prix pour les TGV normaux. Les TGV 100%Prem's existent en période normale et de pointe (ce que je viens d'apprendre).

Quelques règles concernant les classes de contingence (à prendre avec des pincettes) :

  • La classe "P" représente les places au tarif de référence, ainsi que les places à réduction garantie des cartes commerciales. Elle n'est pas contingentée (hormis par le nombre de places physiques dans le train).
  • La classe "F" n'est pas non plus contingentée. Elle est utilisée par les tarifs type "PRO". Cette différentiation entre "F" et "P" permet de fournir simplement des services supplémentaires aux tarifs "PRO", comme un placement privilégié dans certaines voitures (typiquement l'Espace Pro 1ère).
  • On remarque que les classes "A","B","C","D" sont partagées par la totalité des cartes commerciales (et d'autres choses comme semble-t-il les correspondances Eurostar). On en conclue que les porteurs de telles cartes sont considérés comme un seul segment de clientèle par la SNCF.
  • Les Prem's Promotionnels sont mis dans la classe "W", et chaque nouvelle opération promotionnelle se voit attribuer un code tarif en PP.. (et un texte explicatif pour la billetterie) comme PP03 par exemple.
  • Les Prem's (classes Z, Y et X) n'ont pas de code tarif (au moins dans les TGV normaux), ce qui permet d'avoir un billet en correspondance avec un autre tarif.
  • Certains tarifs étaient valables dans toutes les classes (typiquement Fréquence, Forfait), mais je ne sais pas si c'est encore le cas.

Exemple de lecture du tableau : si vous avez une carte Sénior et que vous vous y prenez vraiment longtemps à l'avance sur un train en période de pointe, le prix en seconde sera de 42 EUR (BD SR11 PP). Au fur et à mesure du temps les contingents se rempliront (ou seront fermés) et le prix passera à 47 EUR (BC) puis 55 EUR (BB), 62 EUR (BA) et finalement quand tous les contingents limités seront épuisés il ne restera plus de places qu'en BP et le prix vaudra 25% de réduction (suivie d'un arrondi) sur le plein tarif, c'est à dire 64 EUR. Parallèlement le prix pour les autres cartes de réduction augmentera au même moment puisqu'ils utilisent les mêmes contingents.

Analyse des prix

Rapidement :

  • Les prix Prem's ont tendance à être forfaitaires pour les relations longues. Le prix d'appel de 22 EUR se retrouve dans à peu près toutes les relations TGV longue distance.
  • Les prix carte de réduction et loisir réduit sont en gros calculés en pourcentage (qu'on peut retrouver facilement) de réduction par rapport au plein tarif, auquel un arrondi a été appliqué. Ce n'est qu'approximatif car les différents paliers sont augmentés (et donc chargés à la main dans le système de réservation) au fil de l'eau et non pas au moment de l'augmentation des prix de janvier. Par exemple jusqu'à récemment (au moins) le tarif en BD CJ11 PN sur Paris-Arras valait 60% de réduction sur le plein tarif de 2007, ce qui fait plus que 60% de réduction sur le plein tarif de maintenant.
  • En première les tarifs les plus bas sont calculés en pourcentage de réduction sur la base d'un plein tarif fictif bien plus faible que le plein tarif, et ceci afin de rendre la première plus attractive. Par conséquent en première les réductions peuvent dépasser largement les 50%/60% de réduction promis dans les documentations commerciales.
  • On remarque que les paliers les plus faibles de Loisir sans carte sont très avantageux par rapport au reste des prix. Ils constituent un prix d'appel, et il n'y a aucun doute que le nombre de place dans ces contingents est réduit à la portion congrue. Clairement le but des tarifs loisirs sans carte n'est pas d'encourager à prendre le train (les Prem's sont faits pour ça) mais bien de répartir la charge des trains pleins vers les trains moins plein (je suis persuadé qu'une différence de quelques euros suffit dans ces cas là).
  • La carte escapades proposait au départ une réduction maximale de 40%, mais ce 40% était valable en C et D. La carte n'était pas si inintéressante que ça en supposant que les places en D sont rares alors que les places en C le sont netttement moins. Récemment le taux maximal a été porté à 50%, mais pendant quelques mois qui ont suivi ce changement le prix était à 50% en D et en C, ce qui a rendu la carte Escapades plus intéressante au niveau tarifaire que la carte sénior. Cette anomalie a été corrigée (silencieusement bien sûr) rapidement, mais ça ne m'a pas empêché d'en profiter.

Remarques supplémentaires

Toute la tarification n'est pas donnée par cette analyse. Par exemple rien n'est dit concernant les quantités de places attribuées dans chaque classe de contingence. Gérer la quantité de places constitue le cœur de métier de l'analyste, qui utilise des modèles de demande paramétrés par l'expérience. Ça n'empêche pas de se rendre compte d'évidences. Par exemple au moment des fêtes ou vacances il est tout à fait possible qu'aucune place à prix réduit ne soit disponible quelle que soit l'anticipation car il est connu que les trains seront complets. Il n'y a donc aucun intérêt (comptablement) à proposer des places réduites (commercialement on peut quand même avoir intérêt à en proposer quelques unes).

[1]Tableau issu d'observations et non de quelconques documents de référence. Je ne prétends pas être exhaustif et ces chiffres sont donnés sans AUCUNE garantie.

dimanche 2 octobre 2011

Principes généraux de yield management, le cas de la SNCF

Le yield management (ou « gestion fine » dans le jargon SNCF) c'est quoi ? L'idée générale est d'extraire le plus d'argent possible étant donné qu'on dispose d'une ressource limitée et périssable. Le yield management est donc particulièrement adapté aux cas des transports (une place vide est une place perdue dès que l'avion décolle) ou des prestations hôtelières. La discussion qui suit part du cas du rail façon SNCF, mais les concepts généraux s'adaptent facilement au cas de l'aérien et dans une moindre mesure à l'hôtellerie. Je tenterai de rester général, les détails techniques viendront une autre fois.

Au delà de la phrase volontairement provocatrice, le yield management recouvre en fait plusieurs concepts :

  1. Augmenter le nombre de clients, soit par report (on veut attirer la clientèle qui prend sa voiture au lieu de prendre l'avion), soit qui ne voyage pas.
  2. Parmis sa clientèle aquise, obtenir un report des trains pleins vers les trains vides afin de libérer des places pour la clientèle prête à payer plus.
  3. Être rentable.
Ces objectifs peuvent s'opposer. Par exemple si on ne garde que le premier objectif en vue on risque de voir les profits s'effondrer et d'avoir une mauvaise satisfaction client.

Je vais parler de deux outils utilisables pour réaliser ces objectifs. Notez qu'ils sont indépendants et peuvent être mis en œuvre séparément l'un de l'autre.

La segmentation de la clientèle

L'un des premiers outils à disposition pour réaliser ces objectifs est la segmentation de la clientèle, c'est à dire de réussir à proposer à la clientèle (ou enfermer celle-ci) des services/tarifs en fonction de ce que l'on estime être ses besoins. Deux exemples mis en place à la SNCF[0] :

  • Exemple n°1 : pour toucher les gens qui ne prennent pas trop le train ont été mis en place les Prem's[1], et plus récemment les Prem's Promotionnels qui font l'objet de campagnes de publicité et dont l'objectif est clairement d'attirer le chaland. Outre leur prix réduit, ils sont non échangeables et non remboursables pour éviter que ce segment ne soit envahi par la clientèle à priori plus aisée des "Loisir", ce qui rendrait le procédé inutile. Leur faible disponibilité s'explique de la même façon.
  • Exemple n°2 : la dissociation entre la gamme PRO et Loisir. Le nom indique plus ou moins quelle clientèle est visée. Dans la gamme PRO (qui comporte outre le Tarif Pro, les abonnements Fréquence, Forfait et les militaires) le billet est flexible et accompagné de différents services (échange facilité, réservation de taxi, repas à la place etc.). La gamme loisir regroupe le reste des tarifs, qui est elle-même segmentée en plusieurs gammes. Par exemple pour tenter d'éviter d'offrir des prix réduits aux voyageurs en déplacement professionnels qui se décident souvent vers le tard (et peu sensibles au prix) il a été créé le tarif loisir week-end où il faut inclure la nuit du samedi au dimanche; sans cette condition[2] il faut s'y prendre plus de 10 jours à l'avance. Le même principe se retrouve (multiplié par dix) dans les tarifs des compagnies aériennes classiques. Dans un autre registre les cartes de réduction commerciales (12/25, escapades, senior) fidélisent le client et segmentent par l'utilisation plus importante des transports.

Gestion dynamique des stocks

Le deuxième objectif est rempli en faisant varier le prix en fonction du remplissage du train, de manière à inciter la clientèle moins rentable à se reporter sur les trains moins remplis, libérant de la place pour les clients plus rentables (dits « à forte contribution »). En gros, moins le train est rempli, moins c'est cher et inversement. En fait c'est plus compliqué que ça, le remplissage est indépendant pour chaque catégorie de clients (donc segment de clientèle pour ceux qui suivent).

Pour chaque segmentation (et éventuellement sous-segmentation) de clientèle on définit un groupe de classes de contingences (ou classe de service)[3] dont on fait varier la quantité en fonction des besoins de sorte que les trains plus remplis soient moins attirants que les trains moins remplis. Un tarif donné n'est donc valable que dans certaines classes de service et vaut d'autant moins cher que la classe est restreinte. Par exemple tous les tarifs PRO se partagent la même classe de service unique (dans une classe de confort donnée : 1ère, 2nde, couchette etc..), alors que les tarifs à carte de réduction se partagent plusieurs classes de service communes. Au fur et à mesure du remplissage du train les places dans les classes restreintes (avec leur tarif faible) disparaîssent et il ne reste plus que des places dans les classes moins restreintes. Grosso-modo, si vous avez une attaque de clients avec carte de réduction sur un train, à priori les tarifs loisirs sans carte ne seront pas impactés. En réalité comme la gestion est faite en temps réel il y aura peut-être un algorithme (ou un humain) qui réduira aussi la disponibilité pour les voyageurs sans carte[4].

La SNCF se réserve aussi la possibilité d'augmenter en bloc (c'est la période du train) tous les tarifs pour les trains qui sont typiquement plus demandés, ou qui se remplissent aussi vite dans tous les segments.

Au final le nombre de paramètres d'ajustement est assez faible, le reste est déterminé de manière automatique par les tarifs. L'ajustement est fait d'après des modèles d’élasticité de la demande et/ou par le pifomètre de l'analyste. Quelques règles sont néanmoins pratiquement toujours observées. Par exemple une classe de service épuisée ou fermée n'est en principe pas ré-ouverte, ce qui assure que les tarifs ne font qu'augmenter. Ceci est en partie dû au fait que une grande partie des billets sont échangeables, ce qui fait qu'il y a un loophole évident pour les passagers ayant un billet plus cher que le prix du moment

Dans l'aérien cela fonctionne plus ou moins de la même manière : toutes sortes de tarifs automatiques sont définis (selon la durée de séjour, l'anticipation etc.). Leur prix dépend du prix maximum fixé et de la classe de contingence. Le levier habituel est donc de jouer sur les quantités de places dans les différentes classes de contingence, éventuellement sur le prix maximum, le tout sans toucher aux règles ou aux prix des différents tarifs. Dans un certain sens le travail est plus facile dans l'aérien, car une relation donnée est sans escales et possède une clientèle bien plus homogène que dans le rail.

[0] Ces deux exemples sont en réalité l'essentiel des segments de clientèle que les gens sont amenés à observer sur TGV. Mais pas chez iDTGV : chez eux, pas de segmentation de clientèle, tout le monde est à la même enseigne.

[1] Et dont l'introduction date d'avant la refonte tarifaire de 2007. Clairement le yield management n'est pas tant une nouveauté que ça.

[2] Ça n'est pas toujours vrai. On voit parfois, surtout en fin de semaine des trains où les paliers loisir réduit sont accessibles sans condition d'A/R. Mais quand on joue à ça il y a un risque de dé-segmenter la clientèle et d'avoir une fuite des tarifs PRO à la marge plus confortable vers les tarifs loisir par effet d'aubaine. Tout est donc dans l'art de ne pas abuser du procédé.

[3] En anglais "fare bucket".

[4] Et parfois cela peut avoir comme conséquence que le prix en première est moins cher que en seconde. Il peut rester du Prem's en première alors qu'il n'en reste plus en seconde. Autre exemple où cela se produit souvent est les trains internationaux quand on s'en sert pour faire un trajet national. La première ne suit pas exactement les mêmes règles pour les trajets trans-frontières et l’aberration de tarif ne se corrige pas toute seule car l'essentiel de la clientèle va à l'étranger. Il va de soi que dans l'aérien ce deuxième cas n'est pas possible car pas d'escales.

mardi 13 septembre 2011

Tarification en Île de France

Avant que le projet du Grand Paris ne change tout, j'aimerais parler un peu (?) de la tarification actuelle de l'offre de transports en Île-de-France.

Actuellement, cette région bénéficie de l'unification tarifaire, qui fait que quasiment tous les transports en commun de la région sont gérés par le STIF (Syndicat des Transports d'Île-de-France). C'est à dire que le STIF décide des dessertes, plans de transports, tarification etc..[1]

La tarification en Île de France fonctionne en gros de la manière suivante :

  • Des abonnements ciblés selon le public, les subventions, la durée[2].
  • Le ticket de métro sert d'unité tarifaire.
  • Des billets Origine - Destination pour le train en dehors de Paris.
  • Quelques billets spéciaux, comme par exemple les billets aéroport par bus.

Les billets sont disponibles en carnet, ce qui donne une réduction de généralement 20% pour les billets origine-destination et plus encore pour les tickets de métro.

Les abonnements sont assez simples, l'Île de France est divisée en plusieurs zones (au nombre de 5 depuis la fusion des zones 5/6 de juillet 2011), et les prix varient en croissant en fonction du nombre de zones concernées et de la durée.

À Paris et dans les bus de banlieue il est fait usage du ticket de métro. Dans Paris un seul ticket suffit, et dans les bus de banlieue on doit composter un ou plusieurs tickets de métro en fonction du nombre de sections tarifaires traversées (on trouve sur le site du stif un manuel destiné aux entreprises de bus donnant les règles pour sectionner une ligne). Je crois qu'il ne reste plus beaucoup de lignes où il reste plusieurs sections.

Là où ça devient nettement plus compliqué c'est pour les billets origine-destination (historiquement il fallait aussi composter plusieurs tickets de métro dans les trains). La seule indication du fonctionnement dans la documentation grand public est "Le prix varie selon la distance", ce qui est à peu près le premier niveau au dessus du contenu vide.

Si on fouille un peu, on trouve dans le recueil des actes administatifs du STIF (là j'ai pris celui juste avant juillet 2011, donc celui qui a le plus de chances de parler des augmentations tarifaires) un tableau de tarifs un peu plus précis.

Si on continue de fouiller, on voit que les prix des aéroports est fixé en supplément du prix géographique, selon différentes règles.

Malheureusement, peu de notices. Voici donc ce que j'ai réussi à compiler en faisant des essais de prix grâce à cet outil.

La tarification se fait donc de section à section tarifaire (qui n'ont rien à voir avec les zones des abonnements), et plus on traverse de sections plus c'est cher. Même sans rajouter les fourches et les triangles c'est plus compliqué que juste le nombre de sections traversées.

Par exemple sur le RER B les prix semblent être dans l'ordre (110, 120, 130, 140, 141), et depuis 2011 (ça ne se voit pas dans mon fichier openoffice, mais je le sais parce que j'observe les prix depuis un moment) les prix spéciaux 730, 740, 750, 760. De banlieue à banlieue 10,20,30,40 en fonction du nombre de sections traversées[3]. Remarquez comme la station Lozère est toute seule dans sa section (pourquoi?) et que le prix n'est pas juste fonction du nombre de sections traversées.

Autre règle que j'ai fini par deviner concerne les prix d'une gare à une autre en passant par Paris : additionner le prix des codes tarifs auxquels on a retiré 100, plus celui du module U (comme "section Urbaine") :

  • Par exemple je veux faire le trajet Bougival -> Orsay-ville via la section Urbaine. Orsay -> Paris est en 750 (anciennement 140) et Bougival->Paris en 140. Je fais donc 40+40+module U, soit 3,05+3,05+1,20 = 7,30 EUR. Coup de pot, l'outil me donne bien 7,30 EUR. L'affichage du prix permet d'ailleurs de confirmer que Paris->Bougival est bien en 140 et non pas en 150 (tous les deux à 3,95) parce que le prix 50 est plus élevé (3,20) que le prix 40 (3,05).
  • Autre exemple, je veux aller de Orsay-Ville à Etampes, toujours via la section urbaine. Le prix pour aller de Paris à Étampes est de 8 EUR, ce qui correspond au codes tarifs 147,167 ou 168. Comme le prix total est de 11,45 EUR, j'en déduis que le code tarif Paris -> Étampes est en fait 147, parce que 11,45-3,05-1,20=7,20 et que le seul code tarif à 7,20 EUR est le 47.

Pour les autres correspondances, j'imagine que les tarifs sont additionnés quand on change de réseau, par exemple lorsqu'on passe du RER C au RER B, dans des trajets comme Étampes à Orsay via Massy, où le prix (8,60) est clairement l'addition de Massy - Orsay (1,70) et de Massy - Étampes (6,90). Ça n'est évidemment pas terrible pour la dégressivité.

Si on cherche des indications de section tarifaires, le mieux qu'on trouve sont les décisions du STIF qui concernent l'ajout d'une nouvelle gare. Comme le recueil des actes sur internet ne remonte pas très loin, je n'ai trouvé que deux gares qui sont "Val d'Europe" (section T 11) et "St Ouen l'Aumône - Liesse" (section T 10), et évidemment sans indication de ce qu'il faut faire des noms. Je présume que toutes les règles ont été ajoutées les unes après les autres avec l'agrandissement de la périphérie des transports parisiens. Il est évident qu'il existe un document interne consolidant les règles, mais je ne sais pas comment il faudrait faire pour l'obtenir. Si je voulais le reconstituer, il faudrait que je me farcisse l'ensemble des décisions du Sydicat des transports Parisiens (l'ancien nom du STIF) depuis les années 50, en faisant une demande d'accès aux archives.

N'ayant pas tant de temps que ça je n'ai pas insisté et j'attends la réforme des tarifs[4] !

[1] Dans les autres régions, généralement l'offre de transports est gérée de manière différente : l'offre de train (et de façon très encadrée la tarification) est décidée par la région, tandis que l'offre de bus est souvent décidée au niveau du département. La SNCF est généralement chargée des aspects techniques de l'offre train (billetterie, circulations), et les lignes de car sont attribuées par appels d'offre.

[2] Notez que l'abonnement Carte Orange zones 1-2 mensuel est peu rentable. Si l'on suppose que l'usager prend le métro matins et soirs de semaine pour aller au bureau, le coût total par mois est d'environ 55 EUR en prenant des carnets de tickets à 12.5 EUR, et de 62 EUR en prenant l'abonnement mensuel. À l'année (11 mois), ça fait 605 EUR avec des carnets, 682 EUR avec des navigos mois, 633,60 EUR avec un navigo à l'année. En plus l'abonnement mensuel commence forcément le 1er du mois, ce qui est nul, parce que cela crée une injustice pour les gens ayant besoin de se déplacer du 15 au 15, ainsi que des files d'attente monstres le premier du mois. Ma théorie est que l'abonnement est en fait une subvention déguisée par l'employeur qui est censé en rembourser la moitié, ce qui fait que le prix final payé par l'abonné est moindre. Mais rien n'empêche l'employeur de rembourser aussi les tickets !

[3] Une anecdote rigolote qui ne m'a pas fait rire quand ça m'est arrivé : La gare de Massy Palaiseau est en fait deux gares pour le système de tarification. En effet, la distance pour y arriver depuis Paris par le RER C est nettement plus grande que par le RER B. Si vous prenez vos billets pour Paris dans un distributeur SNCF, on vous fera payer le prix 141 au lieu du prix 130, quand bien même vous pensez prendre le RER B.

[4] En attendant vous pouvez quand même essayer d'inonder le STIF de demandes de manuel !

jeudi 8 septembre 2011

Ensuite vinrent les tarifs de marché

Comme je le disais la dernière fois, le tarif normal souffre de limitations quand il s'agit de gérer les flux de voyageurs. Notamment il n'y a quasiment aucune modulation pour les voyageurs sans carte et pour les porteurs de carte la modulation est décidée un an à l'avance par la mise en place de périodes bleues et blanches.

Il a donc été créé des trains à gestion fine, c'est à dire où le prix est modulé en fonction de la demande et du remplissage (dudit train ou des autres trains). Par ailleurs ces trains étant généralement rapides, avec peu d'arrêts ou plus confortables, la SNCF a l'autorisation de faire payer plus cher, y compris pour le plein tarif. Jusqu'à la refonte des tarifs de la fin 2007 ce tarif s'appellait encore « Tarif Normal », et était modulé par la « période » qui pouvait être « de pointe » ou « normale » (mais uniquement en seconde, le plein tarif de la première classe n'est pas modulé en fonction de la période.). Depuis la refonte des tarifs de 2007, ce plein tarif est devenu « Tarif Loisir » et s'est retrouvé accompagné d'une floppée de paliers réduits appellés aussi jusqu'à récemment par le même nom[0]. La confusion règnant, les tarifs ont été renommés en « Plein Tarif Loisir » et « Loisir Réduit » pour indiquer aux gens quand il bénéficiaient de réductions. La refonte a aussi amené des tarifs plus cher, nommés « Pro », destinés à la clientèle ayant besoin de flexibilité, mais il n'en sera pas vraiment question ici. Les trains sur lesquels on trouve ces tarifs sont principalement les TGV, les Téoz et les Lunéa (l'essentiel des trains de nuits), trains sur lesquels la réservation est obligatoire et pour lesquels il faut avoir une réservation pour le train dans lequel on monte, sauf exceptions.

Pour récapituler, si vous voyagez en TGV, que vous vous y prenez mal (au dernier moment, ou lors des grosses pointes), le tarif le plus faible proposé sera le Plein Tarif Loisir. Il n'est pas contingenté.

À priori, le « Plein Tarif Loisir » est donc un tarif de marché, il n'y a donc pas de relation aussi simple entre le kilométrage et le prix payé que pour le Tarif Normal. Et en effet, pour les TGV circulant sur ligne à grande vitesse (LGV) c'est le cas. On trouve dans le volume 6 des tarifs voyageurs[1], section 1.2.3 probablement l'ensemble des prix pratiqués pour les relations directes desservies par TGV et avec emprunt de ligne à grande vitesse. À titre d'exemple, on y lit que le plein tarif 2011 en 1ère pour Paris - Nantes vaut 109,70 EUR, et que pour Paris - Bordeaux il vaut 113,80 EUR, pour des kilométrages reportés[2] de 396 km et 581 km. En considérant qu'il existe un facteur γ entre les kilomètres et le prix, on obtient γ = (Log(113,80)-Log(109,70))/(Log(581)-Log(396)) = 0,096. Peu probable. Ceci indique quand même que la dégressivité est très importante sur TGV.

Mais qu'en est-il des relations sans parcours à grande vitesse ? Prenons le cas de la ligne entre Nîmes et Bordeaux, qui a l'avantage de posséder beaucoup d'arrêts, d'être longue et de voir du traffic TGV et Téoz[3]. Pour avoir les distances j'ai cherché les TER parcourant cette ligne et inversé la fonction de prix (j'aurais pu aussi consulter un vieux manuel Chaix ou encore l'article Wikipédia : Ligne_Bordeaux - Sète).

Et voici donc le plein tarif loisir 2nde en fonction de la distance pour les TGV[4] :

Pour les Téoz :

Il s'agit donc bien d'une fonction du même type que le tarif normal, le TGV étant légèrement plus cher (mais avec probablement la même dégressivité) que les Téoz. Pas de tarifs de marché[5]. On ne le voit pas sur le graphique, mais on peut aussi remarquer que le plein tarif sur TGV ne dépend pas de la période du train. La période ne sert donc que pour des parcours avec utilisation de ligne à grande vitesse (en tout cas pour le plein tarif, je ne me prononce pas pour les tarifs réduits).

On peut même s'amuser à retrouver les paliers pour prédire le prix au centime près, mais je ne vais pas vous l'imposer.

On peut dire le même genre de choses sur le tarif PRO : sur Téoz il s'agit d'une somme fixe ajoutée au tarif loisir. En revanche sur TGV le montant n'est pas fixe (dépend de la distance j'imagine), il y a en plus un arrondi au ½ centime près ce qui complique un peu l'analyse, mais ça reste très simple, et ça tend vers 5% en plus pour les longs trajets.

Pour ceux que ça intéresse, le fichier openoffice est disponible ici : teoz_tgv_non_lgv.ods. Remarquez notamment comme les prix des relations Montauban - Agen et Sète - Narbonne sont identiques, pour un kilométrage identique. Si les graphiques ne suffisaient pas, ceci achève de convaincre.

[0] Mais pas forcément le même code tarif. J'en parlerai plus tard.

[1] C'est loin d'être la dernière fois que je ferai référence aux "Tarifs Voyageurs" ! On peut les trouver sur la page du guide du voyageur SNCF.

[2] Généralement le kilométrage reporté est celui que ferait un train classique faisant le trajet le plus court entre les deux gares. Ainsi, sur un TGV Paris - Marseille le nombre de kilomètres annoncés est de 863km, ce qui correspond exactement à la longueur de la ligne classique Paris - Marseille via Lyon.

[3] L'année dernière il n'y avait pas de différence entre TGV et Téoz, le prix dépendait uniquement de la paire (non ordonnée) de gares. Maintenant les prix sont différents et j'ai donc du refaire une étude. C'est la dernière fois que je la fais à la main !

[4] Notez l'aberration, qui concerne la liaison Nîmes - Agen. Ne voyant pas pourquoi cette relation particulière devrait être plus chère que les autres, je penche pour l'erreur de report (il y aurait une entrée manuelle de tous les tarifs dans la base de données ???). Et comme elle impacte aussi le tarif PRO, je pense que le plein tarif PRO est calculé à partir du tarif Loisir, et non pas du kilométrage.

[5] On peut quand même imaginer que la constante ou le facteur de puissance varie avec les régions, mais il ne faut pas oublier que dans cette étude sont mis dans le même panier des trajets comme Montpellier - Nîmes avec des Bordeaux - Agen qui à priori n'ont pas le même marché.

mercredi 31 août 2011

Au commencement était le Tarif Normal

À la SNCF, bien que cela soit de moins en moins vrai, le tarif de base reste le « Tarif Normal ». C'est le tarif qui est appliqué quand vous n'avez aucune réduction particulière dans les trains à réservation facultative ou impossible (Corails, TER, mais pas TGV ni Téoz). Son prix est défini par une fonction publiquement documentée (rare !). Cette fonction est augmentée en principe le 1er juillet de chaque année.

La fonction est plus ou moins explicitée dans les tarifs voyageurs de la SNCF dont une nouvelle version est publiée approximativement deux fois par an à l'occasion des augmentations tarifaires publiques (normalement le premier lundi de janvier (mais ça dépend de l'avancée des négociations) et le 1er juillet). Elle prend la forme d'une fonction affine par morceaux (donc A+B× avec le kilométrage, A et B étant constants pour une plage de kilomètres).

Pour la période du 1er juillet 2011 au 30 juin 2012, la fonction pour la seconde classe vaut :

kmAB
0 à 160,69710,1742
17 à 320,22430,1940
33 à 641,85510,1432
65 à 1092,58830,1333
110 à 1493,66090,1277
150 à 1997,24450,1069
200 à 3006,95010,1083
301 à 49912,23280,0924
500 à 79916,52800,0825
800 à 99928,85460,0676

Il est précisé que le prix en première classe s'obtient en multipliant le prix de seconde classe par 1,5. Pour information les tarifs voyageurs donnent aussi la fonction en première classe, qui s'obtient normalement en multipliant toutes les constantes par 1,5[1].

Une fois le prix déterminé (2nde ou 1ère) il est tronqué au centime (ce qui n'est dit nulle part mais que l'on peut constater expérimentalement) puis arrondi au décime d'euro supérieur. Ensuite il y a un minimum de perception (valable pour tous les tarifs), qui vaut actuellement 1,20 EUR en 2nde et 1,80 EUR en première, mais qui n'est appliqué que quand le coût du transport n'est pas nul (par exemple en cas d'abonnement). Enfin à ce prix peut se rajouter la moribonde « surtaxe locale temporaire » qui dépend des gares de départ et d'arrivée, qui vaut un petit pourcentage du prix du trajet (et qui ne peut dépasser le valeur de ce pourcentage sur un trajet de 600km), et qui ne concerne plus que deux gares en 2011. Depuis quelques temps (ça a l'air postérieur à la réforme des tarifs de 2007), si il y a une réservation associée elle est gratuite (pourvu que le prix du transport ne soit pas nul).

Si on trace le prix en fonction du nombre de kilomètres, ça donne ceci :

On remarque d'abord que le prix est dégressif en fonction du nombre de kilomètres : il est facile de voir que le prix marginal (c'est à dire le prix qui est payé pour un kilomètre supplémentaire) représenté par la constante B diminue, mais même si on tient compte de la constante A le prix moyen au kilomètre diminue.

On remarque aussi que la fonction de prix s'inverse facilement. Si vous voulez le kilométrage qu'applique la SNCF sur une relation, trouvez un TER ou un Corail qui la réalise (si c'est possible) et utilisez le tarif normal pour retrouver la distance.

Mais il y a mieux : Si on trace le logarithme du prix (sans compter les arrondis) en fonction du logarithme de la distance, le résultat est trop beau pour être une coincidence :

On peut donc affirmer sans trop se mouiller que le tarif normal est en réalité la linéarisation par morceaux d'une loi de puissance de la forme P = K×ℓ γ, avec K = 0,4508 et γ = 0,7802. Cette forme est très satisfaisante puisqu'elle est sans échelle, comme beaucoup de processus faisant intervenir une quantité qui n'est pas négative. Doublez les kilomètres, vous aurez le même pourcentage de réduction quelque soit le kilomètrage de départ.

Évidemment un tarif de ce genre est éloigné des coûts réels de transports (surtout qu'il est valable au niveau national), mais il ne faut pas oublier qu'il est difficile de mettre un prix sur une chose dont le coût marginal pour un utilisateur supplémentaire (essence, électricité) est très faible par rapport au coûts fixes (salaires, entretien etc.). Je ne sais pas comment ni quand a été fait ce choix de fonction sans échelle pour l'établissement des prix, mais je trouve le résultat très satisfaisant pour l'esprit. Au final il ne faut pas oublier que l'usager ne paye en général qu'une partie du transport.

L'inflexibilité de ce tarif valable au niveau national fait qu'il est remis en question depuis longtemps. Les deux manières actuelles sont soit de mettre en place un kilométrage commercial[2] (c'est à dire que la distance tarifaire est différente de la distance réelle parcourue), soit de mettre en place un tarif de marché en évaluant l'elasticité de la demande sur une relation donnée (TGV avec parcours sur LGV notamment), donc à priori là pas de formule puisque toutes les liaisons sont traitées au cas par cas (on peut quand même dire des choses, j'en parlerai plus tard).

Deux remarques supplémentaires :
  • je pense que la linéarisation par morceaux telle qu'elle a été faite (et telle qu'appliquée réellement) contient une erreur de report : la ligne entre 150 à 199 km semble inversée avec la ligne 200 à 300 km (prix au km plus cher et constante plus faible pour un kilométrage plus important). Si l'on s'en tient au principe de dégressivité observé en général dans cette fonction (et ailleurs dans les autres tarifs de la SNCF) il est absurde d'avoir un coût marginal au kilomètre plus élevé pour un kilométrage plus important, même si l'incidence est faible (réordonner les lignes ne change quasiment pas le facteur de qualité de la régression). Pire, cette erreur perdure sans doute depuis longtemps puisqu'à chaque augmentation annuelle A et B sont multipliées par un facteur d'augmentation (ce qui ne change pas le facteur gamma) au lieu d'augmenter la constante K et de refaire une linéarisation.
  • le kilomètre 500 a un prix négatif (499km = 58,40 EUR; 500km = 57,80 EUR). Il est vraiment temps de refaire la linéarisation à partir de zéro !

[1] Si on regarde attentivement les tarifs voyageurs de juillet 2011, il y a UNE valeur de B en 1è qui n'est pas 1,5 fois la valeur de B en seconde, avec un écart de 1 pour 10 000. Je ne comprends pas très bien comment ils ont réussi leur coup. Peut-être est-ce une erreur d'arrondi ?

[2] C'est explicitement "autorisé" par les tarifs voyageurs (voir le point 1.2 du volume 2 des tarifs voyageurs). Un exemple amusant est le Train Jaune : pour ne pas sortir du système national ce train qui sert à la fois de promeneur-pour-touristes et de TER normal pour les habitants du coin les kilomètres sont multipliés par deux sur tout le trajet. Ainsi si l'on applique la formule, on voit que les prix sont augmentés en moyenne d'environ 70% (20,78). Ça n'est évidemment dit nulle part que le kilométrage est commercial sur cette ligne.