Normalization of Time Series Data
The table itself does not look like it contains redundant data. But, you explain "repetition of experiments and attributes on each day."

If the experiment had other attributes, splitting experiment definition into one table and results into another would be a standard normalization.

Experiment(Id, Name, Description)
Result(Experiment (FK), Participants, Participants_Attribute, Sales)


However, with the naming of the experiments "a" and "b" that seems to be covered already.

Another point of concern is the aggregate data, e.g. user_count. Normally, each result is stored separately and user_count would be a query on a child table. However, if the result is a group datum (individual data not stored), the current method is appropriate.