Author Topic: Fuel Burn  (Read 308 times)

skeedr

  • Newbie
  • *
  • Posts: 7
    • View Profile
Fuel Burn
« on: September 28, 2018, 10:08:46 am »
Hello,

Just wondering if anyone knows, or if Patson can confirm, how fuel burn is calculated? I'm a bit of a perfectionist with things and I like to eke out as much efficiency as possible... Currently, I'm assuming that the fuel burn figure given for the aircraft is per person per KM, so for the Cessna 421, you'd end up with 0.0006/person/KM.

Thanks,

alex

  • Full Member
  • ***
  • Posts: 198
    • View Profile
Re: Fuel Burn
« Reply #1 on: September 28, 2018, 10:24:59 am »
The figures are per hour per airplane.

The cost is 0.08 * burn * flight time, although flight time is slightly modified to account for extra burn during takeoff and less during landing.

skeedr

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: Fuel Burn
« Reply #2 on: October 02, 2018, 10:29:07 am »
So, as an example, if I'm flying a CS100 with a fuel burn of 438 on a 7h34m flight (454m) that would equate to 0.08 * 438 * 454?
If not, can you post an example?

Thanks

bluesky

  • Full Member
  • ***
  • Posts: 105
    • View Profile
Re: Fuel Burn
« Reply #3 on: October 02, 2018, 12:38:46 pm »
I adapted this equation directly from the game code:

loadfactor = sold seats / capacity

if link duration < 90min
   ascend, descendtime = (link duration / 2)
   fuelburn * 10 * ascendtime + fuelburn * descendtime * 0.08 * frequency

else   #fuel burn is higher for the first 60min
   ((fuelburn * 10 * 45 + fuelburn * (linkduration - 30)) * 0.08 * frequency) * (0.7 + 0.3 * loadfactor)


Using your example: CS100 with a fuel burn of 438 on a 7h34m flight (454m) (1 flight = frequency of 1)

It's longer than 90min, so we use the 2nd equation=

((438 * 10 * 45 + 438 * (454 - 30)) * 0.08 * 1) * (0.7 + 0.3 * 1) = $30624,96

Stoich

  • Guest
Re: Fuel Burn
« Reply #4 on: October 02, 2018, 08:14:41 pm »


(0.7 + 0.3 * loadfactor)



This explains a lot of the balancing issues and why all routes need to be at 100% load factor. It needs re-balancing as a plane at 50% load is using only 15% less fuel, coupled with the random swings in passengers this is making the game a chore.

alex

  • Full Member
  • ***
  • Posts: 198
    • View Profile
Re: Fuel Burn
« Reply #5 on: October 02, 2018, 09:46:46 pm »


(0.7 + 0.3 * loadfactor)



This explains a lot of the balancing issues and why all routes need to be at 100% load factor. It needs re-balancing as a plane at 50% load is using only 15% less fuel, coupled with the random swings in passengers this is making the game a chore.

For dealing with the passenger swings, pay attention to the "Overall Quality" of the route. Route quality is determined by three factors:

  • 30% based on the number of stars you assign (1 star gives 6 points, 5 starts gives 30 points)
  • 50% based on your global service quality (100 global service quality gives 50 points)
  • 20% based on airplane condition (a 100% condition airplane gives 20 points)

So at 40% autorenew you will naturally see the route quality drift downward across a 12 point band.

Each point of route quality is worth about a 0.5% increase in price, within a certain range. If your route quality is too low for the type of route (domestic routes only really need you to be in the 30s, intercontinental want the 50s-60s) then you will actually take a more severe pricing penalty. If your route quality is too far above what passengers want for the type of route, it doesn't give any further advantage. (You can get about 25% increase in pricing power total from route quality, IIRC.)

So either you can pretty regularly fiddle downward your prices, OR you can leave money on the table and calibrate them for your lowest airplane condition. Or you could try something fancy to try to balance out planes (e.g. assign one new plane and one old plane to a route so that the average condition stays in a narrower band).

This isn't the only source of randomness but it is the primary cause of "my route that was just fine earlier is now all jagged and gross", alongside new competition on the route showing up.

bluesky

  • Full Member
  • ***
  • Posts: 105
    • View Profile
