Faits:
A. Depuis le 1er septembre 2002, Y._ et Z._ sont locataires à Genève d'un appartement qui appartient à la société immobilière X._ SA (bailleresse); le loyer initial était de 17'400 fr. par année (1'450 fr. par mois). Par avis de majoration du 8 mai 2009, la bailleresse a déclaré porter le loyer annuel à 18'720 fr. (1'560 fr. par mois) dès le 1er septembre 2009, charges non comprises; cette majoration était motivée sur une feuille annexée à l'avis officiel. Les locataires ont contesté cette hausse en temps utile devant la Commission de conciliation en matière de baux et loyers; la tentative de conciliation s'est soldée par un échec.
La bailleresse a saisi le Tribunal des baux et loyers en validation de la hausse. A titre reconventionnel, les locataires ont demandé une réduction de loyer de 8,26% ensuite de la baisse du taux hypothécaire de 4% à 3,25%; ils ont également requis une réduction en raison des nuisances générées par les travaux de remplacement des colonnes de chute de l'immeuble, prétention qui a fait l'objet d'une procédure séparée. Statuant par jugement du 27 avril 2010 notifié aux parties le 4 mai 2010, le Tribunal a débouté la bailleresse au motif que l'avis de majoration de loyer était nul car mélangeant de façon incompréhensible les motifs absolus et relatifs de hausse. Le Tribunal a par contre partiellement admis la demande reconventionnelle et réduit le loyer de 5,66% (985 fr. par an ou 82 fr. par mois) en tenant compte d'une baisse du taux hypothécaire de 4% en juin 2002 (date de la conclusion du bail) à 3,5% en mai 2009 (date de la hausse litigieuse). Le loyer a dès lors été fixé à 16'415 fr. par année (1'368 fr. par mois) dès le 1er septembre 2009, charges non comprises.
La bailleresse a déféré ce jugement à la Chambre d'appel en matière de baux et loyers de la Cour de justice, qui a rejeté l'appel par arrêt du 17 octobre 2011. Appliquant le droit de procédure cantonal, la Chambre a déclaré irrecevables de nouveaux allégués de fait et écarté de nouvelles pièces; sur le fond, elle a fait sienne la motivation des premiers juges.
B. Devant le Tribunal fédéral, la bailleresse (ci-après: la recourante) interjette un recours en matière civile, concluant à ce que la baisse de loyer accordée aux locataires (ci-après: les intimés) soit annulée. Ces derniers concluent au rejet du recours. L'autorité précédente se réfère à son arrêt.
La recourante a déposé par la suite des observations. Les intimés ont renoncé à faire usage de cette faculté. La présidente de la cour de céans a accordé l'effet suspensif par ordonnance du 1er décembre 2011.

Considérant en droit:
1. Dans les causes de droit du bail à loyer, la valeur litigieuse ouvrant la voie du recours en matière civile est de 15'000 fr. (<ref-law>). Elle est déterminée par les conclusions restées litigieuses devant l'instance précédente (<ref-law>). Le montant de la demande principale et celui de la demande reconventionnelle ne sont pas additionnés (<ref-law>). Les prestations périodiques ont la valeur du capital qu'elles représentent; si leur durée est indéterminée ou illimitée, le capital correspond aux prestations durant vingt ans (<ref-law>). En instance d'appel, la conclusion principale portait sur une augmentation de loyer de 110 fr. par mois, si bien que la valeur litigieuse déterminante s'élève à 26'400 fr. (110 x 12 x 20); le recours est recevable ratione valoris.
La recourante conteste uniquement l'admission partielle de la demande reconventionnelle des intimés en réduction du loyer. Le rejet de la demande principale en validation de la hausse de loyer n'est pas remis en cause; ce point est partant définitivement acquis.
2. La recourante se plaint d'une violation de l'<ref-law>. Elle reproche à l'autorité cantonale d'avoir réduit le loyer en fonction de la baisse du taux hypothécaire sans examiner si la chose louée lui apportait un rendement excessif et sans examiner si la baisse pouvait être compensée par des motifs de hausse tels qu'une augmentation des charges. Elle considère en outre que les intimés agissent de façon contraire à la bonne foi en invoquant le caractère abusif du loyer après 10 ans.
2.1 La recourante soutient que le rendement net des fonds propres n'est que de 2,21%, renvoyant sans autre explication au tableau de rendement net reproduit dans son mémoire d'appel. Or, la cour de céans statue sur la base de l'état de fait retenu dans l'arrêt attaqué (<ref-law>), et celui-ci est en l'occurrence muet au sujet du rendement des fonds propres. En outre, la motivation du recours doit figurer dans l'acte de recours; un simple renvoi comme en l'espèce au contenu de mémoires produits en instance cantonale n'est pas licite (<ref-law>; <ref-ruling> consid. 2.1; FLORENCE AUBRY GIRARDIN, in Commentaire de la LTF, 2009, n° 33 ad <ref-law>). Enfin, les faits auxquels la recourante renvoie semblent être ceux que la Chambre d'appel a déclaré irrecevables; la recourante ne démontre ni même n'allègue que ce faisant, la Chambre aurait appliqué arbitrairement le droit de procédure cantonal et ainsi violé l'interdiction constitutionnelle de l'arbitraire (cf. <ref-law> e contrario et <ref-ruling> consid. 2.3; <ref-law> et <ref-ruling> consid. 3.2). Il n'y a pas à entrer en matière.
La recourante se réfère ensuite à ce qu'elle estime être le loyer usuel du quartier, qui serait nettement plus élevé que celui payé par les intimés; elle estime incohérent de réduire le loyer en raison d'une baisse du taux hypothécaire sans tenir compte du fait que ce loyer est déjà en-dessous du loyer usuel. Toutefois, la Chambre d'appel n'a pas constaté quel était le loyer usuel du quartier, et la recourante ne lui reproche pas précisément d'avoir méconnu des allégations et preuves présentées en temps utile. Quoi qu'il en soit, la cour d'appel a relevé qu'il n'était pas admissible d'invoquer pêle-mêle des motifs de hausse absolus et relatifs, et la recourante n'a pas recouru contre le refus de valider la hausse de loyer, si bien que ce point est acquis; cela exclut de compenser la réduction de loyer due à la baisse du taux hypothécaire avec une augmentation du loyer.
Cette dernière remarque prive d'objet la question de savoir s'il existe d'autres motifs de hausse, ce qui ne ressort pas de l'arrêt attaqué. Dans son mémoire de recours, la recourante ne dit mot à ce sujet et ne soutient pas en avoir concrètement allégué. Ce n'est que dans ses observations qu'elle affirme sans autres détails avoir précisé que les critères invoqués à l'appui de la hausse de loyer pouvaient également servir à contester une demande de baisse de loyer sollicitée après une longue période de non-augmentation de loyer. Une telle motivation ne saurait suffire; elle semble au demeurant se référer au moins partiellement à des faits et preuves que l'autorité d'appel a déclaré irrecevables pour cause de tardiveté.
La recourante se plaint encore d'un manque de clarté sur les facteurs de baisse pris en compte par la cour d'appel. Le grief est infondé. Il est patent, au regard des chiffres retenus dans le premier jugement et confirmés dans l'arrêt sur appel, que la réduction de loyer est fondée exclusivement sur la variation du taux hypothécaire.
2.2 Une demande de diminution de loyer s'apprécie en règle générale selon la méthode relative. Le locataire peut demander une diminution notamment à cause d'une baisse des charges du bailleur, en particulier d'une baisse du taux hypothécaire de référence intervenue depuis la dernière fixation du loyer (<ref-ruling> consid. 3.2.2.2). Par dernière fixation, il faut entendre, en dehors de la détermination du loyer en début de bail, la modification du loyer correspondant à une adaptation à de nouvelles bases de calcul; une modification du bail qui ne remet pas en cause le montant du loyer, en d'autres termes qui ne constitue pas une nouvelle fixation du loyer en fonction de bases de calcul modifiées, ne constitue pas un point de référence pour juger de l'admissibilité d'une adaptation ultérieure (<ref-ruling> consid. 2a p. 126).
Lors d'une modification de loyer faisant suite à une variation du taux hypothécaire, il y a lieu en outre de voir si et dans quelle mesure les variations antérieures ont entraîné une modification du loyer (<ref-law> - RS 221.213.11). Il s'agit d'une brèche pratiquée dans la méthode relative. Le juge ne s'arrête pas à la dernière modification du loyer déclarée unilatéralement, mais poursuit son examen rétrospectif jusqu'à la dernière modification du loyer consécutive à une variation du taux hypothécaire (<ref-ruling> consid. 4b/dd). La portée de cette règle a toutefois été atténuée; le juge ne remonte pas au-delà d'une modification consensuelle du loyer, ou d'une transaction qui a pris en compte le taux hypothécaire, ou d'une précédente majoration de loyer fondée sur le taux hypothécaire que le locataire n'a pas contestée, ou enfin d'une fixation du loyer selon la méthode absolue (<ref-ruling> consid. 4b; cf. aussi <ref-ruling> consid. 3 p. 69).
Il découle de l'<ref-law> et de la jurisprudence y relative que le fait de renoncer même pendant une longue période à demander une baisse de loyer fondée sur l'évolution du taux hypothécaire ne prive pas en soi le locataire du droit de s'en prévaloir ultérieurement. Est seul déterminant le point de savoir si une fixation de loyer est intervenue dans l'intervalle et sur la base de quels critères elle a été faite.
En l'espèce, la variation du taux hypothécaire à prendre en considération est celle intervenue entre juin 2002 et mai 2009. La recourante elle-même souligne qu'aucune fixation de loyer n'est intervenue dans l'intervalle, ce qui scelle le sort du grief d'abus de droit, formulé au demeurant après l'expiration du délai de recours. Il n'est pas contesté que le taux a baissé de 0,5% et que cela entraîne une réduction de loyer de 5,66% (cf. DAVID LACHAT, Le bail à loyer, Lausanne 2008, p. 868). Le recours est infondé.
3. La recourante, qui succombe, supporte les frais et dépens de la procédure (art. 66 et 68 LTF).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge de la recourante.
3. La recourante versera aux intimés, créanciers solidaires, une indemnité de 2'500 fr. à titre de dépens.
4. Le présent arrêt est communiqué aux parties et à la Chambre des baux et loyers de la Cour de justice du canton de Genève.
Lausanne, le 9 février 2012
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente: Klett
La Greffière: Monti