Dev Log Week 2025-11: More Ratings

The title of this issue is pretty much what I did last week: I added rating components to the individual travel request generator :slight_smile:

Okay, yes, there’s a little bit more to it. As described before, each travel request is comprised of an individual set of preferences and aversions. Example: One passenger might value the quality of seats much more than another. Think “budget vacationer vs. movie star”.

The rating system as such is a part of the Distribution System, and large parts of that have already been implemented last year (see dev logs starting around 2024-27, I think). But since a lot of the respective code was originally written for the AS Technology Demonstrator project, and the ASTD never had any service or product settings of any kind, the only rating components that existed so far were about the basic connection quality (like travel duration, amount of stops etc.). Consequently, I started to get (almost) all the components implemented that AS currently supports:

  • Seats
  • On-board service
  • Passenger terminals
  • Dedicated freighter (for cargo)

The only one I didn’t manage to finish was image.

While adding these is mostly busy-work, the challenge comes from the fact that the current rating system pre-computes the ratings per service class and than just uses those pre-computed values when rating connections. Due to the individual nature of travel requests, this doesn’t work anymore. So all the inputs for the rating components have to be made available during demand distribution, which is a bit cumbersome due to fact that the respective code is highly optimised and as such might not the most…uhm…“ergonomic”.

On top of the mere rating components, I also added a “distance factor” for some of them. Take my example from above: Even a movie star flying First Class will care less about seats on a 300km short-haul flight than on a trip from LAX to LHR. And the other way around, the ground travel component of a connection becomes less and less relevant with increasing travel distance.

Last but not least, I added a crucial aspect of Individual Travel Requests that’s neither a preference nor an aversion: Each request will have an individual maximum budget. A connection that’s more expensive than that is out by definition, no matter how good the overall product might be or whether there are alternatives or not. In the long run, this is supposed to model the supposed “LCC effect”, namely that (U)LLCs “generate their demand” by offering such low prices that previously untapped market segments open up.

And with that, the crucial parts of “Individual Travel Request Generation” are mostly done now, so among other things, week 12 will be about how to get this new feature into large-scale testing and - eventually - released. So stay tuned (and don’t forget to leave your comments on Dev Log Week 2025-10 if you haven’t done so yet)!

2 Likes

Martin, for connecting long haul flights, most airlines, differentiate the feeder flight price in order to remain competitive. Is there a chance, we could get something similar here as well? An airline could choose to discount it by even 50% or more compared to someone flying the same feeder flight -in this case, only.

For example, Lufthansa:

ATH->MUC->ORD in C, 1617€
ATH->MUC on the same feeder flight in C, 196€
MUC->ORD for the same long haul flight in the first trip, 2195€

I think if you were to introduce a simplified system like just a set feeder price eg percentage discount amount for a flight number then I don’t see why it wouldn’t work.

However I think its worth highlighting that it wouldn’t be a very good idea to model set pricings down to each individual connection. Otherwise, especially for big airlines we’d might actually need to employ someone to keep on top of it all.

This is what fares will be all about. To tackle exactly this sort of problem.

Once fully built out, players can more or less decide themselves how fine-grained (or not) they want to design their fares. Technically, you could provide a single fare for all your flights :smiley:

Exactly the point.
In case this will be rolled out gradually and not together with the full fares overhaul, there is a need for at least a feeder price discount selector.

An easy form could be:

If the total flight number in a booking is more than 1, with at least one of them being in the long haul service class, then reduce the short/mid haul flight pairing it by x%.

I don’t think it’s going to be enough of an issue to warrant hacking together a temporary solution when the better one is already half-finished in code.

To quote myself:

Note the emphasis…the budget component will be part of the initial release of the individual travel request feature, but that doesn’t mean it’ll be as “aggressive” as it might be in later versions.

Fair enough, we will see it in practice.
Do you plan to launch a beta phase to iron out issues and fine tune the specific config before it goes live?

More info on that soon :sweat_smile:

2 Likes