The original issue of a lack of convergence is because of the very large values of the independent variable and the use of the default starting values (and my understanding is that the default starting value for all parameters is 1.0).
This can be fixed by standardizing the independent variable. (This is not a bad practice for just about any regression analysis - but you have to remember to make the conversion back to the original units.)
(* Data *)
data = {{1026689495, 0.04346642}, {1032948957,
0.07106946}, {1033037820, 0.07173154}, {1033175985,
0.07276095}, {1033544110, 0.07550369}, {1033794716,
0.07737085}, {1035382618, 0.08920164}, {1035473824,
0.08988118}, {1036246565, 0.09563855}, {1036526395,
0.09772345}, {1046404258, 0.21763852}, {1050599907,
0.31031713}, {1053371976, 0.39293122}, {1058188482,
0.57294858}, {1062404620, 0.82424998}, {1064270054,
0.93543851}, {1002403160, 0.00592598}, {978672841, 0.00081391}};
(* Model form being fit *)
model = a Exp[k t];
Using default starting values with the original data...
FindFit[data, model, {a, k}, t]
FindFit[data, model, {{a, 1}, {k, 1}}, t]
results in
{a -> 0., k -> 1.}
{a -> 0., k -> 1.}
Clearly not a good enough answer. Choosing better starting values helps but sometimes only if the number of iterations is increased from the default.
FindFit[data, model, {{a, 10^(-38)}, {k, 10^(-7)}}, t]
FindFit[data, model, {{a, 10^(-38)}, {k, 10^(-7)}}, t,
MaxIterations -> 200]
resulting in
FindFit::cvmit: Failed to converge to the requested accuracy or precision within 100 iterations. >>
{a -> 1.28015*10^-38, k -> 8.19291*10^-8}
{a -> 1.72511*10^-38, k -> 8.16492*10^-8}
Had we standardized the independent variable there would have been no need to increase the iterations or have a good guess as to the starting values:
data2 = data;
data2[[All, 1]] = Standardize[data[[All, 1]]];
sol = FindFit[data2, model, {a, k}, t];
xbar = N[Mean[data[[All, 1]]]];
sigma = N[StandardDeviation[data[[All, 1]]]];
{a Exp[-k xbar/sigma], k/sigma} /. sol
with output
{1.72511*10^-38, 8.16492*10^-8}
Having said all of the above for this particular dataset a better approach that more closely matches the residual error structure is the taking of the logs of the dependent variable and performing a linear regression as Michael Seifert did (but I'd use LinearModelFit rather than NonlinearModelFit - however, in this case the results are equivalent). Using LinearModelFit (or NonlinearModelFit) provides a whole lot more information about the fit than FindFit.
In doing so one would see that requesting more decimal places in the predictions does not provide a better fit and that only 3 or maybe 4 digits to the right of the decimal are warranted given the quality of the fit. And with only 18 data points a more complex model with maybe a better fit to the observed data is not justifiable.
MaxIterations
to something larger than 100 ? $\endgroup$