Profits You Make
Slush Profits
How profitable is it selling slush? We have made some big claims on some of our website pages regarding the big profits achievable when selling slush drinks. So let’s look at the detail which will allow you to assess how much profit your business can make.

We’ve used the national average sell price for the popular 10oz (300ml) drink selling for £1.20, then subtracted the VAT at £0.20 and the cost of the drink at £0.14. This is the actual net profit per drink which is £0.86.
We’ve then based these numbers on 6 days trading each week, 9 months of the year (234 days per year). Daily sales are an average; you may sell less when the weather is cooler but significantly more during the summer.
The 9oz cost per drink is 14p which includes the slush syrup, branded slush cup and straw spoon.
Selling a medium 9oz drink at £1.20. Net profit is £0.86
| 9oz Drinks per Day | Sales Value | Net Profit |
| 15 | £4,212 | £3,019 |
| 25 | £7,020 | £4,914 |
| 40 | £11,232 | £8,050 |
| 50 | £14,040 | £10,062 |
| 75 | £21,060 | £15,093 |
| 100 | £28,080 | £20,124 |
Selling a large 12oz drink at £1.50. Net profit is £1.05.
VAT calculated at 25p and product costs at 20p
| 12oz Drinks per Day | Sales Value | Net Profit |
| 15 | £5,265 | £3,685 |
| 25 | £8,775 | £6,142 |
| 40 | £14,040 | £9,828 |
| 50 | £17,550 | £12,285 |
| 75 | £26,325 | £18,428 |
| 100 | £35,100 | £24,570 |
Selling a large 16oz drink at £1.80. Net profit is £1.27.
VAT calculated at 30p and product costs at 23p
| 16oz Drinks per Day | Sales Value | Net Profit |
| 15 | £6,318 | £4,458 |
| 25 | £10,530 | £7,429 |
| 40 | £16,848 | £11,888 |
| 50 | £21,060 | £14,859 |
| 75 | £31,590 | £22,288 |
| 100 | £42,120 | £29,718 |
<div class=”slushcalc” id=”slushcalc”>
<div class=”slushcalc__header”>
<h3>Slush Profit Calculator</h3>
<p>Adjust the numbers to see profit per drink, P.O.R. and daily/weekly/annual profit.</p>
</div>
<div class=”slushcalc__grid”>
<label>
Selling price (£)
<input type=”number” step=”0.01″ min=”0″ id=”sc_sell” value=”1.50″ />
</label>
<label>
Cost per drink (£)
<input type=”number” step=”0.01″ min=”0″ id=”sc_cost” value=”0.21″ />
</label>
<label>
Drinks sold per day
<input type=”number” step=”1″ min=”0″ id=”sc_drinks” value=”30″ />
</label>
<label>
Trading days per week
<input type=”number” step=”1″ min=”0″ max=”7″ id=”sc_daysweek” value=”7″ />
</label>
<label>
Trading weeks per year
<input type=”number” step=”1″ min=”0″ max=”52″ id=”sc_weeksyear” value=”52″ />
</label>
<div class=”slushcalc__actions”>
<button type=”button” id=”sc_reset”>Reset to example</button>
</div>
</div>
<div class=”slushcalc__results” aria-live=”polite”>
<div class=”slushcalc__card”>
<div class=”slushcalc__label”>Profit per drink</div>
<div class=”slushcalc__value” id=”sc_profitdrink”>£0.00</div>
</div>
<div class=”slushcalc__card”>
<div class=”slushcalc__label”>Profit on Return (P.O.R.)</div>
<div class=”slushcalc__value” id=”sc_por”>0%</div>
</div>
<div class=”slushcalc__card”>
<div class=”slushcalc__label”>Daily profit</div>
<div class=”slushcalc__value” id=”sc_daily”>£0</div>
</div>
<div class=”slushcalc__card”>
<div class=”slushcalc__label”>Weekly profit</div>
<div class=”slushcalc__value” id=”sc_weekly”>£0</div>
</div>
<div class=”slushcalc__card slushcalc__card–wide”>
<div class=”slushcalc__label”>Annual profit</div>
<div class=”slushcalc__value” id=”sc_annual”>£0</div>
<div class=”slushcalc__note” id=”sc_note”></div>
</div>
</div>
</div>
<style>
.slushcalc{
font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
border:1px solid #e6e6e6; border-radius:14px; padding:18px;
max-width: 820px; background:#fff;
}
.slushcalc__header h3{ margin:0 0 6px 0; font-size:20px; }
.slushcalc__header p{ margin:0 0 14px 0; color:#555; line-height:1.35; }
.slushcalc__grid{
display:grid;
grid-template-columns: repeat(3, minmax(0,1fr));
gap:12px;
margin-bottom:14px;
}
.slushcalc label{ display:flex; flex-direction:column; gap:6px; font-size:13px; color:#333; }
.slushcalc input{
width:100%; padding:10px 12px; border:1px solid #d9d9d9; border-radius:10px;
font-size:15px; outline:none;
}
.slushcalc input:focus{ border-color:#888; }
.slushcalc__actions{ display:flex; align-items:flex-end; }
.slushcalc__actions button{
width:100%;
padding:10px 12px; border-radius:10px; border:1px solid #d9d9d9; background:#f7f7f7;
cursor:pointer; font-size:14px;
}
.slushcalc__actions button:hover{ background:#f0f0f0; }
.slushcalc__results{
display:grid;
grid-template-columns: repeat(4, minmax(0,1fr));
gap:12px;
}
.slushcalc__card{
border:1px solid #efefef; border-radius:14px; padding:12px 14px; background:#fafafa;
}
.slushcalc__card–wide{ grid-column: span 4; }
.slushcalc__label{ font-size:12px; color:#555; margin-bottom:6px; }
.slushcalc__value{ font-size:22px; font-weight:700; letter-spacing:-0.2px; }
.slushcalc__note{ margin-top:6px; font-size:12px; color:#666; }
@media (max-width: 760px){
.slushcalc__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.slushcalc__results{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.slushcalc__card–wide{ grid-column: span 2; }
}
</style>
<script>
(function(){
const $ = (id) => document.getElementById(id);
const inputs = {
sell: $(“sc_sell”),
cost: $(“sc_cost”),
drinks: $(“sc_drinks”),
daysweek: $(“sc_daysweek”),
weeksyear: $(“sc_weeksyear”),
};
const out = {
profitdrink: $(“sc_profitdrink”),
por: $(“sc_por”),
daily: $(“sc_daily”),
weekly: $(“sc_weekly”),
annual: $(“sc_annual”),
note: $(“sc_note”),
};
function clampNum(v, min=0, max=Number.POSITIVE_INFINITY){
v = Number(v);
if (Number.isNaN(v)) return min;
return Math.min(max, Math.max(min, v));
}
function fmtGBP(n){
return new Intl.NumberFormat(“en-GB”, { style:”currency”, currency:”GBP”, maximumFractionDigits:2 }).format(n);
}
function fmtPct(n){
return `${Math.round(n)}%`;
}
function calc(){
const sell = clampNum(inputs.sell.value, 0);
const cost = clampNum(inputs.cost.value, 0);
const drinks = clampNum(inputs.drinks.value, 0);
const daysweek = clampNum(inputs.daysweek.value, 0, 7);
const weeksyear = clampNum(inputs.weeksyear.value, 0, 52);
const profitDrink = sell – cost;
const por = sell > 0 ? (profitDrink / sell) * 100 : 0;
const daily = profitDrink * drinks;
const weekly = daily * daysweek;
const annual = weekly * weeksyear;
out.profitdrink.textContent = fmtGBP(profitDrink);
out.por.textContent = fmtPct(por);
out.daily.textContent = fmtGBP(daily);
out.weekly.textContent = fmtGBP(weekly);
out.annual.textContent = fmtGBP(annual);
out.note.textContent =
`Based on £${sell.toFixed(2)} selling price and £${cost.toFixed(2)} cost per drink.`;
}
Object.values(inputs).forEach(el => el.addEventListener(“input”, calc));
$(“sc_reset”).addEventListener(“click”, () => {
inputs.sell.value = “1.50”;
inputs.cost.value = “0.21”;
inputs.drinks.value = “30”;
inputs.daysweek.value = “7”;
inputs.weeksyear.value = “52”;
calc();
});
calc();
})();
</script>
