back
108 comments
I have a weightlifting spreadsheet with weight on the vertical axis and reps on the horizontal axis. The value of each cell is the estimated 1 rep max if I accomplish that lift. In theory if my e1RM is 100kg then I can lift any permutation of (weight,reps) that have the same e1RM. This is akin to knowing Pareto Frontier of my current strength.

I use conditional formatting to color cells according to the probability that I can lift them—if I lifted 50kg for 10 reps then I can definitely do 50kg for 9 reps, so that cell is green. But if e1RM(50,10) > e1RM(40,15) then I can probably do that too so it's light green. The visualization naturally becomes Pareto-like.

If I'm feeling strong I can aim for higher weight, lower reps. Or if I'm feeling weak I can close out a (weight, reps) that's below my current e1RM but I haven't accomplished yet. The end result is that I'm always "accomplishing" some sort of PR no matter how I feel.

I call this e1RM Bingo.

I wrote this app as a SPA! It uses a curve formulation similar to Brzycki, except I added a “shape” parameter (an exponent gamma between 0 and 1) that slopes the 1rm downwards at the right side.

My main finding for “pick whatever weight you want today” was that picking a lot of different weights made the curve less identifiable, so my latest iteration encourages you to pick a ladder for a few sentinel exercises per mesocycle in order to improve the statistical power. In addition, strength improves more quickly at >80% of 1RM, and hypertrophy depends on proximity to failure, so if you pick a lower weight, you really need to go to failure, which burns you out for the rest of your session, where leaving 1-2 reps in reserve is probably sufficient for hypertrophy and leaves a lot more gas in the tank for the rest of the session. Definitely open to suggestion/discussion here.

https://curvefit.app (it runs on Cloudflare free tier, so I won’t have to start running ads or charging until I hit a couple thousand users)

Could you please share this spreadsheet? I would really love to have my own version of this.
I wouldn't call this a Pareto Frontier, but simple isolines through a 2d function.

There are weight x rep combinations that have a e1rm of 80kg, 85kg, 90kg, and so on.

These are just equal elevation contours through the e1rm(x, y) function.

The Pareto concept doesn't require that we calculate a function of all the dimensions and find contours; that sort of thing is not involved.

But we could apply it here like this. Suppose we conduct a weight lifting contest as follows: contestants can lift any weight any number of times, and record the weight and reps.

Then, how do we rank the results to find a winner, or winners? We have multiple dimensions, not a single dimension like "seconds to run 10 km".

We can find the Pareto front set of the performances by eliminating all that have been dominated. A lift is dominated if another lift is no worse (no less weight, and no fewer reps), and strictly better: eight the weight is higher, or there are more reps, or both.

We then end up with undominated winners, e.g. there could be three like this: { (100kg, 1), (80kg, 2), (70kg, 5) } but (70kg, 4) would not belong, due to being dominated by the third one, and (90kg, 1) would not due to being dominated by the first. The middle one is not dominated by either: though it's less weight than the 100kg, it is more reps, and though it is fewer reps than the 70kg, it is more weight.

Given the Pareto front set, if we want to determine a single winner, we need a function to reduce the parameters to a single value. (The function should be such that if we included the eliminated losers under that function, none of them would emerge winner over the Pareto front set). This e1rm function looks like it fits the bill.

If we have this function, we don't need the Pareto concept; we just run all the results through the function and pick the contestant(s) that maximize it.

This is a cool way to gamify weightlifting. Cheers!
Respectfully, it’s nothing new. Weightlifting industry has known this concept forever, it’s often just expressed as charts rather than graphs, as it is easier to interpret.

But they go even a step further, they extend into 3 dimensions to also add body weight as a variable. So your graph would really have to be a 3D volume. Because different levels of body weight have different capabilities.

Respectfully, that's a cool illustration of the idea of xRMs etc but is missing the whole point of programming for higher or lower reps. E.g. lower reps are more stressful / higher cost of recovery but more strength-specific; high reps are better for hypertrophy work. But then, any well designed program will have you working across a range of rep ranges and so on.

