Allow me to explain.

To start, I name the
attack and the
command. That's pretty self-explanatory. The
LV (level) refers to how the move must be guarded. This is irrelevant to frame data, but it's there for organization.
Here's where the frame data gets to be important:
- DUR(Duration) - This is the duration of the attack. Assuming you use Fighter Factory, you can get this number by picking your animation, scrolling to the last element and taking the total ticks. It's pretty simple stuff here.
- IMP(Impact) - This is the frame of impact. Easy to get, but sometimes you can forget what is the right number. To get this, first fine the animation element where your first red collision appears. Then, jump back one element. Take the total number of frames up to that point, add 1 and there you have your impact reading.
- ACT(Active) - Ok so this one can be very tricky and there are a number of ways to do this. If your character doesn't have multi-hit moves, calculating this is easy enough. Simply find the last element where a red collision appears, take the total frames, subtract the total frames that add up to the element just before the first impact (or impact - 1 to make this easy).
If you have multi-hit moves and if you don't want the opponent to be able to counter in between hits, then you can do the same thing above with no issue. If you're making a slower game and if you want players to be able to counter between hits, you'll have to do this the hard way by calculating frame data separately for each hit. It's not really hard, it's just a lot of effort.
After you have duration, impact, and active time entered, you simply just need to decide how much hit time and guard time you want. Just type in values under
HIT and
GRD and the values under
HIT ADV and
GRD ADV will update dynamically. I'll explain why this is relevant later.
The rest of the chart is there for your own reference and is not crucial to calculating frame data.
- DMG(Damage) - How much damage it does
- CHP(Chip) - How much chip damage it does
- GRDDMG(Guard Damage) - How much guard damage it does. In my case, it's the same as "pausetime". I use that to calculate the amount of guard damage a move does.
- PWR(Power) - How much meter the move gives.
- OVR(Overdrive) - How much Overdrive meter the move gives. This is proprietary stuff just to my game.
- P(Priority) - The priority of the attack
The next chunk of data is also for your own reference, but it functions a bit differently than the rest of the chart. I'm not going to explain everything here, but I'll explain a few and how it functions.

- SP - Can special cancel
- SU - Can super cancel
- KD - Can knock down
- TEC - Can tech/is soft knock down
- GRV - Is gravity scaled
To get the nice check marks, simply type '1' into the spot you want a check. I don't use it, but if you enter '0' or '-1', you'll get a yellow exclamation mark or a red x respectively. Again, this is more for your own reference, and you can do whatever you want with this section. Personally, I like to organize everything so I can keep track of character data in a way that's much easier to look at than cycling through thousands of lines of code.
The short answer to this question is ignoring frame data will inevitably mean you game or character will be unbalanced. It's really as simple as that. You're going to have infinites or totally and completely useless moves if you're not paying attention to the little details. I say little not to imply that they're unimportant, but because the smallest change can totally make or break a character.
Let's examine the following moves:

Now this is a pretty good move. Why is it so good? It starts up pretty fast (comparitively) and it offers a lot of frame advantage on hit or guard. The bad part about it is the active frames are pretty low. I'll explain this in a second. The hit advantage assures that the next chained attack will have no issue landing, or you'll be able to link into some faster moves. The guard advantage means you can apply some pressure or even trick your opponent into doing something so that you can counter it.
Frame advantage is a bit tricky to wrap your head around. Refer again to the move above. When this move lands, you have 8 frames between the time your attack's animation finished and the time it takes for your opponent's hit animation to finish. A safe move is classified as a move that is either at an advantage on block or is unpunishable on block. For my game, -2 is typically pretty safe. Knock back can also make moves pretty safe (depending on the match up), but that's a bit more advanced.
Ok, so, active frames. A move with a lot of active frames is great for anti-airs or jumping in attacks. It's also great for meaty
1 attacks as well as cross-ups
2 or jump in attacks. Large active frames on jabs can create mix-up
3 situations. You can take the advantage to slightly move forward and try to go for a tick throw
4 or lows that are hard to read. This is a hard thing to know how or when to adjust, but you get the hang of it with experience.

