Let's see how good can i remember from the institute:

You will lift a load W in kilograms, with a rope that you will pull with a drum of diameter D in meters. You also need to provide the speed U that you want the load to be pulled, in meters per minutes. Let me give some numbers:

W=4 Kg

D=0.05mt (5 cm about 2 inch diamter)

S=10 mt/min

First of all, you need to define the speed of the drum. The perimeter of the drum is DxPi = 0.05 x 3.14 = 0.157 metres. To calculate the speed:

U [mt/min] = Perimeter [mt] x Rotation [rpm] => Rotation = U/P => Rotation = 10/0.157 => Rotation= 63.7 rpm.

So the drum must rotate with 63.7 rpm to achieve the required speed. If the drum is directly coupled to the motor without gears, then the motor must rotate with this speed as well, which is pretty normal speed for a stepper motor.

Now you need to calculate the torque that the motor must provide. The torque will be given into Kgm, which means Kilograms per Meter. Firs, you need the radious of the drum, which is half the diameter:

Rd = 0.05/2 = 0.025mt

The torque is:

T = Rd x W = 0.1 Kgm

This is the minimum torque that the motor must provide, in order to lift and hold the load. So, if you do not add any gear and you put a drum that is 5cm diameter, then you need a motor that provides AT LEAST 0.1Kgm @ 63.7 rpm.

I would add a 10-20% to the torque to play safe.

You've got everything you need to calculate your motor to lift vertically a load on a drum.