In Excel or Google Sheets, percentile for the sample data is =PERCENTILE.INC(C2:C31,0.9). It returns 38.1.
p-th percentile = the value below which p% of the data falls (interpolated between neighbouring values)
Step by step
- Download daily.csv below and open it in Excel (File → Open) or Google Sheets (File → Import). Columns: A day, B ad_spend, C website_orders, D app_orders, E avg_basket; data in rows 2 to 31.
- Click an empty cell and enter =PERCENTILE.INC(C2:C31,0.9).
- Check the result against 38.1. If it differs, check that the ranges cover rows 2 to 31 and that no cell holds text instead of a number.
The formula
=PERCENTILE.INC(C2:C31,0.9)Expected result on the sample data: 38.1.
What the result means
This is the 90th percentile of daily website orders over 30 days. With so few days it sits between the 27th and 28th sorted values.
Notes for Excel
- Google Sheets supports the same function names. In locales that use a comma as the decimal separator, separate arguments with semicolons.
- Excel functions skip blank cells and text but include zeros. A missing day typed as 0 changes the answer; leave it blank if it is unknown.
Where percentile misleads
- Several definitions exist. PERCENTILE.INC, pandas quantile() and PERCENTILE_CONT agree; PERCENTILE.EXC does not.
- High percentiles need many rows to be stable. With 30 days, the 99th percentile is little more than the maximum.
- A percentile of a value (where does 35 rank?) is a different calculation: PERCENTRANK.
The plain-language explanation is on the Percentile page.
The data
| day | website_orders |
|---|---|
| 1 | 24 |
| 2 | 27 |
| 3 | 22 |
| 4 | 30 |
| 5 | 28 |
| 6 | 25 |
| 7 | 31 |
| 8 | 29 |
| 9 | 26 |
| 10 | 33 |
| 11 | 30 |
| 12 | 28 |
| 13 | 35 |
| 14 | 32 |
| 15 | 29 |
| 16 | 34 |
| 17 | 61 |
| 18 | 31 |
| 19 | 36 |
| 20 | 33 |
| 21 | 30 |
| 22 | 37 |
| 23 | 35 |
| 24 | 32 |
| 25 | 38 |
| 26 | 36 |
| 27 | 34 |
| 28 | 40 |
| 29 | 37 |
| 30 | 39 |
Same method, other tools
Related methods
Learn more about Excel
About the data on this page
The figures come from a small made-up dataset, printed above in full so you can check every number by hand. Download it as daily.csv. The results are computed from those rows when the page is built, and the Excel formulas, SQL and Python on these pages are run against the same rows before publishing, so the code and the answers agree.
To get these numbers from your own data without writing formulas, try AnalyzeIt: ask in plain words and it shows the working behind every figure.
Legal entity
Devansh Yadav
Moradabad, Uttar Pradesh
Governing law: Courts at Moradabad, Uttar Pradesh
Phone: +91 8433475698
Legal: legal@analyzeit.in