Allegiant’s president outlines Sun Country merger strategy


Allegiant Air’s prospects look bright.

The Las Vegas-based budget carrier closed a $1.5 billion merger with Sun Country Airlines on May 13. The combination creates a national leisure airline with a nearly 3% share of U.S. domestic seats. That may sound small, but it includes enviable market positions in places like Minneapolis-St. Paul International Airport (MSP) and airports across Florida, schedule data from aviation analytics firm Cirium shows.

“Immediately, customers can now find flight options for both carriers on each of the Allegiant and Sun Country websites,” Robert Neal, president of Allegiant, said in an interview. “Over time, the plans are to become one Allegiant brand intent to grow capacity and grow our service into the Minneapolis-St. Paul market.”

For now, Allegiant will fly Allegiant flights, and Sun Country will fly Sun Country flights as the airlines slowly integrate over the next 12 to 18 months, he explained.

That is not to say some changes aren’t coming, especially for loyal Sun Country flyers in the Twin Cities.

Neal, at least, thinks those changes will be good.

Allways Rewards vs. Sun Country Rewards

The Allegiant Allways Rewards and Sun Country Rewards loyalty programs will, eventually, merge. “When?” and “How?” are the questions.

First, Neal said, the airline needs to negotiate a new cobranded credit card deal with the banks that currently issue each loyalty program’s card — Bank of America for Allegiant and Synchrony Bank for Sun Country.

“The vision is one, larger loyalty program that offers customers more opportunities to earn and burn, [and] more access to more destinations,” he said.

Reward your inbox with the TPG Daily newsletter

Join over 700,000 readers for breaking news, in-depth guides and exclusive deals from TPG’s experts

What makes sense, Neal admitted, is to bring Sun Country Rewards members into Allways Rewards rather than build an entirely new loyalty program, as Alaska Airlines did with Atmos Rewards following its 2024 merger with Hawaiian Airlines.

New MSP routes

The Sun Country network is really about MSP. After Delta Air Lines, Sun Country is a strong No. 2 at the airport — a position it has held for decades. And, as a result of the merger, MSP is immediately Allegiant’s largest base by any metric, Cirium schedule data shows. Orlando Sanford International Airport (SFB) is second by a good margin.

Allegiant plans to eventually expand on Sun Country’s existing network at MSP with more flights to leisure destinations, Neal said.

“Sun Country has a very large fleet based at MSP and, in the morning, nearly all those planes leave and then the gates sit empty for a few hours until they come back,” he said. “There’s a natural opportunity to fill in some of that capacity with aircraft originating at Allegiant bases around the country.”

That could mean new service to MSP from places like SFB, Mesa Gateway Airport (AZA) near Phoenix or Punta Gorda Airport (PGD) in Florida.

The 737 MAX for growth

Key to Allegiant’s expansion plans following the Sun Country merger is the Boeing 737 MAX. The airline flew 17 of the 190-seat 737-8200 model at the end of March. There are 10 more due in 2026 and another 33 by the end of 2028, according to its latest fleet plan.

Sun Country flies 72 737s, including 20 freighters under contract for Amazon, its latest fleet plan shows. The airline has no outstanding aircraft orders.

“Now both carriers can benefit from the economics of the 737 MAX, especially in environments like the high fuel one that we’re facing today,” Neal said.

Allegiant’s 737-8200s fly from bases at Fort Lauderdale-Hollywood International Airport (FLL), McGhee Tyson Airport (TYS) in Knoxville, Tennessee, SFB and St. Pete–Clearwater International Airport (PIE) in Florida, Cirium schedules show.

Filling Spirit’s gap

Allegiant is taking a conservative approach to fill some of the market void left by the collapse of Spirit Airlines May 2. Earlier in May, the discounter announced four new routes from FLL to Boston Logan International Airport (BOS), Kansas City International Airport (MCI), Omaha Eppley Airfield (OMA) and Pittsburgh International Airport (PIT). Other airlines, including Frontier Airlines and JetBlue Airways, are moving more aggressively with dozens of new routes and flights.

“We’ve had interest growing in the Fort Lauderdale market for some time, with or without Spirit being there,” Neal said.

He also highlighted the strong performance of Allegiant’s flights at Atlantic City International Airport (ACY), where the airline landed in December. Breeze Airways has also been making a move for ACY, adding four new routes since Spirit’s collapse.

Asked if Allegiant was considering expanding in Spirit’s former base at Detroit Metropolitan Airport (DTW), Neal said nothing immediately.

“There’s an opportunity for something like what Sun Country has in Minneapolis in a place like Detroit,” he said.

Allegiant does not currently serve DTW, while Sun Country only serves it twice weekly from MSP, according to Cirium schedules.

One thing travelers do not need to worry about from the Allegiant-Sun Country merger is another Spirit. Both airlines reported profits in the first quarter and, while managing the same high fuel prices, they are carrying far less debt than their defunct peer.

Neal is bullish on the outlook even with high fuel prices.

“The demand environment, particularly throughout the summer, has remained really, really strong,” he said.

Related reading:



Source link

Leave a Reply

Subscribe to Our Newsletter

Get our latest articles delivered straight to your inbox. No spam, we promise.

Recent Reviews


Python Generators – Table of Content

Generators

