Stopping criteria are a notorious complication with fitting algorithms. They are often based on user specified thresholds. Three common examples are |𝚫𝚫𝐩𝐩| < 10 -4 , |C(𝐩𝐩 i+1 ) -C(𝐩𝐩 i )| < 10 -5 or |𝛁𝛁𝛁𝛁| < 10 -6 . The threshold values of 10 -4 , 10 -5 and 10 -6 in these examples are arbitrary and may strongly depend on factors such as the scaling of parameters |𝐩𝐩|, data |𝐃𝐃|, noise |𝐕𝐕 𝐃𝐃 |, and number of data points N D . Therefore, users must reconsider these thresholds on a case-by-case basis, often empirically. To that end, we propose a new stopping criterion which we refer to as the scale invariant gradient norm, |∇C| � , defined in Eq. 8. We motivate this expression by unit analysis of |𝛁𝛁𝛁𝛁|: C(𝐩𝐩) cancels with the numerator of 𝛁𝛁𝛁𝛁 and each element of �diag�𝐕𝐕 𝐩𝐩 � cancels with a corresponding element of 𝜕𝜕𝐩𝐩 i in the denominator of 𝛁𝛁𝛁𝛁. In Eq. 8, the numerator is evaluated at iteration i, where 𝛁𝛁𝛁𝛁 is of size 1 × N p (Eq. 4) and �diag�𝐕𝐕 𝐩𝐩 � is of size N p × 1 (the diagonal root of Eq. 7), while C(𝐩𝐩) (a scalar, Eq. 2) in the denominator is evaluated at iteration i-1 (evaluating at iteration i-1 is better behaved during random restarts).