Вам надо добавить в модель Profile публичное свойство для вывода количества проданных полисов.
У Вас оно сейчас называется $count.
Так же есть связь с моделью Policy.
Значит запрос может выглядеть так:
$query = Profile::find()
/* получаем все поля из таблицы профиля и считаем записи в таблице полисов */
->select(['{{%profile}}.*', 'count' => 'COUNT({{%policy}}.id)'])
/* подгружаем "не жадно" необходимые данные через связь getPolicy() */
->joinWith('policy', false)
/* группируем записи по id профиля */
->groupBy('{{%profile}}.id')
/* сортируем по количеству проданных полисов в порядке убывания */
->orderBy(['count' => SORT_DESC]);
$dataProvider = new ActiveDataProvider([
'query' => $query
]);