Please don't make an app based on this.

Misread the title and got excited about a Pareto font, that is, the best possible font (presumably: distinct l/I, O/0, scores within error margins of the top readability and reading speed scores, widely available, etc.)

Maybe in vein but did anyone already figure this one out? The closest I got was PT sans, open-licensed commissioned by the Russian ministry for communication (I found it surprising that a country that doesn't use Latin script made the best font!), but it's not widely shipped so you need to figure out how to include font files whenever you want to use it

I thought it was some sort of Italian activism group.

"The Pareto Front today claimed responsiblity for...."

Trouble with fonts is sometimes monospace good, sometimes monodpace bad

Anyways I'll namedrop Iosevka as perfect monospace font for working on 13" laptop

Inter with optional open type features turned on?

https://rsms.me/inter/

look at Atkinson Hyperlegible? commissioned by the Braille foundation for low-vision readers which means it's very readable
No, it's far from the best possible font, but to its credit, it gets most aspects of typography right by just focusing on the ~1/5 of the requirements that actually really count.
I'd also be interested in the Pareto Front of Fonts. That would be the final font collection - to rule them all.
lol same :D
I am training for a marathon, and, as I increase both by distance and pace, I am always excited when I have a "Pareto run": a run along the Pareto frontier of me trying to maximize distance and speed.

When explaining it to some coworkers, I stumbled on a fairly intuitive explanation: "I've run farther before, and I've run faster before, but I've never run _this_ far, _this fast."

There was some pushback about why not just call it a PR (personal record), but I would only use that term for fixed distances (1mi, 5k, 10k, etc.) or a consistent route that I've run many times before. Nobody would say "I set my 7.40 mile PR today." More importantly, it misses the comparison to all farther (and faster) runs—it's not exciting to set a 5k PR just because you've barely run that distance before, and the pace is actually slower that a 10k you've done.

(Had a Pareto run of 7.40 miles @ 6:28/mi last week!)

Not relevant to pareto, but that's a really fun way to look at running. Not quite as fast as your pareto run shows, but I'll definitely keep that metric back of mind to keep the psyche high for running.
The cycling equivalent is your power curve, i.e. the longest you've held a power for a certain time interval.
So, while it's true that your runs with high speed and distance when both are considered are Pareto points, your max speed run and max distance run overall are also Pareto points. So calling these high distance+speed runs "Pareto" doesn't actually distinguish them completely from other runs.

A point is Pareto so long as it is non-dominated—that is, you're not looking for dominating points, you're looking for points that are "no worse" than all others, in all criteria, when you consider that point as a reference.

So your Pareto Runs are indeed Pareto points. However, your run with your fastest possible speed, even if your distance was really bad, is also still a Pareto efficient point.

(Taking >= as more efficient here) By definition, the point A is Pareto if there is no point B such that in all criteria, B >= A, and for at least one criteria B > A. Take the run with the best speed. It is Pareto because we cannot find a single point B that satisfies both of these conditions. Your "Pareto Run" doesn't satisfy this set of conditions because it is worse in terms of speed, even if it has better distance than the max speed point.

The only way your Pareto runs would be the only Pareto points in your record is if they simultaneously hit maxima for distance and speed when compared to all other points. So, for them to be the sole Pareto point, the clause ""I've run farther before, and I've run faster before..." would have to be false! The point would have to break both your all time records to be the solitary Pareto point. With running, because of how speed and distance are related this will basically never happen.

The definition of Pareto efficiency is essentially negative in nature--it's not about finding specific dominating points, it's about finding points that are not dominated by any others on any criterion, period. All criteria are weighted equally in the search for Pareto points. It doesn't build in any weighting like considering maximum across criteria as "better" than points that only maximize one criteria. For a "biobjective" problem like your runs, the Pareto set will always contain the points (MAX, -) and (-, MAX)--they may not be unique over the criteria but there will always be at least one representative for each, I believe.

You can see the Pareto Frontier well in DeepSWE's chart here - https://deepswe.datacurve.ai/

ChatGPT 5.6 Luna on the right (cheaper) cover most of the frontier, with a point for Deepseek flash, and higher performance overlapping heavily between 5.6 Sol and Fable.

That DeepSeek point will probably move back towards Luna as deepseek announced a "significant" price increase coming to their API [1], which kind of demonstrates that beating the Pareto frontier is where the difficulty actually is).

