The power of the observed effect is very often equal to a simple one-to-one relationship with the p-value (and the significance level) since both the p-value and the power are dependent on how many standard deviations the effect size is away from zero effect.
As a consequence, such power calculation doesn't add much information.
Let's consider this simplistic model in which you have an observation whose likelihood function can be approximated with a normal distribution. Say that the significance level is 5% (or roughly 2 deviations away from zero effect) and we observe an effect with a p-value of 1.24% (or roughly 2.5 deviations away from zero effect) then the power for that observed effect is equal to roughly 69.1% (the probability that the observed effect is more than 2 deviations away from the zero effect given that the true effect is 3 deviations away).
You have a more complex model but often the estimates are approximately equal to a normal distributed variable.
More precisely stated. Let some statistic be distributed according to a normal distribution (the simple case of a z-test)
$$T \sim N(\mu,\sigma^2)$$
The p-value for the hypothesis $H_0: \mu = 0$ is a function of the observed statistic $\hat{T}$
$$\text{p-value} = 2\Phi\left( \frac{|\hat{T}|}{\sigma}\right)$$ where $\Phi$ is the cumulative distribution function for a standard normal distribution.
The critical boundary beyond which the absolute value of an observation $\hat{T}$ is considered significant is
$$T_{critical} = \sigma \Phi^{-1}(\alpha/2)$$
The power of the observed effect is the probability to observe a significant result given the alternative $H_a: \mu = \hat{T}$. This is also a function of the observed statistic $\hat{T}$ (along with the significance level $\alpha$ or critical level $T_{critical}$)
$$\text{power} = 1-\Phi\left(\frac{T_{critical}-\hat{T}}{\sigma}\right) + \Phi\left(\frac{-T_{critical}-\hat{T}}{\sigma}\right) $$
Also added are points where the observed p-value is equal to significance level. The power is close to 50% for an effect size close to the critical effect size of a significance test. If the true effect is close to the critical effect size then (for a symmetric distribution of the sample distribution of the observed effect size) you will more or less observe half the time a smaller effect and half the time a larger effect.
power = function(p,alpha) {
T_obs = -1*qnorm(p/2)
T_crit = qnorm(1-alpha/2)
return(1-pnorm(T_crit-T_obs)+pnorm(-T_crit-T_obs))
}
power = Vectorize(power)
p = seq(0,1,0.001)
plot(p,power(p,0.05),
log = "xy",
ylab = "power at observed effect size",
xlab = "observed p-value", type = "l",
xlim = c(0.001,7), ylim = c(0.001,1), xaxt = "n")
title("power at observed effect size \n
as function of observed p-value", cex=1)
axis(1, at = c(0.001,0.01,0.1,1))
lines(p,power(p,0.01), lty = 2)
lines(p,power(p,0.1), lty = 3)
lines(p,power(p,0.001), lty = 4)
for (p in c(0.001,0.01,0.05,0.1)) {
text(1,p,paste0("alpha = ",p), pos = 4)
points(p,power(p,p) , pch = 21, bg = 0)
}
Below is a similar graph considering the power of effect size for which the p-value of an equivalent observation would be $k$ times the significance level.
So if a study reports a p-value ten times above the significance level (fails to reject the null hypothesis), and one wonders what the power would be if the observed effect is the true effect, then this is roughly between 10% to 20% with the higher power for lower significance levels.
a = 10^seq(-5,-1.2,0.1)
plot(a,power(a*11,a),
type = "l", log = "xy",
xlim = c(0.001,0.1), ylim = c(0.1,0.6),
xlab = "alpha level", ylab="power")
title("power of at an effect size \n
equivalent to p-value with k times the significance level",
cex = 1)
for (k in 1:10) {
lines(a,power(a*k,a))
al = a[length(a)]
text(al,power(al*k,al), paste0("k = ",k), pos = 4)
}