В чем может быть ошибка? И надо ли создавать отдельный файл JSON?
var arr = JSON.parse(localStorage.getItem('avg')) || [];
document.getElementById("btn").addEventListener("click", function() {
var num = parseInt(document.getElementById("num").value)
if(!num) return; // ?
arr.push(num);
var avg = arr.reduce(function(a, b) { return a + b; }) / arr.length;
document.getElementById("res").innerText = avg;
localStorage.setItem('avg', JSON.stringify(arr));
})