[1] https://www.bloomberg.com/news/articles/2026-08-06/deepseek-...

I've been wondering if OpenAI make Luna artificially cheap to get people into their eco system.

I think it's great and hope the price can stay the same.

Pareto front sounds like an interesting way to optimize, but it suffers from the curse of dimensionality just like anything else.

As the number of objectives (dimensions) increases, the number of samples you need to cover the frontier increases exponentially. You will very rarely find solutions that actually dominate other solutions in many practical optimization scenarios. With 2 dimensions you have a 25% chance of domination. With 10 dimensions it's a .098% chance.

The most useful cases I've seen tend to occur where we just optimize for two things at once. The chances of domination are high, it's easy to visualize and very efficient to implement. As we get into higher dimensional spaces, things get weird really fast.

> "As we get into higher dimensional spaces, things get weird really fast."

The geometric problem of computing a d-dimensional Pareto set of cardinality n

https://en.wikipedia.org/wiki/Maxima_of_a_point_set

has a truly weird property not covered by the computational complexity discussion on that page. It says there's an algorithm achieving O(n log(n)^(d-3) log log n), which is true and also a lie. The algorithm that achieves that asymptotic form is a galactic algorithm; and not an ordinary one in the sense of "has a large constant multiplicative factor", but one with this property (I've never found any other algorithm which exhibits it):

The runtime is within a bounded constant factor of n^2, for all n up to some critical N whose size is exponential in d (I think it was exactly 2^d or something).

I.e. the runtime has "two shapes": it's purely quadratic up to a galactically-large constant, and thereafter has a transition into to a slower function. The asymptotic version in the textbooks isn't achievable in the real world (for all but very small dimension).

There's an elementary proof using generating functions.

edit to add: If anyone's curious about it, a simplified version of the recurrence relation that's enough to exhibit this behavior (you can instantly see it if you graph this numerically) is

    f(n,d=0) = 1
    f(n=1,d) = 1
    f(n,d)   = n + 2f(⌊n/2⌋, d) + 2f(⌊n/2⌋, d-1)
The curse of dimensionality times the reality that good metrics are elusive or themselves a bit cursed. Many outcomes you're engineering or product-managing toward are quite squishy, hard to define, and hard to evaluate. "Easy to use" or "can be used within 10 minutes" or "cleans up this current order form" are easy to state but hard to rate and/or hard to actionably implement as metrics.

I've built large, deep product evaluation frameworks, and it is 100% of the time a running argument with stakeholders, inside and out, "well you should have measured it this way" or "I think we should be targeting X not Y" or "why didn't you consider Z in the metric??"

The Pareto Front in practice is squishy, fuzzy, and often quite moist and moldy.

One I spent a few months working on was pathfinding for trucks. The goal is to find dominant solutions over {shortest time, lowest cost (tolls + fuel), avg road speed variance - traffic sensitivity} and then return 3-4 routes that are equal distance from each other in this dimensional space for users to pick from.

As you say, the most useful things happen in low-dimensional spaces.

I’m sadly twitchy when I hear “Pareto” - having endured numerous middle managers suggesting they can deliver 80% of the scope in 20% of the time (unrelated to the frontier topic here). Do that at each level of an org and the nonsense multiples rapidly.

The 80/20 “rule,” as far as I know, is meant to be descriptive after the fact. It can’t be used as a planning assumption. To be fair to those managers, they don’t really mean to be rigorous. They are just trying to justify cutting scope.

