The before and after parameters limit the range of results, whereas the first/last parameter determines how many results from that range to return at a time, and whether to start at the beginning of the set or the end. This is needed if you’re going to paginate through results. Imagine that you have 1500 orders during the 11 month period that you’re querying. You can’t return all 1500 orders in a single response, so you need to specify how many orders to return at a time, and whether to start with oldest first or newest first. You can read more about how this works in our GraphQL documentation and there is also a post on the partners blog with accompanying video here: https://www.shopify.ca/partners/blog/graphql-pagination