Константин !
Парето придумал свой принцип исследуя распределение богатства среди людей, а именно расслоение на классы богатых и бедных. Соотношение 20/80 он получил на практике изучая различные периоды и различные страны. Позже Джордж Зипф ещё раз самостоятельно открыл принцип Парето, но он в свою очередь нашёл универсальность этого соотношения и проверял это на совершенно различных сферах человеческой жизнедеятельности (производство, люди, время, знания, и даже филология). Возможно, что одним из опытов был пивной, который вы описали.

Ниже о сути соотношения, который использовали и Парето, и Зипф.
Сергей !
Присоединюсь к своему тёзке Валерию Суханову в критике вашего подхода. Тем более, что сам Вильфредо Парето рассматривал соотношение 20/80 так: 20% людей обладают 80% богатств, а не половоиной (думаю этот факт и сейчас не заставляет усомниться в своей истинности). Да и моя практика подтврждает именно это прочтение, причём касательно разных итогов бизнес-процесса. В случае же, если у вас 20% позиций делают 50%, например, прибыли. Стоит расширить группу А, например, до 30% номенклатуры, которые будет делать 70% прибыли (ниже алгоритм деления на группы, который я написал для УВА Ехсел).
Function ABC(diapazon As Range) As String
'выдаёт значения, с которых начинаются группы B и C АВС-анализа
'позиции должны стоять в порядке убывания количественного параметра
Dim i As Integer
Dim yachejka As Range
Dim sum As Single
Dim v_ya As Single
Dim temp As Single
Dim maxnov As Integer
Dim b As Single
Dim j As Integer
Dim c As Single
sum = 0
maxnom = 0
temp = 0
i = 0
For Each yachejka In diapazon
sum = sum + yachejka.Value
maxnom = maxnom + 1
Next yachejka
Do
i = i + 1
v_ya = diapazon.Cells(i, 1)
temp = temp + v_ya
Loop While (temp / sum + i / maxnom) <= 1
b = v_ya
j = i
Do
j = j + 1
v_ya = diapazon.Cells(j, 1)
temp = temp + v_ya
Loop While ((temp - b) / (sum - b) + (j - i) / (maxnom - i)) <= 1
c = v_ya
ABC = "Группа B начинается с: " & b & " Группа C начинается с: " & c
End Function