Here's a quick Python hack for coordinate generation:

    import math
    
    n_dist=5000
    e_dist=2000
    s_dist=1500
    w_dist=1000
    
    distV=[n_dist,e_dist,s_dist,w_dist,n_dist]
    radix=0
    
    nverts=120              #!! Must be evenly divisible by 4!
    quad=nverts / 4
    step=(math.pi * 2) / nverts
    
    coords=[]
    angle=math.pi / 2
    for i in range(0,nverts):
    
        if ((radix % 2) == 0):
            dy = distV[radix] * abs(math.sin(angle))
            dx = distV[(radix+1)%4] * abs(math.cos(angle))
            r = math.sqrt(dy*dy + dx*dx)
        else:
            dx = distV[radix] * abs(math.cos(angle))
            dy = distV[(radix+1)%4] * abs(math.sin(angle))
            r = math.sqrt(dy*dy + dx*dx)
    
        x = math.cos(angle) * r
        y = math.sin(angle) * r
    
        coords.append([x,y])
    
        print "\t{:.5f} {:.5f},".format(x,y)
        if ((i % quad) == (quad - 1)):
            radix += 1
        angle -= step
    
    coords.append(coords[0])
    print str(coords)


This isn't exactly what you've drawn, but it does generate points which are derived from both the X and Y components:

[![multi-component buffer][1]][1]

Changing the weighting of radius `r` and incorporating in an arcpy script to copy a point featureclass to polygon is left as an exercise.

  [1]: https://i.sstatic.net/O0CVP.jpg