Duration between status changes - Report or calculated fields

I am trying to find out the duration between certain status changes.
I.e I want to see how long it takes us Book a meeting once we receive new leads.
New > Meeting Booked = Duration?

Does anyone have any idea? It can be a report or calculated field or something else.

you can either code it yourself using a logic hook (after_relationship_add-event) or you try to make it work with workflows (-> see calculated fields, e.g. {datediff(timestamp1; timestamp2; unit)}).

Thank you @diligent . I will try the workflow option. Since I am planning to track the duration for multiple statuses, will having too many workflows impact the system performance?