I am designing the User Registration Wizard for a web application. Users register as part of a company, and sometimes that company is part of a larger network/group of companies. So there are various methods of registering:
As a New User of a New Company with no network/group affiliations
As a New User of an Existing Company with no network/group affiliations
As a New User of a New Company with network/group affiliations
As a New User of an Existing Company with network/group affiliations
These options will determine at what point during the wizard the user begins, and how many steps they will have to complete. For example a user registering a new company will have to complete a Company Registration details screen (2 steps), where as those already with a company must only select their company from a list (controlled by fuzzy search and location to limit exposure) (1 step).
My question is, what is the best way to display progress elapsed/remaining when the user's journey will entirely depend on decisions they make through the process? If the longest route possible (7 steps) is chosen this would appear an unnecessarily arduous journey for the user who takes the short path (4 Steps), and jumping multiple 'progress bar' steps will not give an accurate picture of the steps elapsed or remaining (and the progress value/weight of each step), negating the point of having a progress bar.
Unfortunately the web application is for use by business with Financial Services connections so there are requirements to gather lots of information.