
In 2012, Chick-fil-A surpassed KFC to become the best-selling chicken chain, Jimmy John’s and Five Guys joined the billion-dollar-brands club, and fast-growing Wingstop and Moe’s Southwest Grill climbed into the limited-service industry’s upper echelon for the first time. McDonald’s, meanwhile, maintained its stranglehold on the No. 1 position, nearly tripling runner-up Subway’s domestic sales. Dig deep into the data driving the quick-service and fast-casual restaurant industries with this year’s QSR 50.
Click column headers to sort
array(
'sort_dir' => 'asc',
'indicator' => '',
'label' => 'Rank',
),
'qsr_50_rank' => array(
'sort_dir' => 'asc',
'indicator' => '',
'label' => 'QSR 50 Rank',
),
'chain' => array(
'sort_dir' => 'asc',
'indicator' => '',
'label' => 'Company/Chain Name',
),
'2012_sales' => array(
'sort_dir' => 'desc',
'indicator' => '',
'label' => '2012 U.S. Systemwide Sales (Millions)',
),
'2012_avg_sales' => array(
'sort_dir' => 'desc',
'indicator' => '',
'label' => '2012 U.S. Average Sales per Unit (thousands)',
),
'2012_franchise_units' => array(
'sort_dir' => 'desc',
'indicator' => '',
'label' => 'Number of Franchised Units in 2012',
),
'2012_company_units' => array(
'sort_dir' => 'desc',
'indicator' => '',
'label' => 'Number of Company Units in 2012',
),
'2012_total_units' => array(
'sort_dir' => 'desc',
'indicator' => '',
'label' => 'Total Units in 2012',
),
'2011_unit_change' => array(
'sort_dir' => 'desc',
'indicator' => '',
'label' => 'Total Change in Units from 2011',
),
);
if ( in_array( $_GET['sort'], array_keys( $headers ) ) ) {
$sort_field = $_GET['sort'];
} else {
$sort_field = 'rank';
}
if ( in_array( $_GET['dir'], array( 'asc', 'desc' ) ) ) {
$sort_dir = $_GET['dir'];
} else {
$sort_dir = 'asc';
}
$opposite_dir = ( $sort_dir == 'asc' ) ? 'desc' : 'asc';
$headers[$sort_field]['sort_dir'] = $opposite_dir;
$headers[$sort_field]['indicator'] = theme_tablesort_indicator( array( 'style' => $sort_dir ) );
$header_cols = array();
foreach ( $headers as $field => $field_data ) {
$header_cols[] = array(
'data' => l( $field_data['label'], $_GET['q'], array( 'query' => array( 'sort' => $field, 'dir' => $field_data['sort_dir']), 'html' => TRUE, 'fragment' => 'chart' ) ) . $field_data['indicator'],
'class' => 'header'
);
}
$table_rows = array();
$table_rows[] = $header_cols;
/* begin of function area */
$sorted_data = array();
$values = array();
foreach ( $the_data as $id => $value ) {
$values[$id] = $value->$sort_field;
}
if ( $sort_dir == 'asc' ) {
asort( $values );
} else {
arsort( $values );
}
foreach ( $values as $key => $value ) {
$data_cells = array();
foreach ( $headers as $field => $field_data ) {
$cell_data = $the_data[$key]->$field;
if ( preg_match( '/(sales|units)$/', $field ) ) {
if ( preg_match( '/sales/', $field ) ) {
$cell_data = '$' . number_format( $cell_data, 1 );
}
else {
$cell_data = number_format( $cell_data );
}
}
if ( property_exists( $the_data[$key], $field . '_super' ) ) {
$cell_data .= '' . $the_data[$key]->{$field.'_super'} . '';
}
$classes = $field;
if ( $field == $sort_field ) {
$classes .= ' sorted';
}
$data_cells[] = array( 'data' => $cell_data, 'class' => $classes );
}
$sorted_data[] = $data_cells;
}
/* end of functional area */
foreach ( $sorted_data as $data_row ) {
$table_rows[] = $data_row;
}
print theme( 'table', array( 'header' => NULL, 'rows' => $table_rows, 'attributes' => array( 'id' => 'datatable' ) ) );
?>
*Includes figures estimated by Technomic Inc. 2AUV data for Company-operated units only