How to represent time based periodic data for use in ML I have a dataset of following format -

Number of Machines
CustId   Month0   Month-1   Month-2   Month-3   Month-4
abc      23       26        29        0         0
def      53       26        22        22        12
ghi      11       26        150       120       10

Size of data protected
CustId   Month0   Month-1   Month-2   Month-3   Month-4
abc      23       26        29        0         0
def      53       26        22        22        12
ghi      11       26        150       120       10


The data is Month-over-Month data. For simplicity I have used the same data in both tables, but for a given CustId data will be present in both the tables. Similarly there are tables for other parameters as well.

I want to use machine learning for some classification. What is the best way to serialize this MoM data for different parameters? Is there any standard practice for this?

Edit:

I am not sure of what are the distinctive patterns in the graphs of the parameters for different classification categories. By graph of the parameter I mean Number of machines plotted against Month.

One thing I can do is to combine all the tables with format something like - 

    CustId   ----# machine---       -------data protected-----
             Month0   Month-1 ...   Month0   Month-1   Month-2 ...
    abc      23       26      ...   23       26        29      ...
    def      53       26      ...   53       26        22      ...
    ghi      11       26      ...   11       26        150     ...


But I don't want to use this format because in here all the columns (monthly data) would be treated as independent data points. I want the columns under '# machine" category to be treated as group and the columns under "data protected" as another group.

I came across this Python Library (tsFresh) which extracts information from the graphs. I am looking for something similar or any other way to approach this problem.
Answering the question JahKnows asked in the comment above will help with finding the suitable solution for your use cases.

If you are not exactly sure what you are after, here are a few things you can do with a dataset like this:


One of the basic things you can do is to find customers that behave similarly. With the data that you have, you can consider the number of machines used by each customer in each month as features. In this case, each customer is described with 5 features. I would run a clustering algorithm against this data (of course leave CustId field out) and see how many types (clusters) of customers you have. 
Another thing to do is to run statistical analysis over the number of machines your customers use each month and find those that stand out from the rest of the population (customers). 
Another analysis you could do is to analyze the trend for each customer separately and based on their past behaviour, determine if the number of machines they have used in the past month was in accordance with their historical behaviour. In this case, you can take proper actions based on the shift of behaviour. E.g. a drop in the number of machines could mean the customer is having technical difficulties or churning.