Ok, so this solution is way-WAY more complicated.

Imagine if you fitted a function to the peak curve, and then calculated the second derivative?

It's easier to see graphically. In the figure, the first trace is the original data, a model for a fit, the first and second derivatives of the fit. It might not be easy to see, but the maximum of the second derivative (Blue line) is the middle of the elbow on the first line (triangle marker).

Here's how I got there with JSL. (Note: I changed the name of the first column)

In this script I let JMP sort out all the calculus along with the curve fit.

```
Names Default To Here( 1 );
dt=Open( "$Examples/Example for Elbow.jmp" );
obj=dt <<Fit Curve( Y( :Counts ), X( :time), Fit Skew Normal Peak );
obj << (Fit["Skew Normal Peak"] << Save Prediction Formula);
obj << Close Window;
formula=column(3)<<get formula;
derivative = Derivative(name expr(formula), Time);
second = Derivative(name expr(derivative), Time);
dt<<new column("First Derivative", formula (name expr(derivative)));
dt<<new column("Second Derivative", formula (name expr(second)));
dt<<new column("Peak Start", formula( Col Maximum( :Second Derivative ) == :Second Derivative, 1 ) );
dt<<Select where(:Peak Start == 1)<<Colors( "Red" )<<Markers( "Filled Up Triangle" );
```

The last step turns the "elbow" row into a red triangle marker. But you could just as easily subset the selected row into a table and add it to a table with all your other fits. I didn't try this with hundreds of tables but I think it would execute fairly quickly if you put it in a loop to iterate through a lot of data tables.

JMP Systems Engineer, Health and Life Sciences (Pharma)