That's the "Pareto Principle" whereas the frontier is talking about Pareto efficiency. They have the same name because both were first developed by the economist Vilfredo Pareto, but they're not actually otherwise related.
Using the 80/20 rule to plan, is like that other old saw "Half the money I spend on advertising is wasted. The trouble is, I don't know which half"
At $JOB, I use the Pareto frontier all the time.

If one option is at least as good on every relevant dimension and better on one, just pick it. That's not really a trade-off, and it shouldn't need escalation. Eg, if two SaaS tools cost the same and have similar support, but one fits your use case better, you choose that one. Otherwise, you just suck at your job!

The interesting decisions only start once you're already on the frontier, where getting more of one thing means giving up something else. If the better tool costs 50% more, now you're trading capability against cost, and that may need sign-off.

Basically, everyone should be able to get to the frontier on their own. Coordination and arbitration at higher levels of the org / between different departments should happen on the frontier, where the trade-offs involve several people or teams.

A kind of Pareto domination criterion is used in C++ for determining overload resolution: which function overload gets the call.

The objectives are matching arguments to parameters.

A set of functions is identified among the candidates: those that are possible for the call at all, like having a compatible number of parameters.

Essentially, the overload rule says that the Pareto front set of candidates must contain one member, otherwise the call is considered ambiguous, and diagnosable rule violation.

The objectives being optimized are individual parameter positions, each in the dimension of suitability: being a better match.

One candidate is better than another if it is no worse a type match in every parameter, and strictly better in at least one parameter.

> and every solution not in the set is outperformed by at least one solution in the Pareto front in every objective

Is that trying to say:

"for every solution not in the set, there exists at least one objective such that at least one solution in the Pareto set beats that solution in that objective" i.e. every non-Pareto-front solution is beaten in some objective(s) by a Pareto-front solution, however it may be unbeaten in other objectives.

Or is it:

"for every objective in the system, every solution that is not in the set is beaten in that objective by one or more Pareto-set solutions."

Or is it:

"For every solution not in the set, there exists at least one Pareto solution which beats it in every objective."

One nuance that people sometimes miss is that pareto optimality in the continuous case and discrete case are distinct. Using continuous case algorithms on discrete feasible set optimization problems will make you miss the interior optimal points--only extremal/supported points on the positive orthant hull are identified by the continuous algos.

Matthias Ehrgott's books on multicriteria optimization explain Pareto efficiency very well without sacrificing rigor. I think they do a better job than this article.

Question: in auto racing, could one have a Pareto Front balancing single lap pace (qualifying optimization) and race pace (pace over an entire stint of e.g. 20+ laps)?
Found this to display the optimal LLM choice while building evalry. It's such a useful tool, not only for thinking about it, but for visualization, too.

Example: Which LLM gives me the best ELI5 explanations for a given price. https://evalry.com/benchmarks/explain-like-i-m-5-321

In the formula given in the Definition, what is the point of including the y'' /= y' condition, given that y'' >- y'? Could a solution ever Pareto-dominate itself? If we know that A dominates B, do we not know that they are distinct?
(A few years outdated) AWS EC2 instance type pareto frontier:

https://github.com/PatMyron/cloud#compute--memory-unit-price...

I'm assuming you must have discovered this through the OpenRouter LLM performance graphs.
Nice, this is exactly what I use for the multi-objective optimizer on a quantum network simulator I'm building — scoring topologies on fidelity/latency/success rate tradeoffs.
I wonder why LLM love this word so much. Same as mint, seam, tier.
We used to just call that efficiency. Overusage of "pareto frontier" annoys me almost as much people talking about "electrons" instead of just saying electricity or power.
A very useful concept to know!
Simple idea, big payoff
may, anyone explain what is this
The real Pareto is the lawyer who was the victim of the Telerj prank call in the 80s. Don't be fooled!
Now I want a hat with the Agnostic Front logo but that says Pareto Front.