This move is good-ish. It's supposed to be a long-range poke. It's fast (5 frame start up), it's relatively good active-wise and it's not really punishable. Very few people can punish this move and even then, this move has to be done at point blank range and you have 1 frame to punish it (assuming you have a 2 frame jab, but I'll get into this a bit later). You can't get cute with this move though. Even on hit, it's -1, so you're basically using it to poke people or hit confirm from long ranges to get something bigger. Personally, I believe all pokes should not put you at any sort of advantage, or you're going to run into highly abuseable moves. Allow me to explain further:
Take this move above. It starts up in 5 frames and on hit it's -1. As soon as I see it hit, I do it again. Because of the data associated with it, it means the opponent now has 6 frames to put out a move to beat mine. Confusing? Bear with me here. If I do this move, it hits you, you mash out a jab (let's say it's a 3 frame jab), and I'm mashing out the same 5 frame poke; your move is going to win by about 4 frames. Got that? Honestly, you can probably get away with doing it twice in a row, but frame data wise, it's a beatable move; potentially annoying, but beatable. Obviously, since it's -3 on block you don't really want to be doing it too much in a row.

Don't be fooled by this move; it's actually pretty good if used properly. Yes, it's -9 on block and, yes, that means it can be easily punished. However, this is also a long range poke attack - about half screen to be a bit more descriptive. It starts up in 13, it's active for 4 and it's a low. It's pretty hard to react to, so you can catch people off guard who aren't blocking or who are recklessly approaching from certain ranges. You can't use it from certain points as you'll get punished, but it's not so bad.
Why is the hit time blanked out? Since this move knocks down, calculating hit time on these moves is irrelevant. You can set it to 1 - you can set it to 1 million; it makes no difference.
Ok. Enough pokes. Here's this one:

This is a typical Shoryuken-style move
5. Fast start up and some invincibility, but reeeeallly unsafe. Seriously, it's at least -30 on block. I say at least because you can't really calculate frame advantage on jumping moves. I mean, you can, but taking the time to count the frames in a jumping move is usually unnecessary unless you need it to be safe for some reason. This move is supposed to be a risky move that you really only want to use in tight situations or combos. It's meant to stop a lot of approaches from the air, but that's really the only time you should be using it raw. This move also classifies as a reversal
6.
This move actually isn't that great though. The reason is, most jabs are 2-3 frames start up. This means if we both attack at the exact same time, with you doing a jab and me doing this move, you're going to win. The invincibility on this particular move kicks in during the hit, so, even though its a reversal, it will lose to meaty attacks as well as jabs. Basically you have to be careful with it.
Having said all that, there are some moves you just can't really generate accurate frame data for. Air attacks are one of them. Since the player can start the attack at any point during the jump, and since the animation of said attack can end at any point (due to landing), these are impossible to figure out where to precisely put the advantage. Most fighting games allow combos from deep jump ins
7. This will require retooling on your own part, but I usually have it set to around 15 for both hit and guard. The pace of my game makes it so if you want to combo from a jump in, you have to do it pretty deep and if you want to do an air-to-air, you have to do it early. Throws fall into this category as well.
Since you can't guard throws, data beyond the duration and point of impact is superfluous.
Ok, so we've extensively covered how to determine what is safe or unsafe. What else can you use frame data for?
Through adjusting frame data, you can actually allow for expanded combos that go beyond chains
8. These combos are called links
9. By including these, you bring depth to your character and make them more fun for skilled people to play as they will be able to create new combos outside simple ABC chains.

This is seriously one of my favorite moves. Yeah it starts up slow (15 frames), but it's an overhead
10 and it's neutral on block. PLUS it's +5 on hit. Why is this so awesome?
This move belongs to HEX Charlotte who has just fantastic high/low mix up as well as a great deal of frame traps
11. Basically, you can do the move above have it blocked, then do a quick low to try and either trick your opponent with a mix up or even frame trap them (or in this case; both). Additionally, this move (if it connects) allows you to link into moves that have a start up time of 5 or lower. Things like this can be troublesome (infinite combos) however, but I'll go over this later.

If you're making a grappler character, moves like this are great. This move in particular is an overhead, it has the potential to cross-up at close ranges, and it puts you at enough frame advantage on hit to prepare for a mix-up situation. HEX Nadia owns this move and with it she has a few options:
- Go for a command throw (214+AT)
- Go for a lunging attack (623+C)
- Tick normal throw
- Jab
As you can see, she has a lot of options from this one move that are created simply from the frame data. She's able to utilize these options more effectively on hit, but she can still go for them on block-it just ends up being more risky for her. Allow me to go through each one-by-one:
- This option is effective on hit or block but each scenario carries some risk. If the move above hits, Nadia is at +2 automatically and her command throw takes 5 frames to start up. Command throws (or throws in general) do not hit aerial opponents in my game, so jumping is usually a good option to get away from throws. In this case, however, you cannot escape the throw by jumping. Upon pressing up, there is a 3 frame delay before you are actually in the air. Get it? She's +2 on hit, she does a 5 frame move following it meaning your jump will not come out in time to escape. If you block the move above, you can avoid it by jumping. The only way to avoid getting grabbed is to back dash. Back dashes in Rumble Pack start up instantly and are invincible for a short period during the start up frames. It should be noted that if you are able to avoid this attack, it is MASSIVELY unsafe to whiff12 it. There are issues with jumping or back dashing in this situation though...
- The lunging attack! This move will catch anyone attempting to back dash or jump: plain and simple. It does less damage, but it knocks you down; giving Nadia another chance to mix you up. Basically if she predicts you'll try to evade the grab and tricks you by doing this move instead, you're in trouble. She can pretty effectively create a vortex13
- A normal throw works and is a pretty safe option. The only issues here is that it can be back dashed or jumped (a bit harder to do as it's faster than a command throw) and it can be broken14. The advantage to this is that these are harder to avoid or see coming.
- Jabs are your safest option hands down, but they don't offer much in the way of mix-ups alone. You'll need to find ways to expand on this for it to actually be effective as a mind game15.
The cool thing is you can get a lot of this from frame data! Keep in mind though, that you can totally make or break a character by one number being off by even just 1. Seriously. That reversal I mentioned a bit ago; if it was one frame faster it would be much better as it would beat nearly all jabs in the game. Conversely, if it was one frame slower, every single jab in the game would beat it meaning you could never use it up close. Frame data is THAT crucial.
Taking what was mentioned above about making links, you have to keep a lot of things in mind. If you make something link into some thing else that then leads back into the move; you potentially have an infinite combo16. You'll either need to make it so you can't get back into that move by some coding work-around or (more conventionally) put a lot of knock back on the move so it's harder/eventually impossible to link the move. It's pretty simple stuff. You can even use frame data to find potential infinites by using the techniques listed above. Essentially, do what you like here. I personally do not like infinites (doing them or receiving them), but it's ultimately up to you.
Careful manipulation of frame data to balance your game or character is so incredibly important. By doing it properly, you can make your character so much more fun than simple flashy chain combos. More often than not, skilled players enjoy the satisfaction of links and successful mix-ups more than they enjoy doing minute long chain combos. I can't really offer you any rules or guidelines on what needs to be done to your character. It's all up to how you want your character to play. Fast invincible moves are usually supposed to be unsafe and slow moves can be safe, but seriously it really comes down to how useful the move actually is by itself. This is more up to you and how you design the character. Clearly, you can see that a lot of thought has to be put into a character to make it balanced or even more fun.
If some skilled developer wants to use this excel sheet as a starting point to make some sort of app or tool to assist in MUGEN development, I encourage it! This would be infinitely more useful if it could directly read/edit characters directly. I requested something like this for Fighter Factory, but I assume that since this wasn't requested by anyone else but me, he probably didn't think too much of it.