Attenuation is simply the degree to which the beer finally fermented. Over or under would probably just mean that it fell short or went too far than expected. There's a lot of possible causes. The amount of simple sugars in the wort, fermentation temp, yeast strain and health are the main ones that come to mind.
If you give a description of your recipe, process, and what happened, we can probably help correct it.