# Frequency alignment

#### Frequency Alignment: Matching Regressors to Your Model’s Time Granularity

Every regressor must supply exactly one value for each timestamp in your target series—no more, no less. Graphite Note enforces this 1:1 rule to ensure your external features line up perfectly with what you’re forecasting.

* Daily models → one regressor value per date
* Hourly models → one regressor value per hour
* Weekly models → one regressor value per week, etc.

If your raw data has a finer granularity than your model (e.g., minute-level web clicks for a daily forecast), you must aggregate it (sum, mean, max, etc.) so each day has a single number. Conversely, you can’t “stretch” a single daily value into multiple hourly slots without interpolation—each timestamp needs its own authentic input.\
\
\&#xNAN;***Numerical Regressors (e.g. Cost per Unit)***

* *Aggregate before uploading.*
* *Choose a summary statistic that fits your use case:*
  * *Average (mean unit cost)*
  * *Sum (total cost volume)*
  * *Max/Min (peak or baseline cost)*
* *Result: one number per date (or hour/week) that aligns 1:1 with your target.*

\
\&#xNAN;***Categorical Regressors (e.g. Category Code, Weather Label)***

* *Ensure only one category value per timestamp.*
* *If multiple occur:*
  * *Select the most representative label (e.g., “predominant” weather condition),*
  * *Encode logic-based rules (e.g., if any “Rain” occurs → is\_Rain = 1),*
  * *Or use proportions: % Category A = count(A) ÷ total.*

By strictly aligning frequencies—one regressor row for each target timestamp—you eliminate timing mismatches and give your model clean, reliable inputs.
