What is the Present Perfect Progressive?
The present perfect progressive describes an activity that started in the past and is still in progress now, or a recent continuing action whose result we can see. It emphasises the duration or ongoing nature of the action.
Positive: subject + have / has + been + verb+ing
Negative: subject + haven't / hasn't + been + verb+ing
Question: Have / Has + subject + been + verb+ing?
Still in Progress Now
Use the present perfect progressive when the action started in the past and is still happening.
I have been studying English for three years. (I started three years ago and I'm still studying)
She has been working here since 2020. (she started in 2020 and still works here)
They haven't been sleeping well lately.
Recent Action with a Visible Result
Use it when a recent continuous action explains a present situation or result.
Your eyes are red. Have you been crying? (recent action explains current state)
I'm exhausted — I have been running.
The ground is wet. It has been raining.
For and Since
Use for to say how long the action has been happening. Use since to say when it started.
I have been learning guitar for six months. (duration)
She has been living here since January. (starting point)
for: for two hours, for a week, for years, for a long time
since: since Monday, since 2019, since she was a child
Present Perfect vs Present Perfect Progressive
Use the present perfect to focus on a completed action or its result. Use the present perfect progressive to focus on the activity itself and how long it has been happening.
I have read three books this month. (completed — how many)
I have been reading all afternoon. (ongoing — how long)
She has written the report. (it's finished)
She has been writing the report all day. (still in progress)
⚠ Common mistakes:
✗ I have been knowing her for years. → ✓ I have known her for years. (stative verbs like know, love, believe don't use progressive forms)
✗ She has been working here since two years. → ✓ She has been working here for two years. (duration = for)
✗ I have been working here since 3 years ago. → ✓ I have been working here for 3 years.