Follow transform smoothly

Im trying to create a pickup that randomly moves around in space. I want it to be followed by another object but not to hard. I want the follower to go after like it was attached with a rubber band, but i have no clue on how to do it. I could follower.transform.position = this.transform.position. But it would be too rigid!

void Update ()
	{

			if (!isPickedUp) {
					var distanceCovered = (Time.time - startTime) * speed;
					var progress = distanceCovered / totalDistance;
				
				
					if (progress >= 1 || IsFleeing) {
							//SET NEW RANDOM POSITION
							var newX = Random.Range (7f, 70f);
							var newY = Random.Range (7f, 55f);
							speed = Random.Range (10, 50);
							if (IsFleeing) {
									speed = 50;
									IsFleeing = false;
							}
							goTo = new Vector3 (newX, newY, 3);
				
							startTime = Time.time;
							startPosition = transform.position;
							totalDistance = Vector3.Distance (transform.position, goTo);
					}			
				
					transform.position = Vector3.Lerp (startPosition, goTo, progress);
			}

		

	}

Vector3 DistancebetweenTargetAndFollower;

if(_TargetObject != null)
{

        Vector3 newPos = _TargetObject.position + DistancebetweenTargetAndFollower;
    newPos = Vector3.SmoothDamp(mprevPosition,newPos,ref mcurrentVelocity, mfmaxSpeed);
   mprevPosition = newPos;
		
   transform.position = newPos;
}

gameobject:player;
vector3:offset;

start()
{
offset=transform.position;
}
LateUpdate()
{
transform.position=player.transform.position+offset;
}