This can get a little complicated, so let's go slowly.
Let's start with those guaranteed analyses.  Protein and fat, because they're deemed to be so valuable nutritionally, are always minimum guarantees.  That means, for instance, if you put down 5.0% as your fat guarantee, you are saying that a test of a randomly drawn sample of your product will always show at least 5.0% fat.  Moisture and fiber, because their presence dilutes the more valuable nutrients, are always maximum guarantees.  Thus, a guaranteed fiber analysis of 5.0% on your label means a test of a randomly drawn sample of your product will always be at or below 5.0% (If you wish to label your treat as "low fat" or similar, you'll have to put down both minimum and maximum levels; check with your state department of ag).
Now let's talk about why it's important that you fix reasonably attainable guarantee levels for your product.  Nearly all states have programs whereby agriculture department agents draw random samples from products on shelves of farm stores and pet shops and send them back to their lab for testing.  If you've guaranteed 15.0% protein and they find 13.3%, you're in trouble.  No, they won't arrest you.  And they're highly unlikely to remove your products from the shelves based on just one such incident, but things could get a little inconvenient for you.  So you want to set guarantee levels that you can always achieve.  And yet you can't go setting ridiculous guarantees, say 1.0% minimum protein or 90% maximum fiber, because shoppers are going to hold up your bag against a competitor's to see which is more nutritious.  So you really need to set guarantee levels that you can always achieve but that are attractive to the consumer.
This is a good time to talk about analytical and product variability.
Just because you had your product tested once and they found x protein, y fat, z fiber, that doesn't mean that batch after batch of your product will have exactly x, y, & z percent of those nutrients.  Heck, if you ask the lab to retest that same sample, they will produce results a few tenths of a percent different from the first time (if they're a decent lab).  Analytical chemistry is pretty good, but not perfect.  Obviously, the same holds true for the state ag labs, too (which is why, incidentally, they tolerate small deviations from guarantees).
But that variability is minor compared to your product variability.  Oh, the dry powdered or granular ingredients you use (flour, sugar) should not vary significantly from batch to batch, but the coarser materials, like raw meat products, fruits and vegetables will vary considerably in nutrient content.
And that's still nothing compared to the biggest variables: your cooking time and temperature.  Part of what you're doing when you bake something is driving off some of the moisture from your batter.  And moisture has a complementary relationship with the other nutrients.  Bake a dry cookie, and you get higher protein, fat and fiber levels.  Bake a mooshy one, and you have less protein, fat and fiber (because there's more water, there's less "room" for the other nutrients, so to speak).  So try to keep cooking conditions constant!

 

Now let's relate all this to the actual analyses we produce for you.  You've sent us what you think is a highly representative sample of your product (keeping those ingredient and cooking variables in mind), and you've gotten the results.  How do you use them to establish your guarantees?  My suggestion is that you set your guarantees 20% on the "safe side" of your actual analyses. For instance, if we reported a protein level of 12.5%, then 20% of 12.% is 2.5%, so set your protein guarantee at 10% (don't forget: protein is a minimum guarantee, so it's 12.5% minus 2.5% = 10.0%).  If our actual fiber finding were 5.0%, then since 20% of 5.0% is 1.0%, you'd set your guarantee at 6.0% (5.0% plus 1.0%).
Since numbers rarely work out so conveniently in real life, let's set some slightly more random numbers down in tabular form and see what happens.  Suppose you got the following results back on your certificate of analysis: protein=11.27%, fat=9.63%, fiber=7.42%, moisture=9.86%.

Test Name = Protein Fat Fiber Moisture
actual result in % = 11.37 9.63 7.42 9.86
+/- 20% of actual = 9.096 7.704 8.904 11.832
rounded value in %= 9.0 7.5 9.0 12.0

The first row obviously shows the test names.  The second is the results on our certificate of analysis.  The third row contains the values you'd calculate by adding/subtracting (as appropriate) 20% from the actual results.  And the last row shows what applying common sense arithmetic rounding produces.  This is what I'd put on my guaranteed analysis tags, if I were in your shoes.