Re: Fuel Burn
« Reply #6 on: October 02, 2018, 10:07:22 pm »
My problem with the swings is this:



You can see in the left, I had an 100% load for months. Then I expanded the route, and increased the size and price from $500 to $525.
A 5% more expensive ticket led to this rollercoaster of 95%-60% load.
I would get it if it just dropped to the 60% and stayed close to that range, but then why I had weeks with 100% again?
You can see in the graph. 2.9k -> 2k -> 2.9k -> 2.2k-> 2.65k -> 1.9k -> 3.1k. The swinging is just too rough and unpredictable imho.

alex

  • Full Member
  • ***
  • Posts: 198
    • View Profile
Re: Fuel Burn
« Reply #7 on: October 02, 2018, 11:45:04 pm »
I mean, expanding the route and increasing the price means you are risking hitting the limits of the people willing to buy tickets at that price.

The way the routing algorithm works is, the perceived price varies by about +/- 25% (after all other factors are accounted for), randomly, each tick. This is re-randomized ten times per tick, although not all ten iterations are quite equal (since at later iterations some of the prospective passengers have already booked flights).

You need to set your price at the range where people will consistently want to fly the route. If you set it at or past the edge of that range, you're going to fill seats much less reliably, although you'll fill them sometimes.

tl;dr: cut the price!
Like Like x 1 View List

skeedr

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: Fuel Burn
« Reply #8 on: October 03, 2018, 01:48:21 am »
I adapted this equation directly from the game code:

loadfactor = sold seats / capacity

if link duration < 90min
   ascend, descendtime = (link duration / 2)
   fuelburn * 10 * ascendtime + fuelburn * descendtime * 0.08 * frequency

else   #fuel burn is higher for the first 60min
   ((fuelburn * 10 * 45 + fuelburn * (linkduration - 30)) * 0.08 * frequency) * (0.7 + 0.3 * loadfactor)


Using your example: CS100 with a fuel burn of 438 on a 7h34m flight (454m) (1 flight = frequency of 1)

It's longer than 90min, so we use the 2nd equation=

((438 * 10 * 45 + 438 * (454 - 30)) * 0.08 * 1) * (0.7 + 0.3 * 1) = $30624,96

First off, thanks! That's great. Secondly, where did you get access to the game code from!? I've been trying to hunt down the backend code but couldn't find anything accessible...
Like Like x 1 View List

alex

  • Full Member
  • ***
  • Posts: 198
    • View Profile
Re: Fuel Burn
« Reply #9 on: October 03, 2018, 08:04:22 am »

bluesky

  • Full Member
  • ***
  • Posts: 105
    • View Profile
Re: Fuel Burn
« Reply #10 on: October 03, 2018, 04:01:31 pm »
The way the routing algorithm works is, the perceived price varies by about +/- 25% (after all other factors are accounted for), randomly, each tick.

Oh, I didn't know that.
So, if I understood correctly, a $500 ticket could be perceived as low as $375(-25%) and as high as $625(+25%) for each of the 10 iterations/w?

Maybe it would be interesting to add some kind of marketing option, so we could influence the perceived price a a little bit.

alex

  • Full Member
  • ***
  • Posts: 198
    • View Profile
Re: Fuel Burn
« Reply #11 on: October 03, 2018, 07:00:17 pm »
Yes, although the perceived price is also affected by other factors, such as flight quality. And there is also a group of economy class passengers (about 1/6 of the total) who ignore quality, the random factor, etc. and just have a simple demand curve.
Like Like x 1 View List

patson

  • Administrator
  • Hero Member
  • *****
  • Posts: 915
    • View Profile
Re: Fuel Burn
« Reply #12 on: October 03, 2018, 11:44:13 pm »
Please take note that all of these are subject to change without further notice ;D

I might just secretly change it to benefit my own airline puahahahah  ;)

alex

  • Full Member
  • ***
  • Posts: 198
    • View Profile
Re: Fuel Burn
« Reply #13 on: October 04, 2018, 12:51:12 pm »
Please take note that all of these are subject to change without further notice ;D

I might just secretly change it to benefit my own airline puahahahah  ;)

You'll have to keep them off github then :P