On the selection coefficient
Definition of selection coefficient

A selection coefficient is a difference in fitness between two genotypes (or haplotypes). Let the two genotypes be A and B. Let's use relative fitness and say that the fitness of A is $w_A = 1$ and the fitness of B is $w_B = 1 - s$, where $s$ is the selection coefficient. As a consequence $w_A - w_B = s$.

The question of long-term fitness is unrelated to the definition of selection coefficient, as the selection coefficient is defined as a difference in fitness. A question of importance is "What measure of fitness should one use for a population where selective pressures are changing over time and/or space".

What measure of fitness should one use for a population where selective pressures are changing over time and/or space

Roughly speaking, if changes in fitness are over space, then you should use arithmetic mean fitness and if changes in fitness are over time, then you should use the geometric mean fitness but it is not quite that easy.

The real interest is whether fitnesses are correlated among generations. In other words, do individuals within a generation tend to have a more similar fitness values than the individuals of another generation? When variation in fitness is spatial than one should not expect such correlation. When variation is temporal one should expect such correlation.

Hoping you can read a code in R, the easiest is probably to read some code that make a simulation and look at the output. So here is a code that performs simulations. The key difference between simulations with spatial and temporal variation is the line that gets fitness value (runif).

set.seed(43)

temporalVariation = function(N, lowestFitness, highestFitness, nbgenerations)
{
    Ns = numeric(nbgenerations)
    Ns[1] = N
    for (generation in 2:nbgenerations)
    {
        fitnessPerIndThisGeneration = runif(1,lowestFitness, highestFitness) # All individuals have the same fitness in a specific generation   
        N = N * fitnessPerIndThisGeneration
        Ns[generation] = N
    }
    return (Ns)
}


spatialVariation  = function(N, lowestFitness, highestFitness, nbgenerations)
{
    Ns = numeric(nbgenerations)
    Ns[1] = N
    for (generation in 2:nbgenerations)
    {
        FitnessOfEachIndividual = runif(N, lowestFitness, highestFitness) # Individuals differ in fitness within a generation
        N = sum(FitnessOfEachIndividual)
        Ns[generation] = N      
    }
    return (Ns)
}


N = 1000
lowestFitness = 0.95
highestFitness = 1.08
nbgenerations = 200

spatialNs = spatialVariation(N, lowestFitness, highestFitness, nbgenerations)
temporalNs = temporalVariation(N, lowestFitness, highestFitness, nbgenerations)

plot(y= spatialNs, x=1:nbgenerations, col='blue', xlab = 'generation', ylab = 'N')
points(y= temporalNs, x=1:nbgenerations, col='red')




In blue is the simulation with spatial variation. In red is the simulation with temporal variation. You will note that the geometric mean is always equal or lower than the arithmetic mean.

Whether the arithmetic or geometric mean fitness matters most will affect the reproductive system that will be most successful. In this regard, you should read Ripa et al. 2009 about bet-hedging