Why not utilise daddylongleg's formula???
Sub test()
    With Range("a2", Range("a" & Rows.Count).End(xlUp)).Offset(, 2)
        .Formula = "=COUNTIFS(A:A,A2,B:B,""<""&B2)+1"
        .Value = .Value
    End With
End Sub