Frat5 Curves
Frat5Curve
              Bases: Named
FRAT5 = Fare Ratio at which 50% of customers will buy up to the higher fare.
Source code in passengersim/config/frat5_curves.py
                
            curve
  
      instance-attribute
  
    Define a Frat5 curve.
To be consistent with the econometric interpretation of the Frat5 curve, the values should increase as the keys (DCPs, e.g. days to departure) decrease. This implies that average willingness to pay increases as the departure date approaches.
            enforce_monotonic
  
      class-attribute
      instance-attribute
  
    Enforce monotonicity of Frat 5 curves.
Typically it is expected that the Frat5 curve is monotonic, i.e. that the
average willingness to pay only increases as the departure date approaches.
It is easy to accidentally define the Frat5 curve "backwards", and thus
PassengerSim will check that the Frat5 curve is monotonically increasing
by default. To violate this assumption, set enforce_monotonic to False,
which will disable the check that the Frat5 curve is monotonic.
            max_cap
  
      class-attribute
      instance-attribute
  
    Maximum Q-equivalent demand implied by any unit of demand in any fare class.
This cap is applied only on the recording of Q-equivalent demand that occurs within the simulation engine itself, and not as part of any RM step. Simulation-recorded Q-equivalent demand can be used by RM steps, such as within PODS-like hybrid forecasting models, but the max-cap filter transform is implicitly already baked in to the Q-equivalent demand before the RM step can use it.
This can be contrasted against a max_cap parameter used in the RM step,
which can applied against observed demand within the RM step, but the RM step
receives the "raw" sales data, without adulteration by the simulation engine.