ElectricFlow does not have a built-in feature to show an estimated job duration. However, it is easy to calculate by retrieving previous jobs, and it is easy to display by temporarily modifying the intrinsic "jobName" property of the Job.
The most important question is, "Which Jobs are similar in duration to the current Job?" This question must be answered for each installation of ElectricFlow, because there is no set of universal information that ElectricFlow can use to determine that two jobs are similar. For example, not all Jobs that are launched by a Procedure named "Master Build" will have the same expected duration. That single Procedure may be used to launch the builds of two separate code lines. Or it may build both test and production builds, which may take vastly different lengths of time to run.
This solution introduces a custom property of the Job, named "jobType". It is computed in the Perl code in the "Setup" step below. To use this in your own Jobs, just add the "Setup" step below.
The "jobType" is an arbitrary string that is used to associate Jobs that are expected to run with the same duration. It can be as simple as the "procedureName" or it can be a complex, computed string, for example, combining the Procedure name with the values of the parameters and other properties.
In any case, you will have to customize the Perl code below to set the string to group Jobs that are similar.
Once there is a "jobType" property that can be used to group similar Jobs, it is a simple matter, using ElectricFlow's Perl API to find previous Jobs of the same type and average their actual durations to come up with an estimated duration for the current Job.
The estimated duration is displayed by modifying the "jobName" intrinsic property to include the estimated duration in the job name. This will be displayed wherever the Job Name is shown - the Job Details page, the Jobs list, and so on.
The "Cleanup" step below restores the "jobName" back to its original state when the job completes. When the job is over, there is no value in displaying the estimated duration.
Create a step like this at or near the beginning of your main procedure. Be sure to customize the line that sets the "$jobType" variable so that it will correctly group Jobs of similar type in your environment.
#  The job type is simply a label used for estimating durations.
#   jobs with the same job type.
# Get the actual run time from the last 10 jobs of the same "job type"
At or near the end of your Procedure, you should add a Cleanup step that restores the original "jobName" using the following code. There is no need to customize this code.
Both of these steps could be made into separate Subprocedures in a library project and then called from your procedure using a Subprocedure Step.