ForHosting KIT · Health & fitness

Effective field goal % calculator

Ten makes, four of them threes, on twenty attempts is an eFG% of 60 against a raw 50: each made three counts as an extra half make, so shooting nights are compared fairly. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Fgm
10
Three pointers made
4
Fga
20
You get
Efg percent
60
Efg
0.6
Field goal percent
50
Two pointers made
6

Effective field goal percentage, abbreviated eFG%, is the basketball shooting rate that gives extra weight to made three-pointers so a three-heavy night is not scored the same as a mid-range night with the same raw field-goal percentage. This calculator accepts field goals made, three-pointers made, and field-goal attempts, then returns the percentage using the standard identity (FGM + 0.5 × 3PM) divided by FGA. Zero attempts are rejected because the rate is undefined when nobody shot; negative counts are rejected because a box score cannot go below zero.

What effective field goal percentage measures and why FG% is not enough

Effective field goal percentage, often written eFG% on box scores and scouting reports, answers a question that raw field-goal percentage cannot: how efficient was this shooter once extra credit for three-pointers is included? A player who goes four-for-ten from the field with four made threes produced twelve points from those ten attempts; a teammate who goes four-for-ten with zero threes produced eight points. Both have a forty percent field-goal rate, yet the first night is clearly better.

The standard identity, popularized in Dean Oliver's Four Factors of basketball success, is eFG% equals field goals made plus one-half of three-pointers made, all divided by field-goal attempts. Multiplying by one hundred publishes a percentage that sits next to FG% on the same scale. Two-pointers still count as one make; each made three adds an extra half make so the extra point is not ignored.

This calculator implements that identity exactly: it does not estimate free-throw skill (that is true shooting percentage), does not require minutes or possessions, and does not scrape a league feed. You already have FGM, 3PM, and FGA from the box score; you get a deterministic percentage you can recompute by hand. Treat the number as a transparent shooting-efficiency figure, not as a player ranking, defensive context, or shot-quality model such as expected effective field-goal percentage from tracking cameras.

Practical tips, limits, and when to use this calculator

Copy FGM, 3PM, and FGA from the same split: a player game, a team half, a season, or a play-type slice all work as long as the three counts describe the same sample. Do not mix a player's makes with a team's attempts. Count only field goals; free throws belong in true shooting percentage, not here, and offensive rebounds or turnovers belong in other Four Factors.

A night of only threes can push eFG% above one hundred percent: ten-for-ten from three is one hundred fifty percent effective, which is correct, not a bug. Stay inside the published limits of one million on each count, which covers a career or a league-wide rollup without inviting unbounded integers. Prefer this capability when you already have the three box-score counts and only need the Oliver identity.

Round-trip checks are easy: ten makes, four threes, twenty attempts should return sixty percent, and doubling attempts at the same makes should halve the rate.

Scouting and box-score conversion

Analysts paste FGM, 3PM, and FGA from a game or stretch and publish eFG% next to raw FG% without a spreadsheet formula drifting between files.

Classroom Four Factors drills

Coaches and teachers generate answer keys that apply (FGM + 0.5 × 3PM) / FGA so students see why two identical FG% nights are not equally efficient.

How is effective field goal percentage calculated?

eFG% = (FGM + 0.5 × 3PM) / FGA × 100. Field goals made plus half of three-pointers made, divided by field-goal attempts, then scaled to a percentage.

Why can eFG% be higher than 100%?

Each made three is worth one and a half two-point makes in this identity. A perfect night of only threes yields 150%. That is the theoretical maximum, not an overflow.

Is the eFG calculator free?

The browser tool is free and runs locally.

What is the difference between eFG% and FG%?

FG% treats every make the same; eFG% adds half a make for each three. A player who goes four-for-ten with four threes scores twelve points, a teammate four-for-ten with no threes scores eight: both shoot forty percent, but eFG% shows the gap.

Can made threes be more than field goals made?

No. Every made three is also a made field goal, so a three-point count above the field goals made is rejected, as are makes above attempts. Copy all three counts from the same game, half or season.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/sports/efg

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/sports/efg \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fgm":10,"three_pointers_made":4,"fga":20}'
{
  "fgm": 10,
  "three_pointers_made": 4,
  "fga": 20
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "sports.efg",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_fgm1000000
max_three_pointers_made1000000
max_fga1000000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

How to call the API, which fields it needs, and how errors are raised

Makes that exceed attempts are rejected rather than silently clipped. Wire the free browser form for scouting and homework, then call the identical contract from scripts when you need bulk box-score conversion. Send a JSON body with three required integer fields. The field fgm is field goals made, a non-negative integer from zero through one million, with aliases field_goals_made and fg_made. The field three_pointers_made is made three-pointers, a non-negative integer in the same range, with aliases tpm, threes_made, and three_pm; it cannot exceed fgm because every made three is also a made field goal. The field fga is field-goal attempts, a non-negative integer with aliases field_goal_attempts, fg_attempts, and attempts. When fga is zero the task fails with invalid_input, because eFG% is a ratio and division by zero is undefined. Negative counts fail with invalid_input as well, naming the field that went below zero. On success the body returns efg_percent as the primary percentage, efg as the same rate on a zero-to-one-and-a-half scale, field_goal_percent as the raw make rate for comparison, the echoed counts plus derived two_pointers_made, the formula string, method oliver_efg, a short message, and an ordered steps array you can show next to the answer. A classic check is ten field goals made, four threes, and twenty attempts: weighted makes equal twelve, eFG% equals sixty, raw FG% equals fifty. Pricing for successful API calls is the published base of $0.002 per item; validation failures do not consume prepaid balance.

Practical tips, limits, and when to use this calculator

Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when you deliberately send zero attempts to test client validation. This page targets people searching for an eFG calculator, effective field goal percentage calculator, or eFG% from FGM 3PM FGA; it is not a true-shooting tool, not a points-per-possession model, and not a tracking expected-eFG estimator. API pricing remains $0.002 per successful request with unit item.

Season logs and app shooting columns

Stat apps store the three counts per game, then call this tool once to fill an eFG% column that matches the free browser widget byte for byte.

What happens if field-goal attempts is zero?

The API returns invalid_input. eFG% is undefined when nobody attempted a field goal, so a zero FGA is rejected rather than returning infinity or a fake zero.

Can three-pointers made exceed field goals made?

No. Every made three is also a made field goal, so three_pointers_made cannot exceed fgm. Makes also cannot exceed attempts. Those cases fail with invalid_input.

Read the full KIT documentation →