In order to expand the ships available for my 12th century Baltic campaign I developed scaling laws for sizing longships up and down from historical finds. I used the finds at Ladby, Hedeby, Skuldelev 2 and 5, and Roskilde 6 as my historical data points.
You can find the results in this google spreadsheet.
The smallest three longships are Karvi, the 12 bencher is the smallest ship that could be counted under the Leidang (naval militia) and the 13 bencher is the smallest that was suitable for military use under Gulating Law (10th century). Skuldelev 5 was a 13 bench longship. The militia ships are the size that are preferred for the Leidang, with the 20 benchers making up the bulk of the fleet. The main line ships are Skeid, the flagships for Kings and other powerful rulers, the largest longship every found had 39 benches (Roskilde 6).
You can also size a custom longship using the rules that I used by downloading this spreadsheet. The only tricky part is that you have to iterate the estimated K/L value or use Excel’s solver to minimize the error. I recommend that you start with a K/L value of .68 as a mid-range estimate. Everything but the K/L solving is automatic.
Edit: Let me know if you have any questions about the assumptions of either spreadsheet, or questions about how to use the excel solver function to design a unique longship.