Three separate things make a printed hole undersized, and only one of them is shrinkage. That is why scaling the part rarely fixes it.
One: the circle is not a circle
A slicer approximates a curve with straight line segments, and those chords sit inside the true circle. The smaller the hole, the larger the error as a proportion of its diameter — which is exactly why an 8 mm bore is proportionally worse than a 20 mm one.
Raising the model's mesh resolution helps. It does not eliminate the effect, because the toolpath is still polygonal.
Two: the extrusion bulges inward
On the inside of a curve, the nozzle is turning while depositing, and molten plastic under pressure expands towards the free space — which for a hole is the middle. The bead ends up slightly fatter on the concave side.
This is why a hole comes out tighter than the same slot printed as a straight-sided opening.
Three: shrinkage, which is the smallest term
PLA at 0.3% takes a 20 mm hole to 19.94 mm, and an 8 mm bearing bore to 7.976 mm. Real undersize is usually two to five times that, which tells you the other two effects dominate.
Designing around all three
- Model holes oversize by a fixed amount, not a percentage. Two of the three effects scale with circumference rather than diameter, so a constant allowance of a couple of tenths of a millimetre matches reality better than a scale factor.
- Use your slicer's hole compensation if it has one. Most modern slicers do, and it applies exactly this kind of fixed offset.
- Print a test plate. A grid of holes from 3 mm to 20 mm, measured against the model, gives you the offset for your machine in one print.
- Drill or ream critical bores. A printed hole is a pilot; a reamed one is a dimension. For bearing seats and dowel pins this is the fastest route to accuracy.
Vertical holes are the bad case
A hole printed with its axis along Z suffers all three effects. A hole printed on its side — axis along X or Y — suffers only shrinkage, but gains a sagging top from the unsupported bridge over it.
Neither orientation is free. If a hole must be accurate and round, orient it vertically and finish it with a reamer.
Compute the shrinkage share for your own dimension in the shrinkage calculator, and see the fit tables in the tolerances and fit guide.