The main purpose of a generator is to help us in creating our own iterators. It is a special type of function that returns an iterable set.The iterators that we create with the generator are referred to as lazy iterators. The contents of lazy iterators will not be stored in memory.If you want to iterate through large files, data streams, CSV files, etc., generators will be a good choice.Generators are introduced in PEP 255 and they are available since python 2.2 version.

How to create generator functions

Let us create a sample generator. Create a new file in any text editor and copy the below code.

def sample():

a = ["Hello", "Welcome"]

yield a

for i in sample():

print("This is a sample generator")

In this code, the sample() is the generator function name. Yield is used to return items to the caller. Unlike return in normal function, you won’t exit the function here. Once a generator is defined, it is called similar to a normal function. But the execution gets paused when it encounters a yield keyword.

Save the file with script.py as the name. Open command prompt, navigate to the script file location path, and execute the below command.

python script.py

You should be able to see an output that says ‘This is a sample generator’ on the command prompt. Let us look at one more example that returns squared root numbers to the range of numbers defined.

def Squared_numbers(num):

for num in range(num):

yield num**2

for i in Squared_numbers(5):

print(i)

This program calls Squared_numbers generator with 5 as a range. The generator will iterate from 0 and yields the square root of 5 numbers. The output for this program will be as follows.

0

1

4

9

16

Importance of yield statements in generators

Yield controls the flow of a generator function. When we call a generator expression or a generator function, we will get an iterator in return. This is nothing but a generator. 

We have to assign the generator to a variable and then use it. When we call a generator function, it only gets executed until it encounters a yield statement. The yielded value is sent back to the caller. 

  Become a python Certified professional  by learning this HKR Python Training !

Python Training Certification

  • Master Your Craft
  • Lifetime LMS & Faculty Access
  • 24/7 online expert support
  • Real-world & Project Based Learning

Creating a generator object with generator expressions

Generator expressions are similar to list comprehensions. They help us to create a generator object with minimal code. We can create generator objects that do not hold the entire object in memory before iteration. Let us create a list and a generator object and look at the difference between the two.

#Creating a list

numbers_list = [num for num in range(5)]

#Creating a generator object

numbers_generatorObject = (num for num in range(5))

#output

numbers_list

numbers_generatorObject

In the above code, we have created a list and a generator object for numbers. The syntax will be very much similar, but the difference will be the type of parentheses that we use. When you execute the above code, this will be the output.

[0, 1, 2, 3, 4]

at 0x7f776b77dd58>

You can observe here that the numbers_list is a list, so the numbers were printed on the command line. Whereas the numbers_generatorObject has got created as a generator object. You can also see the location at which the generator object is created.

Evaluating generator performance

As I mentioned before, generators optimize memory. Let’s consider the same example that we have taken above and increase numbers up to 150. Let us see how much size the list and generator objects take to hold the same numbers. Here is a small program that we can use to get the size.

import sys

#Creating a list

numbers_list = [num for num in range(150)]

print("The size of the list is", sys.getsizeof(numbers_list))

#Creating a generator object

numbers_generatorObject = (num for num in range(150))

print("The size of the generator is", sys.getsizeof(numbers_generatorObject))

The output for the above program will be as follows.

The size of the list is 1448

The size of the generator is 88

You can see that the list took 1448 bytes, whereas the generator object is only 88 bytes. You can observe a huge difference when you work with a larger dataset.

Acquire NLP certification by enrolling in the HKR NLP Training program in Hyderabad!

HKR Trainings Logo

Subscribe to our YouTube channel to get new updates..!

Advanced generator methods

Generators provide three special methods which were introduced in PEP 342 and is available since the python 2.5 version.

send() – It is a method used to send values to the generator iterators. The value specified in the send() method is used to continue with the next yield. If we do not pass any value to the send() method, it will be equivalent to the next() call. 

throw() – It is a method used to throw exceptions from the generator. We can add a throw() method when we might need to catch an exception. The value or exception specified in the throw() method will be sent to the caller.

close() – It is a method used to stop a generator. This will be really helpful when we want to stop a program when it goes into an infinity loop. 

Realted Article, List to String in Python !

Creating data pipelines with generators

When you have a huge dataset that needs processing, we can’t really do all the processing at a single place. To avoid this, we can create a pipeline. Each method in a pipeline receives an item, applies transformations on it, and returns the transformed item. This way, we can even change the order of transformations.

For example, if we want to process data in a CSV file, we have to read all the lines of data in the file. Identify the column names,split each row into a list of values,and filter out any unwanted data.Create dictionaries for the column names and lists.Apply the transformations that you want on the rows. All the created generators will function as a pipeline.

  Top 50 frequently asked Python interview Question and answers !

Python Training Certification

Weekday / Weekend Batches

Conclusion

As you have learned, generators simplify code. Generator expressions simplify code much further. They might be a little confusing at first. But when you put enough effort and practice them, you will get to understand them completely. Then you will know how easy it is to code in python with the help of generators.

Generators are especially useful when dealing with huge datasets.We can create pipelines and make the developer’s job easier.The calculations on data will be performed on-demand. We can use generators to simulate concurrency.Enjoy coding with python!

Related Articles:

1. Python Partial Functions

2. Python Split Method

3. Running Scripts in Python

4. Python List Length



Source link