the biggest risk is max_discount_ratio which filters out heavily discounted quotes. if those are mostly the cheaper ones, the remaining sample overstates the market fare. the ratio also assumes total_fare is gross so the filter misbehaves if the input is already net
on ETA the clearest gap is that the function can return available True with median_eta None, which breaks the article's own coverage rule. confidence is really a sample count, and now = time() makes the output time dependent and hard to test